Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash replacement question

Author: Robert Hyatt

Date: 04:45:40 01/15/98

Go up one level in this thread


On January 15, 1998 at 07:19:48, Amir Ban wrote:

>
>Often when you evaluate a node, you have a situation where you can
>record a bigger depth in the hash entry, but the eval info is less
>exact. What do you do in this case ?
>
>As an example, suppose your best move was e4 up to ply 6 with value
>+0.10, and then at ply 6 you find d4 is better. At ply 7 d4 is still
>best with value +0.20. When you evaluate e4 at ply 7, you have the
>choice of updating e4 to 7/LE 0.20 or leave it as 6/EQ 0.10. There are
>advantages and disadvantages either way.
>
>Amir

If you use the two-level approach, you can do both.  IE, the approach
used by Ken Thompson in Belle had two tables, one "always" replace, one
depth-preferred.  I have modified this slightly so that the
depth-preferred
table is the same, but the other does not get overwritten always.
Rather,
if the depth-preferred table gets overwritten, the entry getting
overwritten
is moved to the always-store table.  Otherwise the new entry is written
to
the always store table, and the old sticks in the depth-preferred table.

This means you *can* get two hits.  I've never measured this in Crafty
to
see if the second hit provides anything useful that the first didn't.  I
didn't  implement this change for that reason, in fact.  It sort of acts
(now) like a two-level cache.  Depth-preferred is usually the best place
to get a hit, but the other is good also...



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.