Computer Chess Club Archives




Subject: Re: Replacement shemes

Author: Vincent Diepeveen

Date: 10:58:26 07/27/03

Go up one level in this thread

On July 27, 2003 at 13:51:28, Sune Fischer wrote:


Here what i write every few months in CCC. Because it is a few lines i will do
it again.

use a hashtable with n entries.

then find index hashkey%n;

%n is slower than a multiplication or an AND or a divide, but it's faster than a
divide and multiplication and sub.

Then sequential try 8 positions in a row. If each position is just 16 bytes that
makes 128 bytes. About the cache line length at the average supercomputer or a
P4. And just 2 cache lines of K7. I do not know about opteron. I guess it's also
128 bytes cache line length?

Anyway just always replace the smallest depth out of those 8 positions.

This works very well.

If you want to keep inside 64 bytes then try 4 probes. I found by experimental
data that 8 probes was optimal for DIEP.

Best regards,

>I've been trying some different hash schemes, and the one
>that should be the best completely fails to solve a few positions.
>Currently I use two tables, one of the criterias is to replace if it is the
>same key (so I don't get the same key in both tables, same philosophy as with
>killers moves), but only if the depth is greater or equal.
>For some reason this fails on fine70 and similar positions.
>If I do always replace on top of _the same_ key, then it works fine!?
>I don't see the logic in that, and I'd really prefer to keep the deeper entry,
>Could this indicate a bug, or can it be explained/fixed?
>Currently I'm trying replace if LOWER bound (beta cut) or deeper, seems to work
>well also, I still don't get it though.

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.