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.