Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashing is a complicated affair ?

Author: rasjid chan

Date: 12:24:11 04/05/04

Go up one level in this thread


On April 05, 2004 at 14:44:04, Dann Corbit wrote:

Maybe you miss my point. Actually I have no references about the
technical "intricacies" about hash table implementation and
I rediscover "new" things about hashing all the time which is BAD.
So I post this to hope someone just confirm with me once if my
analysis could be way wrong!

I did have all the assert()s, you mentioned and I may be the top in using
assert().

Best Regards
Rasjid


>On April 05, 2004 at 12:54:30, rasjid chan wrote:
>
>>
>>I think most chess programmers implement hash tables my way, ie
>>by thinking it thru themselves. All the internet articles I found
>>about hashing only mention the the bare idea of hashing. I am not sure
>>whether any book on chess programming devote a full chapter on hashing
>>and if they do, what details do they provide.
>>
>>I remember a certain professor (Marsland) who wrote something like...
>>the bulk of chess programming bugs come from hash-tables....
>>alpha-beta interacts with hash-tables in strange ways...
>>
>>At least they interact strangely for me. Every a little while, it seems
>>something new turn up and I just have to post one example, a recent
>>observation,to this forum to be safe that I am not way wrong !
>>
>>I do fail soft and fails / hash outside window bounds.
>>If on a hash probe and the hash is EXACT and fails high,
>>I return hash value ( > beta). The ply below fails low with
>>this "exact score".
>>
>>If after seaching all moves of a node and it fails low with a best-score
>>< alpha, the normal hash is hash as best-score as upper bound.
>>But if this best-score happen to be "exact", I fail low but hash as
>>EXACT.
>>
>>Hope I am not missing something big ?
>
>Here are some hashing safeguards:
>1.  If you are in debug mode, do a full recompute of the hash and compare it to
>the incremental hash (both after makemove and unmakemove).  If something is
>different you have a bug.
>2.  Check reversing colors -- is the hash different?
>3.  Check all castle states -- is every hash different?
>4.  Check all 16 e.p. values -- is every hash different?
>
>Check what happens when you do a null move both make and unmake



This page took 0.01 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.