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.