Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: "You are correct... " Thanks!

Author: Robert Hyatt

Date: 22:16:04 12/06/01

Go up one level in this thread


On December 06, 2001 at 20:39:30, Dan Newman wrote:

>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.


my numbers seem to match yours.  IE 2-4 secs on my laptop is about 1M
nodes or so.  Some positions made this climb, some made it go down a bit.
I didn't try WAC, I annotated some games that went all the way to 3 piece
endings (KR vs K and KQ vs K) to see the spread on the number of bad pawn
hashes.

Didn't fail once with 64, but failed badly with 32.  However, a tree with 1M
nodes is amazingly robust and seems capable of surviving such a random spike
in the evaluation with little in the way of bad side-effects.  Amazing...

But when I introduce a small bug, it all goes to hell instantly.  :)



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.