Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Gambit 2 and hash tables

Author: Christophe Theron

Date: 23:35:24 04/29/01

Go up one level in this thread


On April 29, 2001 at 23:05:45, Robert Raese wrote:

>On April 29, 2001 at 13:31:51, Christophe Theron wrote:
>
>>On April 29, 2001 at 01:21:21, Feivel Avrum wrote:
>>
>>>I have been testing Gambit with differing hash sizes and have come to
>>>conclusions I do not exactly understand. The NPS varies depending on the free
>>>memory, free resources, load on CPU etc. Yet the "pattern" when using different
>>>size hash tables remains fairly constant. The results on a machine with 256 Meg
>>>RAM are:
>>>
>>>HT   Difference from baseline in NPS
>>>  1  +10K
>>>  3   +8K
>>>  6   +5K
>>> 12   +2K
>>> 24    0 (Base)
>>> 48   -4K
>>> 96   -7K
>>>192  -17K
>>>
>>>Can someone please explain the meaning and significance of these results.
>>>
>>>Feivel
>>
>>
>>
>>This behaviour is absolutely normal.
>>
>>What you need to know is that the decrease in NPS coming from bigger hash tables
>>is widely offset by the decrease in the size of the tree.
>
>pardon my ignorance... why does the size of the tree decrease?



Because with a bigger hash table, Chess Tiger can store more intermediate
results before they get overwritten.

So more transpositions are detected, and when a transposition occurs the program
does not need to search from this position again. So the tree is smaller if the
program can find more transpositions, which is the case when the hash table
(also called transposition table) is bigger.

The hash table also stores other informations which help to search less
positions. For example in each position which has already been searched (deep or
not), the program remembers was what the apparently best reply in the position.
This saves some work, because searching first good moves allows big savings with
the alphabeta algorithm.

It's exactly the same for human players thinking about a position. If you think
about a move and there is a refutation, as soon as you have found the refutation
you give up on this move and try to find a better one. If you don't see the
refutation immediately, you are going to waste some time.

In the case of the computer, the hash table stores these refutations for the
moves that have been already seen at a given depth. When the program tries the
moves again with a bigger depth, it begins by looking at the refutation.
Generally the refutation still works even at the bigger depth and a lot of work
is saved.



    Christophe



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.