Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash hit ratios

Author: Pallav Nawani

Date: 12:03:33 09/30/04

Go up one level in this thread



Hello,

Your description of 'Hash Loops' seems normal. One way to avoid that could be to
test for rep - draws _before_ querying the hash table. In that case, you'd
return zero for the move Nh4+ and then continue on to a better move.

I will define 'Hash hit' as: a hash entry that produces a cutoff (either Exact
or Upper or Lower). Natwarlal manages 15% on the average, with the values
fluctuating between 7% and 40%.

You should compare your hash code with some other programs (Open them in two
windows, side by side and compare) to easily find the bug. Or maybe your scheme
is not very efficient. In which case I suggest you look at the hashing schemes
of Fruit, Phalanx, Gerbil & Sjeng Free.

In Natwarlal, I have combined Gerbil style Hashtable with Some Sjeng tricks. I
think that Fruit has an excellent replacement scheme as well.

Best regards,
Pallav



On September 29, 2004 at 19:15:58, Rick Bischoff wrote:

>Hello,
>
>I use an aging counter in my hash table, that is incremented after each "real
>game move"-- anyway, Do these stats look "normal" for you regarding hash hits,
>etc?
>
>A hash hit: keys match (thereby giving a good move to try)
>
>The rest of the scores below mean that there was a hash hit and that the stored
>depth >= current search depth:
>
>exact: stored age == age and flag == exact
>upper: flag = alpha with no referenece to age
>lower: flag = beta with no reference to age
>
>I did the whole invalidating exact aging scheme because my program kept on
>getting into "hash loops" in certain positions where it would keep on playing
>the same line over and over again, thereby converting a won game into a draw.
>
>I replace always EXCEPT where the search has the same age and less than equal
>depth to the stored entry.
>
>***** 11201 ms elapsed 1247030 nodes 111332 nps.  181809 probes %13.6242 hits,
>%0.0440022 exact, %2.67203 lower, %1.0577 upper. nulltry=127769 nullsec=84970
>ext:(mate=63,check=29699,pawn=143)



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.