Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: regular hash key & pawn hash key together--good idea?

Author: Bas Hamstra

Date: 05:43:39 09/17/99

Go up one level in this thread


On September 16, 1999 at 16:08:23, Robert Hyatt wrote:

>On September 16, 1999 at 12:10:29, Bas Hamstra wrote:
>
>>I don't agree. I store 32 bits, but use the Index as to store 48 or more bits
>>*effectively*. I store a hashmove for extra checking. If the hashmove is not
>>legal it prints a message. I never see such messages.
>>
>>Regards,
>>Bas Hamstra.
>
>I am not sure what you "don't agree" with.  Storing 32 bits is fine (main
>hash) but it will _not_ work if that is all you compute for the hash signature.
>If you store the left-most 32 bits, and use the rightmost log2(size_of_table)
>bits for a probe address, you are effectively using far more than 32 bits,
>which was the point.. you _must_ use more than 32 or you will get collisions
>like nobody's business...

Ok, agreed :) I compute 64 bits, of course. But I think I use some 50 bits or so
effectively. The first half of the 64 bit key is stored and the second half
indexes into the table. Say the table is 65k entries. Then on the basis of 32+16
bits it is determined if a certain 64 bits key is the same one as the one in the
table. Works perfectly.


Regards,
Bas Hamstra.


>>On September 16, 1999 at 09:44:56, Robert Hyatt wrote:
>>
>>>On September 16, 1999 at 04:00:43, Tom Kerrigan wrote:
>>>
>>>>If you have a program with 64 bit hash keys, is it a good idea to devote n bits
>>>>to pawns and the rest to pieces and side-to-move?
>>>>
>>>>I was thinking a good balance may be 24 bits for pawns, but I have no data to
>>>>back this up. Does anybody else?
>>>>
>>>>-Tom
>>>
>>>If you are going to use them independently to probe tables (ie using the 24
>>>bits to probe the pawn hash table) then this won't work well.  24 bits is only
>>>16 million possibilities...  that will get more than a few collisions.  And
>>>the same for the upper 40 bits and pieces.  I know that 32 bits is not enough
>>>for normal hashing.  Stanback/I ran a bunch of tests years ago in a discussion
>>>on r.g.c.c and we got collisions by the bucketload with 32 bit keys.  64 was
>>>totally safe back then, although speeds are way up now compared to then.  I
>>>am using a 32 bit pawn hash signature, but a full 64 bit total hash signature.



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.