Computer Chess Club Archives




Subject: Re: Hash table efficiency

Author: David Rasmussen

Date: 14:52:11 12/05/00

Go up one level in this thread

On December 05, 2000 at 15:21:02, Miguel A. Ballicora wrote:

>Too much of an introduction. My question is:
>How do you realize that your hash table is efficiently coded?
>from the initial position into ply 7 or 8 I have ~4-5% of the nodes
>hit in the hash table (position was found) but only ~10% of those hits (0.5%
>total) can be used to return a value (depth stored is >= than depth).
>Are these numbers reasonable?
>If I use two tables, one for overwriting always and the other to overwrite
>only if depth >= depth stored it does not change much.
>If the numbers are not reasonable, what would you try to change or debug?

When I was first implementing hashtables, I was displeased with the hit success
percentage I got. about 5-10% in the middlegame. And about 30-60% in the
endgame. Compared to Crafty, that sucked. After much thinking I realized that I
had forgotten to store in the hashtable after a nullmove search with a beta
cutoff. Adding this mad my hash hit percentage go to 15-40% in the middlegame,
and about 50-90% in the endgame. Also, when I tried to disable the hashstoring
for beta cutoff by nullmove in Crafty, I saw hashrates dropping to levels
comparable to where my program was before.

I think this is important, and I don't know if I was stupid to make that error,
but people almost never mention this source of error.

This page took 0.04 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.