Author: David Rasmussen
Date: 04:08:43 12/03/01
Go up one level in this thread
On December 03, 2001 at 03:26:02, Severi Salminen wrote: >>Many people use 32-bit pawn hashkeys. But I've found that 32 bits is not enough >>to avoid collisions. 64-bit seems to be enough, and maybe less could do the job. >>Why do people use 32-bit keys, when it screws up evaluation this way? > >32-bit keys are still a lot (well, a little maybe) faster to use and as far as I >know they don't screw the evaluation up. I implemented pawn hashtable yesterday >and using 32-bit keys I still get very high hit rates and no inconsistencies - >the 65536 element table hardly fills up. But I will maybe test about collisions. If you have collisions, you _will_ fuck up evaluation. >How did you test it? > Simple. Instead of not evaluation pawns in the case of a hit, I evaluate it anyway and check if the calculated data match the data in the hashtable. If yes, there might still be a collision in the sense that the two pawn positions might now be the same, but at least they have the same score (it is far more likely that the pawn positions in this case are just the same). If no, we definately have a collision. I get that after 5 seconds of search from the initial position. I have even checked the first pawn position that this happens to, and print out all the positions that have this pawn hashkey. It shows that the first 4 or 5 times the table is queried for this position, there is a match, but the next time (the one that fails), it is indeed a completely different position and pawn position altogether. This will obviously screw up evaluation, as a wrong score would have been returned for the pawn evaluation. /David
This page took 0.01 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.