Author: Robert Hyatt
Date: 10:19:23 08/26/05
Go up one level in this thread
On August 26, 2005 at 12:01:26, Andrew Shapira wrote: >Summary: People sometimes say that one uses a quiescence search to avoid horizon >problems. But a quiescence search alone will not do it. I am looking for some >guidance from the experts. That's not the purpose of the q-search. Horizon effect is mitigated by more search depth, or by extending critical lines so that the loss is not pushed beyond the search horizon. The q-search is simply there to make sure that the static evaluation function is not given a position to evaluate with lots of "dynamic features" present (such as hung pieces, or forked pieces, or threatened mates, and the like.) Most want their static evaluation to be given pieces that are "tactically quiet" (hence the term "quiescence search"). That way the evaluation can look at static positional features and compute a score, without having to worry about what is attacked, what is pinned, what will be lost next move, etc... You could strip out the q-search, and put such analysis into the static evaluation, but that makes it that much larger and that much more prone to making mistakes. > >Suppose we have the following position P1, with white (in capital letters) >to move. > > . . . . . . . k > . . . . . . . . > . . . . . . . . > p p . p p b . . > . . . . . . R . > . . . . . . . K > P P . P P . . . > . . . . . . . . > >In the line kh4 bxr kxr, white has an easy win, and white probably can win >easily if black replies to kh4 with any move other than bxr. > >Now suppose that a computer is playing white. The computer uses some standard >full width alpha-beta search algorithm with a quiescence search. Suppose that >the position P1 above is reached in the alpha-beta algorithm with 1 ply >remaining in the alpha-beta search, i.e., white makes a move and then goes to >quiescence search. > >So, white sees: > full-width search: > a4 > quiescence search: > bxa4 > side to move (white) has no captures; stop the quiescence search > evalation is +1 (say we're using a material-only static evaluation) > full-width search, continued: > kh4 > quiescence search: > bxr > kxr > side to move (white) has no captures; stop the quiescence search > evaluation is 0 > >It'll evaluate the position as +1, and think the best move is one of the pawn >moves that defers the loss of the rook, e.g., a4. This evaluation is not what >we want. If the computer only has time for the search described above, it will >actually play a4; then black will recapture; white will then hang another pawn, >and so on, eventually losing. In less extreme cases it will simply misevaluate >the position, which could still be a catastrophe as it may make a move at a >higher level that avoids this position because it does not realize that it wins. > >Is there a standard solution for getting the correct evaluation? (Getting a >deeper search begs the question of what to do in this situation because this >situation can arise after any number of search levels.) > >I can imagine that a static exchange evaluator might find this, but this is >unclear to me since it is white's move and the static exchange evaluator would >see no captures that could be made by white. > > >-A
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.