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.