Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: For the Record: Effects of Larger Hash Tables

Author: Robert Hyatt

Date: 09:42:50 12/03/05

Go up one level in this thread


On December 03, 2005 at 11:01:46, Paul Jacobean Sacral wrote:

>I would appreciate a couple of clarifying remarks as well, because this is a
>topic that's difficult to understand if you are not a progammer. Bacically, I
>was studying explanations of this in the past but didnt't understand all of it,
>and also do not remember all of it.
>
>My question is:
>
>How come that some solving times of test positions are worse (longer) with
>bigger hash tables, than with smaller hash tables?
>
>Yours truly Paul J. Sacral


That is just another artifact of hashing.  One example.

Suppose you search normally and reach a node P.  This is a complicated node to
search with lots of checks, captures, and so forth.  But if you do the search,
to some depth, you quickly discover that it wins a pawn and you get a quick beta
cutoff and don't have to search this entire sub-tree.  But make the table
bigger, and you might have enough space to save a search for this position P
from a previous search where you were able to search it deeper.  And in that
search we found this did _not_ win a pawn.

Now to the current point.  If we get a hash miss, we search with the depth we
have left and would conclude we win a pawn quickly and throw this position away
as a "beta cutoff" and not spend much time searching it.  But if we get a hash
hit, we get a completely different score, which is going to affect the nodes
before this one in the tree.

Suppose the normal case happens where we just avoid searching this sub-tree
completely because the table entry is outside alpha/beta and we can just quit.
But as an alternative, that table entry might be inside the alpha/beta window,
and we use the new score which could make the search bigger overall.

The point is, that a search to depth N without a hash table might well produce a
worse (less accurate) score than a search with a big hash table, because of how
searches get grafted from one part of the tree to another, if we have enough
hash memory to save them all.  Usually the effect is to just reduce effort and
make the search space smaller.  But in some pathological cases, we actually
increase the effort, because the search result is actually more accurate due to
the hash hits/grafts.

Hard to explain simply, but it happens reasonably frequently...



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.