Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashing algorithm.

Author: J. Wesley Cleveland

Date: 11:25:18 01/21/00

Go up one level in this thread


On January 20, 2000 at 20:24:58, Bruce Moreland wrote:

>On January 20, 2000 at 17:52:11, Sanjiv Karnataki wrote:
>
[snip]
>
>Initialize this array with random gibberish.  This is actually fairly hard
>because you can't just unthinkingly use "rand()", which only returns 15 bits of
>random gibberish.  You have to figure out a way to get crap into all 64 bits,
>which you can do if you do some shifting.
>

Bruce didn't mention that it's better to have your own function, so you can use
the *same* random gibberish each time. There are 2 1/2 reasons for this:

1. If you want to check for transpositions to book positions, you need the same
random gibberish that you used to generate the book.

2. Some random gibberish is much worse than others, leading to excessive
transposition table collisions, so it is good to find some that is near the
theoretical minimum and use them.

2 1/2. Related to this, if you use different random gibberish each time, it will
make debugging transposition problems much more difficult, as the transposition
table would behave differently on each run.



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.