Author: Christophe Theron
Date: 00:25:37 08/24/00
Go up one level in this thread
On August 23, 2000 at 14:12:01, Ernst A. Heinz wrote:
>Hi Christophe,
>
>>>The "trick" has nothing to do with quiescence search which actually
>>>is an expensive (non-static) evaluation function.
>>
>>Yes it does, Ernst. You cannot consider the QSearch to be a "black box" in this
>>case, because the tree searched by the QSearch, and the result it yields,
>>actually depends on the value of alpha and beta.
>>
>>So QSearching with a full window will in some cases give a different result
>>than QSearching with the null window.
>
>But this inaccuracy of the quiescence search permeates all the
>scores produced by a chess program because the quiescence score
>will also differ for full windows of different widths. Nonetheless,
>we accept past quiescence scores as correct later on.
I was not talking about QSearch inconsistencies introduced by the use of alpha
and beta together with smart pruning systems.
I was talking about the simple case where your QSearch returns "you can win a
pawn here" (QxQ PxQ RxP) when you actually can win a quality (NxR PxN). Because
with a null window, just winning the pawn might be enough to get above the null
window beta and get the cutoff, but with the full window the QSearch would have
seen that it was possible to win more.
So if you don't research, you get a +1 score, when actually it was a +2 score
(assuming material balance at the root for example).
That makes quite a difference, and making such mistakes is a killer.
>>> That is why I use
>>>the general abstraction "horizon_score" for it in my book.
>>
>>I agree that this abstraction can be useful sometimes, but in this case I think
>>you cannot use it.
>
>If you are picky and want to stay theoretically sound regarding
>the scores produced by the quiescence search, you are right. In
>practice, however, chess programs are not theoretically sound in
>this respect anyway (see above). Hence, my flow of argumentation
>about "variable-depth search" being the main reason still stands,
>at least IMO.
I understand and I agree that we have to live with inconsistencies of all kind,
and find the best compromises, but the case I was thinking about is more serious
and would happen with a plain simple QSearch with no tricks.
>>>The negascout "trick" only works for _real_ fixed-depth searches
>>>_without_ any depth extensions and reductions. As soon as you do
>>>varibale-depth searches with only nominally fixed depths, the
>>>research is always compulsory and the negascout "trick" does not
>>>work because the path lengths below the node in question may be
>>>much longer than 3 plies until they finally reach the horizon.
>>
>>And you can consider the QSearch to be a variable depth search...
>
>Right, but above I refer only to the variable-depth nature of the
>nominal full-width search which is still the main reason for the
>the negascout trick being not applicable here IMO.
That's true.
But the problem I describe with the QSearch is another reason.
>I am convinced that a pure non-variable depth brute-force searcher
>with a standard quiescence search _could_ employ the negascout
>"trick" without introducing _notably_ more inconsistencies than
>already caused by the standard usage of quiescence search.
>
>Of course, I may be totally wrong here ...
Maybe, but my example seems to prove the contrary... Am I missing something? As
I told you, I have never understood the "don't re-search near the horizon"
trick...
I guess the trick only works if:
1) you don't use extensions
2) you use a SEE at the horizon instead of a QSearch
...which is maybe the way some programs worked in 1983.
Christophe
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.