Author: Dan Newman
Date: 17:39:30 12/06/01
Go up one level in this thread
On December 06, 2001 at 10:49:48, Robert Hyatt wrote: >On December 06, 2001 at 04:57:03, David Rasmussen wrote: > >>On December 06, 2001 at 00:20:24, Robert Hyatt wrote: >> >>>I ran the test and you are absolutely correct. 32 bit pawn hash keys >>>are not usable. I am not sure when I went to this, but I did look back >>>thru my test results in my file at the office, and the last time I did any >>>hash sanity testing was when I did use 64 bits. Since I made the change to >>>32 I apparently didn't test well enough. >>> >>>It is a trivial change to fix, and Crafty is now back to 64 bit signatures. >>> >>>Glad you took the time to test and kept the idea "alive". You were >>>certainly correct about the number of collisions... and it has to be >>>unacceptable. >> >>Thanks! Finally... I was beginning to think I was insane or that my computer had >>faulty RAM or something :) >> >>We agree then. Do you think 48 bits could do it? Probably. But it's not worth >>the effort, now that you (and I) already have a 64-bit type. The PawnHashTable >>doesn't need to be "big" anyway. >> >>You are saying that Bruce uses 32-bit keys. Is this true? He has the problem >>too, then. >> >>/David > > >I am not sure. I _think_ he said he was using three 32 bit hash values. One >to store in the real hash table, one to index the real hash table, and one >(pawns only) for pawn hashing. But I might well have not remembered correctly >here. My only question right now is how I chose to go to 32 bits without >checking it properly. It shows up too easily. Which suggests that I simply >"did it" after someone reported that it worked for them. And that is not >something I usually do. > >Which leaves a mystery. why would I go to 32 bits without testing? Or did I >simply use a broken test? > >No idea... Just to throw some more confusion into this discusion, I decided to run the 32-bit test on my program (Shrike). I currently use a 32-bit key and a separate (usually 18-bit) index for an effective hash code of 50 bits. I didn't get collisions with 50 bits--though my tests have only run a few minutes. When I trimed the key down to 14 bits for an effective hash code of 32-bits I got 62 collisions out of 66 million probes, which seems quite a bit lower than the 300 out of 10,000 figure quoted elsewhere... I think that rate might still be unacceptable because it tended to produce a few large bursts (less than a second in duration) which might increase the probablility of a misevaluation changing the selected root move (just an intuition). None of the results for the test suite I was doing this on changed though. I suspect, if you are getting a really high collision rate, that there might well be something rotten in the "random" number table... -Dan.
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.