Author: Vincent Diepeveen
Date: 06:09:07 10/17/00
Go up one level in this thread
On October 16, 2000 at 19:28:57, Bruce Moreland wrote:
>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
my check detection: if( AttackTables[xside][kingsquare] )
flag |= kingincheck;
>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.
nothing faster as O(1) lookup :)
>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.
i think bitboards do not give enough at 32 bits machines for sure
no matter what you plan to do with them. At 64 bits machine we can talk
about it. A combined approach seems best then. bitboards for pawn structures
and open file/rank detections, and other datastructures for the rest.
>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.