chess:programming:search:quiescence_search
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
chess:programming:search:quiescence_search [2021/10/11 22:50] – peter | chess:programming:search:quiescence_search [2021/10/11 23:05] (current) – peter | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Chess - Programming - Search - Quiescence Search ====== | ====== Chess - Programming - Search - Quiescence Search ====== | ||
+ | |||
+ | At the end of the main search a more limited quiescence search should be performed. | ||
+ | |||
+ | * The purpose of this search is to only evaluate " | ||
+ | * This search is needed to avoid the __horizon effect__. | ||
+ | * Simply stopping a search when the desired depth is reached and then evaluated, is very dangerous. | ||
+ | * Consider the situation where the last move you consider is QxP. | ||
+ | * If the search is stopped there and evaluated, it might think that a pawn has been won. | ||
+ | * But what if the search was made one move deeper; and found that the next move is PxQ? | ||
+ | * A pawn has not really been won; instead a queen has been lost. | ||
+ | * Hence the need to make sure that only quiescent (quiet) positions are evaluated. | ||
+ | |||
+ | Despite the fact that quiescence searches are typically very short, about 50%-90% nodes are spent there, so it is worthwhile to apply some pruning there. | ||
+ | |||
< | < | ||
Line 26: | Line 40: | ||
===== References ===== | ===== References ===== | ||
+ | |||
+ | http:// | ||
+ | |||
+ | http:// | ||
chess/programming/search/quiescence_search.1633992613.txt.gz · Last modified: 2021/10/11 22:50 by peter