Computer Chess Club Archives


Search

Terms

Messages

Subject: Hash tables and when to replace entrys?

Author: Inmann Werner

Date: 15:38:07 11/08/98


Hello all!

I work with hash tables since a year. And I often changed the algorithm, when to
replace a hash entry.

Hash tables have two reasons.
1) To store the value of a position, and if you get a hit, you reduce your
further tree search to 0.
2) for move ordering in the move generator, to get good moves at first.

Because of evaluation function and other problems, i clean the hash table after
each real move. (Do all do that?)
But I do not clean it really, I only set a flag cleaned, which means, that the
entry is dead for 1) (hash hit for value), but not for move ordering.

Now, with iterative deepening, the same move often comes, and there are requests
to put it into the hash table.
And here my problem begins.
for move ordering, it is best to have the deepest searched move in the table,
ignoring the value.
for cutoof hits, you need also deep searched values, but not the "cleaned" one
from previous searches.

How should the entrys be replaced?
What do other programmers do here?
Maybe have two hash tables?

Greetings

Werner






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.