Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash Table Collisions

Author: Tom Kerrigan

Date: 13:05:33 04/12/00

Go up one level in this thread


On April 12, 2000 at 14:03:21, KarinsDad wrote:

>On April 12, 2000 at 12:08:37, Tom Kerrigan wrote:
>
>[snip]
>>
>>I don't care for this method because you have to go through your entire hash
>>table and set these bits. That takes about as long as clearing the hash table,
>>which makes it unreasonable to have large hash tables for fast games.
>>
>>What you can do is take any leftover bits in your hash entries and use them for
>>a counter. Every time you start a new search, you increment the counter. If you
>>find an entry with an old counter value, you can toss it.
>>
>>-Tom
>
>I like it. What size counter do you use? 2 bytes? 4 bytes? How large does your
>hash table get?
>
>KarinsDad :)

I have a byte in my hash table entries to indicate what type of score the entry
is (alpha, beta, pv). That only takes 2 bits, so i use the remaining 6 bits for
a counter. So the counter can go to 64.

I figure if an entry is lucky enough to avoid being clobbered for 64 searches,
it deserves to stick around for one more. :)

I usually set my general hash table size to 16MB. I have 128MB RAM, but I like
to be able to just fire up my program with no swapping. I have no idea how fast
I "burn" entries. Maybe I'll test that later on.

-Tom



This page took 0.01 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.