Author: Heiner Marxen
Date: 09:12:29 01/05/01
Go up one level in this thread
On January 05, 2001 at 10:23:26, Gian-Carlo Pascutto wrote: >On January 05, 2001 at 09:45:47, Robert Hyatt wrote: >>>I notice I sometimes when I get a fail low at the root, I do a research, and >>>then get a fail high! The most likely explanation is that I am a moron and it >>is bug. Can you think of another explanation? Or an easy way to catch this >>>bug? >> >>this is not common, but perfectly normal, and it can't really be avoided. > >Since this happens a lot in my program, I spent some time tracking down >what were the minimal conditions: > >- aspiration window (no fail high/low otherwise) >- null move >- hash table used for move ordering (not for scores, not even on exact matches) > >Now it still isn't making sense to me...how can you produce a different >_score_ anywhere in the tree by just altering move ordering?? > >Anybody who knows an explanation here? 'You _must_ have a bug' is acceptable >too. > >-- >GCP I believe that using a hash table (TT = transposition table) is enough to produce inconsistent results. During the search the TT is changed (new results are entered). That way you change a part of the data upon which a search is based. I.e. if you retry the exact same search, you may well get another result, because early in the search tree you now find deep results produced later in the first search. You find other values in the TT (deeper than requested), use them, and... return different values. And when you search the third time you may get yet another result. That is a bit disturbing, but in a way not really avoidable, except you stop using the TT. But that is normally not a serious option. Heiner
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.