Author: Antonio Dieguez
Date: 07:16:20 06/21/01
Go up one level in this thread
On June 21, 2001 at 09:56:50, Cheok Yan Cheng wrote:
>The below is a part of article picked from :
>http://www.ics.uci.edu/~eppstein/180a/970424.html
>------------------------------------------------------------
>struct {
> long checksum; // or long long might be even better
> int depth;
> enum { exact, lower_bound, upper_bound } entry_type;
> double eval;
>} hashtable[HASH_TABLE_SIZE];
>
>For each position you search, compute a "hash value" x indexing into the hash
>table and another "hash value" y for checking whether you've found the right
>position.
>
>Before searching a position, lookup hashtable[x]. If
>hashtable[x].checksum == y, hashtable[x].entry_type == exact, and
>hashtable[x].depth is at least the depth you are currently searching,
>return the eval stored there.
>------------------------------------------------------------
>
>For "hash value" x, I understand that it is generated using XOR from the table :
>64_bit_random_number[PIECE_TYPE][PIECE_LOCATION].
nope the 64 bit random numbers is used for the "hash value" y, or checksum or
key or id or whatever name you use.
The hash value x is only for indexing the hashtable.Can be up to 1,2,3,4,5...
whatever amount of bits depending on the size of the hashtable.
>1. For the "hash value" y that used for checksum, how should we generated it?
>2. What is checksum for ?
>
>thanks
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.