Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hash Collisions

Author: David Rasmussen

Date: 18:01:59 04/05/01

Go up one level in this thread


I found the reason for all the collisions. It wasn't really a hashing bug. It
was more of a search bug.

Whenever there was no legal moves in a node (mate or stalemate), I adjusted
alpha accordingly and then stored the results into the hashtabl, with
pv[ply][ply] as the best move.

First of all, there is a choice to be made, if one wants to store the mate and
stalemate positions in the hashtable. Secondly, if one is going to do that,
there should of course be stored no best move, as none of them were legal.

So my problem was actually that I _stored_ illegal moves in the hashtable.
Later, when probing, I would check this move for legality in the position in
question, and find that it was not legal. I had a collision.

Now everything is working fine with just the normally generated random numbers.
They happen to have a minimum hamming distance of 14 in this case. Still, I like
the idea of getting an "optimal" set of hashkey components, so that the chance
of collision is minimized. That is, a set that spans a space of maximum
dimension.

I will have to look into it someday...



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.