Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash Table Collisions

Author: Tony Werten

Date: 23:46:33 04/12/00

Go up one level in this thread


On April 12, 2000 at 16:05:33, Tom Kerrigan wrote:

>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.

Some small questions. How do you manage this pv score of you find a new pv ? Do
you go through your old pv and remove the pv bit ?

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

I though about this. Normally this would go ok. But what about search 65 ? Your
counter gets set back to zero, which is always smaller than the entries in your
table, so you never get permission to store the new entry.

>
>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

On windows 98 with 128MB, I use 64 Mb for hashtables without any swapping.

Tony

>I "burn" entries. Maybe I'll test that later on.
>
>-Tom



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.