Computer Chess Club Archives


Search

Terms

Messages

Subject: Bitboard question

Author: Russell Reagan

Date: 06:32:58 05/25/02


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.01 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.