Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: HASH TABLE

Author: Scott Gasch

Date: 23:17:48 10/08/99

Go up one level in this thread


On October 09, 1999 at 00:28:12, Nicolas Carrasco wrote:

>Can anyone tell me what is a HASH TABLE?
>
>How it is stored(FORMAT of position, binary examples)?
>

A hash table is a list of recently evaluated positions and their values.  These
values can either be exact or bounds (i.e. we know this position is worth at
least/most X).

Every programmer will have his own structure for a hash entry so I am not sure
that is a useful question.  Here is mine, fyi:

struct sHashEntry
{
        unsigned long uChecksum;
        unsigned short uDepth;
        enum
        {
                HASH_EXACT,
                HASH_LOWER,
                HASH_UPPER
        } eKind;
        int iValue;
        move mv;
        unsigned char bDirty;
};

(that's 66 bytes because of the sizeof(move)).  My hash is an array of 500k of
these (actually 500069 because it's a prime close to 500k)

I resisted firing up the debugger and dumping a binary example here... ;)

Scott




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.