Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashtable size: diminishing returns?

Author: Tom Kerrigan

Date: 07:37:09 03/28/00

Go up one level in this thread


On March 28, 2000 at 09:18:06, Gordon Rattray wrote:

>On March 28, 2000 at 07:59:43, Tom Kerrigan wrote:
>
>>On March 27, 2000 at 12:26:02, Gordon Rattray wrote:
>>
>>>How much benefit can one expect by supplying more RAM for hash tables?  I'd
>>>guess that moving from, say, 32Mb to 128Mb would be a significant improvement
>>
>>I'm not sure about this. At least with my program, having _A_ hash table is a
>>significant improvement, but the size doesn't matter that much. Anything over,
>>say, 1MB just changes things by a few percent here and there.
>>
>>-Tom
>
>What I don't understand is this...  I'm sure I've read somewhere that the search
>efficiency of Fritz degenerates significantly once the hash table has been
>filled.  This suggests to me that a bigger hash table would allow it to search
>more before the efficiency drops.  Also the drop may be slightly less?!
>
>Also, as a simplified example, wouldn't a program perform better if it can keep
>a hash table entry for all positions within a 6 ply search as opposed to 5 ply?
>Surely, a further search to 7 ply would then be quicker for the former case (all
>6 ply entries)?
>
>Please note that my understanding of chess algorithms is limited and mainly
>involves alpha-beta.
>
>Gordon

Yeah, this stuff is kind of confusing to me, too. But two comments.

There are two possibilities regarding Fritz. First, the move ordering is not so
good. A bigger hash table means a bigger crutch for move ordering. Second
possibility: Fritz's hash entry replacement scheme is not so good. A bigger hash
table means a bigger chance that the important entries will stay in it longer.

Second comment: the effectiveness of the hash table depends on the depth of your
search. If you add a hash table to a program that only searches 3 ply, its
effectiveness will be almost nil. If you make a mistake ordering moves during a
3 ply search, you might end up searching maybe 50 extra nodes or something.
Whereas if you make a mistake ordering moves during a 10 ply search, you might
end up searching a few extra million nodes. So the important thing is that the
hash table contains entries for the high-depth nodes. I guess that ~1MB of
high-depth entries will allow you to avoid the big move ordering mistakes.

So my conclusion is that if you have a pretty good move ordering scheme and a
pretty good hash entry replacement scheme, you only need a small hash table. I
could be totally wrong about all of this, though.

-Tom



This page took 0.01 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.