Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashing is a complicated affair ?

Author: Dann Corbit

Date: 11:44:04 04/05/04

Go up one level in this thread


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.