Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash Collision

Author: David Rasmussen

Date: 06:10:59 12/07/02

Go up one level in this thread


On December 07, 2002 at 08:42:47, Uri Blass wrote:

>On December 07, 2002 at 06:55:39, David Rasmussen wrote:
>
>>In my incremental move generator, I first check if there is a hash move, and if
>>there is, then I check it for pseudo-legality. If it's not pseudo-legal, I
>>conclude that there is a hash collision. The position that this move was stored
>>from cannot be the same as the current, and still they have the same hash
>>signature. In my program when this happens, I exit. I do this because this
>>basically never happens. Until now.
>
>
>If you think it never happens then you do not need to check if it is pseudo
>legal and your program may become faster.
>

I know that, but I still like knowing what is going on. That's why I do it. I
don't care for 0.0000000000000001% speedup. If I didn't do it, I would have no
idea how often this happened. Now I do. I could of course just write to a log or
to stdout when it happened.

>All the idea of checking if the move is pseudo legal is for doing something when
>it happens and not exit(you can simply decide that there is not a hash move and
>continue the search if you find that the hash move is not pseudo legal)
>

I know...

> It was playing a game on ICC, and it
>>suddenly exited. I could see from the log that this is what happened. So I was
>>wondering: How often does this kind of collision happen for your engines?
>>I think Bob Hyatt has mentioned that this happens in 1 of 100 games. It doesn't
>>for me.
>
>I think that it is dependent on the size of the hash tables.

Certainly.

>I expect it to happen more if you use big hash tables.
>

Why?

/David



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.