Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: draw by repetition and hash tables

Author: Christophe Theron

Date: 08:15:01 07/26/98

Go up one level in this thread


On July 26, 1998 at 03:54:36, Pat King wrote:

>
>On July 24, 1998 at 06:14:04, Robert Hyatt wrote:
>
>
>>
>>
>>There are two issues:
>>
>>(1) *all* hash table scores are technically wrong almost all the time.  Because
>>*none* include path information in the key, yet most include path information
>>in the score.  Examples include repetition and 50-move draws.
>
>I have a solution to this problem, which may only work for my implementation,
>but here goes... I implement undo by storing a stack of positions for the entire
>game. It wouldn't be hard for me to modify this to include the current variation
>being considered. Then, when the terminal position is reached, you...
>  a) Examine the game history for draws by repetition or 50 moves. If found,
> return 0, else...
>  b) Consult hash. If found, return result, else...
>  c) Call static evaluator (or qsearch) store result in hash, and return result.

The whole discussion seemed cryptic to me, as I never experienced the problem.

But maybe it's because I do in Chess Tiger what you are suggesting: I check for
draw by repetition or 50 moves rules just after doing the move, and before
calling the search recursively. If I detect a draw, the position is given a nul
score, then I undo the move and go to the next one without storing anything in
the hash table.

I guess this is not a perfect protection anyway.


Note that a similar problem exists with draw detection: all modern programs
(except DB?) are using a threat detection scheme to forward prune useless lines
(it can be null move or just static threats detector, depending on your taste).
It works by pruning lines where a side has a score greater than beta and no
threats against him.

The problem is that it simply ignores the fact that doing a move here can draw
the position by 50 moves rules. So the score would not be greater than beta
anymore. It happened to me several times in won endgames.



    Christophe



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.