Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How to create a set of random integers for hashing?

Author: Robert Hyatt

Date: 06:36:52 10/18/98

Go up one level in this thread


On October 18, 1998 at 07:41:29, Amir Ban wrote:

>On October 18, 1998 at 05:46:50, Ed Schröder wrote:
>
>>Since ages I use the following formula for creating a set of random
>>integers for hashing at program start:
>>
>>#define LENGTH 64*12
>>
>>int random [LENGTH];
>>
>>int a,b,c,d,x;
>>
>>srand(9);                    // initialize prime number
>>
>>for (x=0; x<LENGTGH; x++)
>> { a=rand(); b=rand(); if (b & 1) a=a | 0x8000;
>>   c=rand(); d=rand(); if (d & 1) c=c | 0x8000;
>>   random[x]=(a<<16)+c;
>> }
>>
>>I wonder how good such a system is and how others do it.
>>
>>- Ed -
>
>From the definition of LENGTH I guess these are piece-square tables you are
>generating.
>
>I do the same, but I generate 48-bit numbers (actually only 45-bit, because I
>don't bother completing the MSbit), not 32-bit as you do. I think it's generally
>acknowledged that 32-bit is not enough ?
>
>Amir


He is actually using more than 32 bits.  We had a long discussion about
this last year, where he is storing the move that produced this position
(the move that takes him from the parent position to the current position
in addition to the best move from this position).  This is another way of
adding bits (in his case I'd say the effect is like an extra 8-12 bits of
hash signature...)



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.