Explanation
Principal variation search, abbreviated PVS, begins with an expectation: if moves are well ordered, the first candidate is probably best. That first move receives a full search. Later moves are initially given a cheaper test to determine whether they can beat the result already found.
The cheaper test uses a narrow window. A window is the range of values that the search needs to distinguish. Instead of determining precisely how much better or worse a move is, PVS first asks a simpler question: does it exceed the current reference or not? If it does not, the move can be rejected without a full search.
If a later candidate appears to exceed the reference, the narrow test is not enough to establish its exact value. The engine, meaning the program analyzing the position, searches it again with a full window. This second pass, called a re-search, preserves the method's correctness but costs time. PVS therefore gains the most when succeeds and the best choice appears first.
PVS is an efficient way to organize alpha-beta search, a method that abandons branches already proven unable to improve the decision, within the framework. It should not be confused with the principal variation itself, which is merely the move sequence the engine currently regards as best. It is also not : MultiPV requests several starting lines, while PVS describes an internal search method.
Usage and context
When it reaches tactically unstable positions, PVS commonly relies on before accepting a static evaluation, meaning an estimate made without following more moves.
Common confusions
PVS and the principal variation
The principal variation is an output line. PVS is an algorithm designed to find it with less work.
Sources
- 1.Principal Variation Search, Chess Programming Wiki
