Author: Robert Hyatt
Date: 10:11:04 05/13/04
Go up one level in this thread
On May 13, 2004 at 07:45:25, Jeff GAZET wrote: >>Hi, >> >>more information is needed. >>In one kind of hash implementation the search after "undo" should return a1b1 at >>ply 1! >>Reason: when starting search it should look at the hash, find an entry with >>depth==25 and result move a1b1 with an exact score. Thus he should take this >>result. >>Debug at ply 0 why this don“t happen. >> >>If you "age" hash-entries by other than move-count and you will not use "aged" >>entries-score then and older hash entries are just used for move ordering it >>should react different. >>In this case check if you are correctly overwriting "aged" hash entries even, if >>remaining depth is lower than the remaining depth of the hash entry. >> >>Greetings Volker > >Thanks, i found : This bug occured only when i stopped the search with "move >now". In this case, in alphabeta() and quiesce(), i set stop_search=true and >returned immediatly. As those functions must return a value, i returned 0. >This put bad values in the hash table. >So i clear the table if the search as been stopped in alphabeta() or quiesce(). Poor solution. Just don't "store" anything once time runs out. Anything you have _already_ stored is just fine. But when you stop searching, return a special value or check the "time-out" global flag and just don't store into the hash table once that has happened. Otherwise you will be clearing the hash table after most every search and that is not a good approach.
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.