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.