Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Efficient hash algorithm?

Author: Robert Hyatt

Date: 05:03:13 09/22/98

Go up one level in this thread


On September 21, 1998 at 19:33:18, John Coffey wrote:

>>You should also have two hash tables, one with an "always overwrite" >replacement
>>policy and another with a replacement policy based on depth. Almost everybody I
>>know agrees that this is the best way to do things on a PC.
>
>When I studied hashing for other types of applications, the rule would be that
>if you has two items with the same hash key, then you would store the second
>in the next available empty slot.  This requires more data to keep track of
>where the next item is (could be a byte offset.)
>
>John Coffey

This is bad for two reasons:

1.  it leads to "chaining".  Once you have two entries back-to-back as a result
of this algorithm, the probability of another entry hitting this "chain" and
extending it is higher.  So you end up with lots of "clumps" in the table.

2.  Once you have a chain, you tax the PC's memory bandwidth because you have
to search the complete chain to find the match.  And the PC can't stand that.



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.