[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [HELP] Zobrist Hashing
The basic idea is to set up big table of random numbers and use them to
incrementally
update the hash value for a position. In go, you would have 361 numbers
for white, 361
for black, and perhaps 361 for the ko point. When the state of a point
changes, just
xor the hash index with the corresponding random number. This is simple,
fast, and
gives a good hash distribution. If you use 64 bit numbers, use some bits
as index
into your hash table, and the rest as the tag for the entry, you have a low
likelihood
of sprious collisions (where the tag matches, but the position is not
really the
same).
Try a web search for Zobrist. It's commonly used in computer chess and
other games
with search.
David
At 04:56 PM 10/30/98 -0800, Mousheng Xu wrote:
>Hi,
> I read throught all computer-go posts containing the word "Zobrist", but
>can not figure out exactly what "Zobrist Hashing" is and why it is "good"
>for game playing.
> The original articles are not readily available. I searched Univ. of
>Washington Library system, but could not find it. Nor could I find any
>detail enough description on the Web.
> So, could some please give
> 1) An brief description about what "Zobrist Hashing" is, and why it is
>good for game playing?
>OR 2) Be generous enough to FAX me the original papers?
>
> Thanks a million.
>
>-- Mousheng Xu
>Phone: (425)489-8034
>Fax: (425)489-8019
>
>