Author: Robert Hyatt
Date: 21:09:18 09/08/02
Go up one level in this thread
On September 08, 2002 at 10:23:31, Brian Richardson wrote: >On September 08, 2002 at 08:45:12, Robert Hyatt wrote: >snipped >>I am not sure what you mean. But the answer is to look at your search code, >>and pick a position and ply where you are going to probe the hash table when >>you enter search. remember that number. Now assume you don't get a hit, so >>do a normal search, and look at the two ways to get out of search: (1) you >>get a fail high; (2) you don't. Make _sure_ that at each of those two >>places, you store the _same_ depth you used when you probed the table at the >>start of this search. If not, you have a problem... > >Bob: Could you try to explain why this might be a problem. The scenario is: >upon entering the search routine at a new (deeper) ply n, the hash table is >probed. If the search continues, extensions (e) can get added to the depth. >Moves get searched and then the resulting bound or exact value is stored with a >deeper depth n+e than was originally probed. Sure. Say when you enter search, depth=8, and you do a probe. You fail and do a search. Suppose the first move is a check, so you push depth to 9 and it produces a fail high. If you are careless, you store 9 as the depth and you just laid a trap for yourself. You finish this iteration and start the next. You reach the same position with depth=9, and you say "aha, fail high here" and you just broke the search. The depth you store at any position ought to be the same depth you would use to probe at that position, for consistency (and correctness of course). Note that I have blown this more than once, so this isn't the voice of "theory" speaking, it is the voice of "been there, done that, won't do it again" speaking. :) > >Ok, the question is, next time this position is probed, even if it is at the >same original (n, or lower depth), wouldn't the "deeper" n+e hash depth search >value still provide a valid result? Or, deeper is always better, right? Yes, but it wasn't _really_ deeper. That is the problem. The depth is over-stated, which will cause the position to be used when it should not. > >Thanks.
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.