Author: Frank Phillips
Date: 06:22:18 02/18/04
Go up one level in this thread
On February 18, 2004 at 02:55:48, milix wrote: >Hi to everyone! >In my amateur engine I encounter a really nasty >hash table related bug. A hash element contained a >position and a best move, say Ra8-a4. When this >position occured again in a search, the rook was not >on a8 but on a2. So the right best move should be >Ra2-a4. So, I added a routine to check for such >'corrupted' hash moves. I currently solve the above >mentioned problem by looking at legal moves in the position >that had a move with the best's move 'to' square and is moving >the best's move piece. This correction is only done when I retrieve >the PV from the hash table, so it is practically cheap. > >I have one question about the above concept: >Is this happen to every hash table or I have a pathological >situation which may (or may already have) introduce >other bugs? My hash table uses the replace always scheme >and is cleared only at the start of a new game. A really obvious point, but I assume you have a different hash values for black and white pieces on the same squares - and hash the side to move in the final hash entry as well? What you describe sound very unlikely for a 64bit hash value and may well therefore be the result of a bug. A good test is to have a debug function that recomputes the value and compares it to the one in the hash table formed (presumably) by incremental update during the search. Frank
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.