Computer Chess Club Archives




Subject: Re: Problems with BitBoards?

Author: Robert Hyatt

Date: 20:58:29 01/12/99

Go up one level in this thread

On January 12, 1999 at 19:34:14, KarinsDad wrote:

>On January 12, 1999 at 08:59:33, Robert Hyatt wrote:
>>On January 12, 1999 at 00:11:02, KarinsDad wrote:
>>>On January 11, 1999 at 23:01:45, Robert Hyatt wrote:
>>>>On January 11, 1999 at 17:44:02, Bruce Moreland wrote:
>Ok, it's good to know that BitBoards have no major technical drawbacks (at least
>none were mentioned). However, Bruce mentioned that "Too many try bitboards and
>give up after they find some difficulties they can't overcome". This implies
>that there are some design or implementation difficulties which can be handled,
>but are there lurking in wait.
>Does anyone know what these may be so that I'm forewarned?

doing things purely incrementally sounds good at first, but is too slow,
because you often update a lot of stuff incrementally that is not used, and
the cost for doing that slows you down.  The "rotated bitboards" eliminates
this cost, and was the breakthrough that led me to continuing along that path
with Crafty, because I had decided that the incremental approach was going to
get killed by other approaches like 0x88, or like the approach we used in Cray

Once you get past the rotating stuff, it is just a matter of learning how to
'think bitmaps'.  The more you use them the easier and more natural it seems.
_then_ you are off and running for good...

Too many try something and give up at the first obstacle.  Which means they
were essentially doomed from the start, because _every_ chess algorithm has
some hurdles to overcome...

>Thanks in advance :)
>>>>The main point here is 0x88, bitboards, or whatever, you *must* make a
>>>>commitment to doing the best you can do, for a period of time sufficient to
>>>>make sure you extract all there is to extract from the approach.  Too many
>>>>try bitboards and give up after they find some difficulties they can't over-
>>>What difficulties can be experienced with BitBoards? So far, they seem to work
>>>great (or at least accurately, I haven't yet cleaned them up for performance).
>>>Okay, you can drop the other shoe now.
>>the approach works fine.  I have been using it exclusively for about 4 years
>>now in Crafty.  The problem is enumerating set bits into a list of to-squares
>>since we aren't yet using 64 bit architectures everywhere.  The bsf/bsr
>>instructions work well on the newer pentium-II type processors, but only on 32
>>bit quantities, which means at present bitmaps are somewhat clumsy.  But just
>>wait for 64 bit machines to come from Intel, or use a digital alpha, or MIPS
>>R10000, or a cray, and suddenly the bitmap advantage becomes quite real.
>>because we get much higher "information density"... since those processors pump
>>64 bits internally, programs not needing this waste density potential.  Bitmaps
>>need all 64 bits moved around, and when we get it for "free" it begins to pay
>>off pretty well...
>>>  Others try 0x88 and give up without ever realizing all the places it
>>>>is useful...
>>>>classic mistake to try and give up too soon...

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.