Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Using too-shallow mate scores from the hash table

Author: Robert Hyatt

Date: 16:59:04 07/07/98

Go up one level in this thread


On July 07, 1998 at 10:24:47, Don Dailey wrote:

>On July 06, 1998 at 13:04:17, Robert Hyatt wrote:
>
>>On July 05, 1998 at 14:14:36, Ernst A. Heinz wrote:
>>
>>>On July 05, 1998 at 03:18:22, David Eppstein wrote:
>>>
>>>>I found a new idea to add to my program yesterday...one of those
>>>>shouldn't-ever-hurt, could make a minor improvement ones.  Maybe it's only new
>>>>to me, but I didn't see it in a quick look thru the Crafty sources. If it helps
>>>>at all, it would only be in tactical positions where a lot of large subtrees
>>>>have mate scores.
>>>>
>>>>My eval has the property that it doesn't ever return a mate score unless it's
>>>>really mate (doesn't everyone's? actually it plays a different game than chess
>>>>and winning isn't called "mate" but who cares.)  So mate scores are special,
>>>>they might not be exact due to search extensions but they're always lower bounds
>>>>on the true score.
>>>>
>>>>The new idea is, when I find a mate, save the position in the hash table, and
>>>>look it up again later (say in the next round of iterated deepening), if the
>>>>hashed mate score is greater than beta, I use it even when the hashed draft is
>>>>less than the depth I'm currently searching.  The new deeper search would have
>>>>found at least as good a score anyway, so you can just cut it off earlier and
>>>>save time. Same when eval is negative mate and is less than alpha.
>>>>
>>>>Stupid huh?
>>>
>>>No, not stupid at all -- just obvious and straightforward. I have used it
>>>with good success in "DarkThought" for a long time. :-)
>>>
>>>Moreover, I increase the draft of *exact* mate scores by 1 ply which
>>>definitely saves some nodes in many positions.
>>>
>>>=Ernst=
>>
>>In Cray Blitz (and in crafty, unless I have broken it) I store mates with a
>>"draft" of infinity, because a mate is independent of any draft, and is *always*
>>correct.
>>
>>I don't see why you'd do any different, unless one were to somehow be suspicious
>>of their mate scores.  When I store a mate score, I do adjust it to be relative
>>to the current ply, but that's all...
>
>
>This is how we do it in Cilkchess.  This is one Chris Joerg came up with,
>I had never thought too much about it.  It turns out not to be a noticable
>improvement but it is just common sense.
>
>We also "massage" our mate scores to be always correct.  If it's mate in
>5 in the hash table it's mate in 5 from that exact position.  We had to
>"fix" this when we stopped clearing our hash tables between moves and
>also the parallelism seems to increase the strange anomolies from not
>doing this correctly.
>
>- Don


I'm not sure I understand your last paragraph.  A hash entry is an absolute
position.  And from that position it is mate in N whether it occurs at the root,
or at a tip, which means whether you clear hash scores or not (I do on rare
occasions although I don't destroy the best move) mate scores should be good
across iterations *and* searches, if you store them as mate in N from *here*
rather than mate in N from "somewhere back there"...




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.