Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Programming question: why clearing the hash tables?

Author: Dave Gomboc

Date: 16:53:46 08/24/00

Go up one level in this thread


On August 24, 2000 at 18:49:16, José Carlos wrote:

>  In Averno, I never clear the hash tables. I store the total material (sum of
>both sides) with the position, flags and move. So, when I'm going to store a new
>posotion, I check if the material stored is bigger than the material at the root
>of this search. In that case, I replace always. Otherwise, if the other tests
>point me to store the position, I save the actual material (in that node of the
>tree) with the position.
>  I know this could not be accurate when promoting occurs, but works fine most
>of the time.
>  Just curious, why do you guys clear the hash tables and when? I read here some
>days ago that Christophe clears before every search in Tiger, but is not going
>to do it in further versions. Can you reveal your secret? :)
>
>  Thanks in advance.
>
>  José C.

Increment a counter each time a new root position is searched (e.g. every time
your program plays a move in the game).   Include this counter in the
information that is recorded when a position is stored in the hash table.  This
now allows you to see if a position you encounter in the hash table is from the
current search, or how many searches ago it was from.

Your counter can be just a few bits long.  However, if you have a very large
hash table relative to the number of entries that are being overwritten per
search, then a too-short counter can lead to confusing some old positions for
new ones.

Dave



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.