Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Bitboard question

Author: Vincent Diepeveen

Date: 13:29:31 05/26/02

Go up one level in this thread


On May 26, 2002 at 11:33:26, Robert Hyatt wrote:

>On May 25, 2002 at 09:50:27, Vincent Diepeveen wrote:
>
>>On May 25, 2002 at 09:32:58, Russell Reagan wrote:
>>
>>A few rude things can be done pretty quick with bitboards
>>at 64 bits processors, which is what Bob aimed at a year
>>or 10 ago,
>>but as soon as you want to evaluate things in detail, then
>>please remember what bitboards are: they provide 1 bit of
>>info a bitboard about a square. That's very little info.
>

May i refer to our discussion a year ago where i took
attacktables and keeping them incremental updated as
example.

Best regards,
Vincent

>OK.. you have an array board[64] (or whatever).  Exactly how much
>info does board[i] provide?  ie assume a white knight is on square
>i.  Exactly how much information do you get from board[i]?  From
>my "white_knights" bitboard I find the location of _all_ white
>knights.  Not just one...
>
>Your example is not so  good...
>
>
>>
>>So obviously when you require many details about a certain
>>square, which makes other methods galaxies faster
>>than bitboards.
>>
>>There are even several ways to do it faster.
>
>
>Including faster than the way you are doing things.  Bitboards have some
>serious advantages on 64 bit machines, and they make evaluation very nice
>in many cases...  Particularly when looking for "patterns"...
>
>
>
>
>
>>
>>>I hear about how great bitboards are because they [insert one of the many
>>>reasons here]. I'm interested in two reasons in particular, because I do not see
>>>how these reasons work.
>>>
>>>The first thing I'm curious about is computing whether or not a square is
>>>attacked by a certain side. This is supposed to cost about a couple of array
>>>lookups and an AND operation, right? Look up the white king bitboard, look up
>>>the black pieces attack bitboards, AND them together, and you can tell if the
>>>king is in check. That's what I've always heard anyway. Clearly this is much
>>>faster than ray tracing the board looking for opposing pieces, but I don't see
>>>how this bitboard method would even work. For example, for this to work, you
>>>have to have a valid "black pieces attack" bitboard. To compute this you could
>>>OR together all of the attack bitboards for each piece. The problem is that you
>>>have pseudo-attacks. So this computation above where bitboards calculate whether
>>>or not a square was attacked really only says "this square MIGHT be attacked",
>>>right? At which point, you would have to do the ray tracing anyway, and it's not
>>>really any faster, right? I'd like some clarification on this.
>>>
>>>The other thing I recall Bob saying was that using bitboards you can calculate
>>>mobility for "free". Again, this seems like you could calculate pseudo-mobility,
>>>but to calculate actual mobility, you'd have to do ray tracing just like you
>>>would with another board representation scheme. I'd appreciate some explaination
>>>of this also.
>>>
>>>Thanks,
>>>Russell



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.