Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Fast hash algorithm

Author: Robert Hyatt

Date: 16:51:44 01/08/98

Go up one level in this thread


On January 08, 1998 at 17:57:13, John Scalo wrote:

>Reviewing the bottlenecks in my program, I realize that my hash key
>algorithm is fairly inefficient. It uses the Zobrist algorithm for
>creating keys from relatively large structures like an [8][8] array, but
>it's too slow.
>
>I would think that having bitboards of white's and black's pieces would
>be sufficient to come up with a 32-bit key quickly, but I haven't been
>able to come up with anything that gives a "random" enough distribution.
>
>Any ideas? I looked at Crafty but couldn't figure out exactly what it
>was doing.
>
>Thanks,


the main "key" is to compute the hash key incrementally as you make and
unmake moves, rather than looping over the entire board to construct the
thing before you do a probe.  The nice thing about the "exclusive-or"
operation is that if you exclusive-or the same value with the hash key
a second time, it undoes the first exclusive-or... so you can easily
update
the hash key as you move pieces around...




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.