Computer Chess Club Archives




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

Author: Don Dailey

Date: 07:24:47 07/07/98

Go up one level in this thread

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 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.
>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*
>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

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.