Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: programming questions

Author: Inmann Werner

Date: 13:13:03 08/24/99

Go up one level in this thread


On August 24, 1999 at 15:01:05, Scott Gasch wrote:

>>It is a terrific help.  First thing you do in Search() should be to probe the
>>hash table, as a hit prevents further searching of any kind.  If you find the
>>position, but the depth is not sufficient to use, or the bound that was stored
>>is not useful, you should still try the 'best move' that was stored in the
>>hash entry, before trying any other moves at all, including captures.
>
>So if you get an UPPER or EXACT hit and the depth makes it not useful OR if you
>get an UPPER hit and the current alpha < hash value then you should still
>proceed to order the best move of the hash table first when you order the
>successor moves from this position.
>
>However, if you get a LOWER hit there is no best move -- right?  Since LOWER
>hash entries come from prior fail highs I store no best move with these hash
>entries.  This makes sense to me because there really is no best move for fail
>highs... is this the correct behavior?
>
>Gee, I thought hashing was pretty easy when I first wrote it but now I'm
>beginning to see the complexity.
>

Yeah!
Hashing is not so easy if you look in detail. Getting the right mate score,
handling draws by repetition in hash, managing extensions and hash, overwriting
hash entries, hash entries and Qsearch....

Werner

>Thanks,
>Scott



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.