Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash codes (test results)

Author: Dan Newman

Date: 18:41:25 11/14/01

Go up one level in this thread


On November 14, 2001 at 11:00:29, Gian-Carlo Pascutto wrote:

>On November 14, 2001 at 07:10:35, Dan Newman wrote:
>
>>I decided to try an experiment to see if I got different results on a
>>test suite using just 32 bits.  Part way into the test, Shrike crashed.
>>So it looks like I've probably got a bug in my hash table move validity
>>checker.  Looks like 64 bits spares my program from such failures--so
>>it has at least some utility :).
>
>On the contrary, I would say. Thanks to 32 bits hashing you have now
>discovered a dangerous bug that was luring around in your programand surely
>would have triggered at a critical time in a tournament :)
>

That's certainly true, and I did have a crash during CCT3, IIRC :).  OTOH,
in much the same way the errors allowed in by the 32-bit hash key could,
perhaps very infrequently, cause the loss of a tournament game...

This is certainly a good way to find bugs though.  (I'm not sure I really
understand this one since I also use the same move validity routine to
vet the killers.  The killers will be in error at a very much higher
frequency, too...)

>I did a run of 90 positions, at 1 minute on my Athlon 1000, with
>32 and 64 bit hashing:
>
>             32 bit          64 bit          Ratio
>-----------------------------------------------------
>Nodes:    574508449       564330729          98.23%
>Time:        186910          193491         103.52%
>Depth:           10.40           10.36       -0.03
>Solved:          58              58
>
>
>The fluctuations are entirely within the range that I would
>expect from just choosing another random seed for the hash
>number generator. So, I do not think it makes a difference.
>--
>GCP

It is certainly possible that using 32 bit hash codes won't make a
very big or even measurable difference overall.  (The occasional game
might be lost, or even won, due to increased errors from using only
32 bits.)  If only one position is in error out of say 100k due to
using a 32-bit hash code, it seems like the effect could be swamped
out by the massive number "errors" made by the static eval.  But this
is just speculation.  I'm not sure how I could convince myself to
take the risk when 64 bit hash codes should virtually eliminate the
problem.

Measuring this could be difficult.  Suppose the difference in strength
is only 5 ELO points.  You'd have to play quite a few games to see this
difference.  A lot of "improvements" in chess programs are probably
smaller than this and can only be seen in combination with other such
small improvements.  The accumulated effect of such small improvents can
be very large of course, but knowing which are actual improvements seems
very nearly impossible.

I suspect going from 32 to 64 or 64 to 32 bits might be one of these
cases...

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