Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How to handle HUGE hash table?

Author: James Flanagan

Date: 15:58:14 03/29/00

Go up one level in this thread


On March 29, 2000 at 10:41:00, Tom Kerrigan wrote:

>On March 29, 2000 at 09:34:11, James Flanagan wrote:
>
>>Dann Corbit recently distributed a set of "difficult" positions, asking people
>>to try solving them with different computer programs.  I attacked the second
>>position with a modified version of Crafty 17.10, which found the draw after
>>about 18 hours on my AMD K6-2. The answer came around ply 16. There were 52 (!)
>>legal moves in the root position.
>>
>>My 48M hash table was clearly inadequate under these circumstances.  Does
>
>I'm interested in how you came to this conclusion.
>
>-Tom

Two people asked the same question, so I guess I need to explain my reasoning:

The hash table stores information about positions that have already been
evaluated by the program.  Each position requires several words of RAM to
describe its characteristics and evaluation score.  Assume that each position
takes 48 bytes of memory. Then the storage capacity of a 48Mb hashtable is

48,000,000 / 48 = 1,000,000 positions

Crafty, on my clunky old AMD K6-2, visits around 140,000 nodes per second.  If
10% of these positions are stored to the hash table, then 1,000,000 hash table
entries are filled in

1,000,000 / (140,000 x .1) = 70 seconds.

However, my run was 18 hours long.  That's why I was concerned about hash table
size.

Although I was using Crafty, the Fritz user's guide gives the same method to
calculate Fritz's hash table capacity.  Bob Hyatt, Crafty's author, recently
wrote that he uses a 48M hash for normal games, but goes up to 192M for long
games (but I don't think he was considering 18 hours per move).

When you run out of hashtable memory, old data is dumped to make way for the
new.  If you revisit a position that has been dumped, it has to be reevaluated
from scratch.  Nothing terrible happens -- your program just runs a little
slower.

This raises an interesting question:  how hard would it be to output these hash
table statistics?

-Jim Flanagan



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.