Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How to handle EGTB stalemates

Author: Tom Likens

Date: 13:57:15 03/02/03

Go up one level in this thread


On March 02, 2003 at 16:30:58, Dieter Buerssner wrote:

>On March 02, 2003 at 16:11:32, Tom Likens wrote:
>
>>Whenever I store an EXACT hash position I also store a move along
>>with it.
>
>When you are mated (in "normal" search), don't you store this in the hash? (I
>do). When you are stalemated (in "normal" search), don't you store this in the
>hash? In both cases, you don't have a hash move. I store "a1-a1" in either case
>as best move (which can mean: no move available, or move unknown).

Yes, I do just what you mention I store "EmptyMove" in both of these
situations.  Which, as you indicated works just fine.

>Correct. However, I cannot understand why you need a move. The above two
>examples will not have a move either, but are perfect candidates for an exact
>score.

I think you misunderstood slightly, I don't need a move I just want to make
sure that I store the "EmptyMove" rather than some illegal move.  The
dilemma was detecting the tablebase stalemate so that I could avoid storing
a garbage move.

>Is it perhaps just an initialization problem? You didn't store a move, and a
>move from an earlier entry is left? Just clear the move when you hit TBs, or >use an idea like further down.

Yes, I think this is *exactly* how the illegal move was getting stored.

>>I'm not sure how disallowing root tablebase cutoffs fixes the problem.
>
>My comment about the root possibly was confusing. Only at the root, you need to
>return a move, to make an engine work. Deeper in the tree, a score is enough. A
>move is nice, when available (to have a PV). The search will work perfectly
>without a move deeper in the tree (of course, there are more subtelties, like
>move ordering).

[--snip--]

>>I'm curious, in Yace do you store a hash move for EXACT and LOWER
>>bound hash matches.
>
>When I have a move available - I store it - yes. Even for upperbounds, too (the
>best "fail soft move"). When none is available, I flag this (typically by
>"a1-a1").

This is similar to what I do, although I don't score UPPER bound moves.
Something to add to the list of things to try.

>>Do you also store a hash move when you encounter a tablebase draw?
>
>Yes and no. I store a special move (any never legal move would do, like a1-e2),
>to flag this position as TB hit. But the reason is not to have a move, but
>rather to know, that the position is from TBs, so that later the score will be
>good for a cutoff independent of the depth/draft. Storing a1a1 would also work,
>but would make TBs a little bit less efficient (or would need to store the "this is from TB"-info somwhere else in the hash entry).

I've actually considered adding such a flag to the hash entries for just
this reason, but haven't gotten around to it yet.  Soon...

thanks,
--tom

>Regards,
>Dieter



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.