Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: hash table collisions

Author: James Swafford

Date: 09:25:12 01/15/00

Go up one level in this thread


On January 15, 2000 at 11:38:53, Daniel Clausen wrote:

>Hi
>
>On January 15, 2000 at 09:40:51, James Swafford wrote:
>
>[snip]
>
>>If you use 20 bits to probe, why not just store the other 44 bits in the
>>table as a checksum?  You already know the other 20 bits match....
>>
>>I use a "minimum size", so my key is guaranteed to be N bits long.
>>My tables only use 64-N bits as the checksum.
>
>This surely will work too. I think most people don't do it because
>of one of the following reasons:

I know. :-)  That's why I do it.

>
>1. Most peoples hashentry is 128 bit wide. So if they use 64bit for
>   the complete hashkey, they still have 64 bit left. And for most
>   people this is more than enough.
>
>2. If you store only the 64-N bits in your hashentry, the size of
>   the hashentry changes if you change the hashtable size.

Yeah, it can get kind of sticky if you allow the 64-N bits
to be dynamic, but I don't.  The drawback is that I have to
use a minimum hash table size (key), but that's not a problem
with modern machines.


>
>3. If you would keep the hashentry-size constant (eg 128 bit) even
>   when you change the hashtable-size, you have a non-contant number
>   of bits you can use for storing additional info. It's not easy
>   to use this though.
>
>Hope this made some sense.

Of course. :-)

>
>Kind regards,
> -sargon



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.