Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Is Bitboard worthy?

Author: Bruce Moreland

Date: 16:28:57 10/16/00

Go up one level in this thread


On October 16, 2000 at 06:32:53, Pham Minh Tri wrote:

>I know that Bitboard makes move generation the fastest, but this structure is
>also one of the most complicated. However, an old post said that the generation
>function is not the key of success to chess program and the author illustrated
>that after his optimality (which made that function work much faster), the speed
>of system increased only 1 percent.
>
>As a result, my question is: is bitboard really worthy for implementation when
>it takes a long time to program and more time to fix all bugs (maybe several
>times bigger than the rest of program)? Or is it better if we use this time to
>concentrate on hash table, null move threshold and so on? I plan that I will
>forget the bitboard (at least in the first period) if it help me only few
>percent.

Bitboards are fine, but:

The problem I have with these "which are fastest" threads is that they are like
asking which is fastest:

1) Jet airplane.
2) Car.
3) Bicycle.
4) Feet.

You can't answer this question, because I haven't told you where the course is
or how long it is.  Some of these have high startup overhead.  Some are not
adept at handling certain terrain.  Some are not maneuverable.  For example, if
you are trying to go a mile in an urban setting, during a traffic jam, a bicycle
is probably your best bet.

OK, this analogy is stretching a bit, but my point is that move generation isn't
the whole program, and the parts of the program affect each other.  You can't
answer the question unless you have an idea how your choices affect the rest of
the program.

How you do move generation will affect how you do check detection, if you do
that, and static exchange evaluation, if you do that.  Move generation can
affect the terms you have available in the eval function, and it very obviously
can affect the rate at which you can make and unmake moves.

Back to the bitmap thing.  With bitmaps the way Bob does them you get quick move
generation.  I think you probably get fairly slow makemove, compared to what you
could get.  Maybe you get a quick in-check, I don't know.  You get eval terms.
Is this good?  I don't know.  I think this stuff can be done faster, but you
have to figure out how to get the eval terms.

bruce



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.