Author: Robert Hyatt
Date: 08:33:26 05/26/02
Go up one level in this thread
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. 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.