Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashkey collisions (typical numbers)

Author: Tom Likens

Date: 04:51:40 04/07/04

Go up one level in this thread


On April 07, 2004 at 07:05:01, Renze Steenhuisen wrote:

>On April 07, 2004 at 06:55:31, Andrew Williams wrote:
>
>>On April 07, 2004 at 06:49:59, Renze Steenhuisen wrote:
>>
>>>
>>>Hi all,
>>>
>>>could someone give me some numbers that are common with hashkey collisions?
>>>Because I guess my % is little too high...
>>>
>>>I'm getting like 0.03% [which is 1 every 3000, if I'm not mistaken]
>>>
>>>This is when using TT=32MB (haven't got the exact number of entries)
>>>
>>>If you think it is an error, any suggestions on where to start looking?
>>>
>>>Thanks!
>>>
>>>   Renze
>>
>>One in 3000 seems very high. How many bits are there in your hashkey?
>>
>>Andrew
>
>I use 64-bit keys, random numbers, and I am using the same random number
>generator as Crafty uses. I have checked the randomness by counting the number
>of zero's and one's, they are about equal. I counted the number of zero's and
>one's per bit-position, and they are also about equal...
>
>I have two counters for calculating my hashkey-collisions:
>   hashmove_requested: every time I have a hashmove and I am going to check
>            whether it is a legal move.
>   hashmove_illegal:   suggested hashmove from the TT was not legal, and
>            therefore a hashkey collision has to be occured.
>
>100*((double)hashmove_illegal/hashmove_requested) gives my number... 0.03
>
>I'm clueless...
>
>Renze

This does seem high.  Are you positive you're not corrupting the hash key
somewhere in the search? If you don't already have it, you might want to
write a debug function to generate the hash key from scratch at each node
and compare it to the incremental key.  At the very least you would know
that your key is good.

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