Author: Robert Hyatt
Date: 10:49:48 10/18/98
Go up one level in this thread
On October 18, 1998 at 09:55:59, Amir Ban wrote: >On October 18, 1998 at 09:36:52, Robert Hyatt wrote: > >>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...) > >??? > >If you treat the move that produced the position as part of the key, then you >will not recognize transpositions. > >Amir Not as part of the key... I think he matches the normal 32 bit key, but then confirms that the move that came from the parent could be a move before *this* position as well. IE if we get a hash match at ply=10, we hope we have a best move to play at ply=10 from the hash table. Ed (I think I am right, Ed can comment) stores the move played at ply=9 to get to ply=10, to be sure that this move was played somewhere in the path. If not, it is treated as an error... I like the 64 bit hash signature myself, particularly since 64 bit machines do this for free...
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.