Pondering is simply using the opponent's move time to consider likely opponent moves and thus gain a pre-processing advantage when it is our turn to move, also referred as Permanent brain.
You can generally use pondering time to seed the transposition tables, using iterative deepening, with positions, scores and suggested best start moves. Once it is your turn, you might either find an entry of sufficient depth to move immediately, or you may have enhanced your alpha-beta cutoff efficiency by having pre-computed moves in the transposition hash table, so that your move ordering is close to ideal.
The question is whether it is advantageous to search from opponent's point of view, considering all its moves, or to search from own point of view after premature making the predicted move.
Considering all Moves
Search the new root position from opponent's side to move, and therefor considering all opponent moves.
Considering predicted Move
Search with the predicted opponent move from the Principal Variation is actually made. If the expected move is really played by the opponent, a so called Ponder Hit occurred and one may either continue searching with the saved time, or dependent on score and time left, move immediately. Otherwise, if the the opponent doesn't agree and comes with another move, one needs to unmake the expected move and to restart search. According to Robert Hyatt, in about 50% the prediction is right [1] .
Hybrid Approaches
With the advent of Cluster architectures, hybrid Pondering approaches seem to advance [2] .
Protocol Considerations
Common Protocols for automated game playing have various issues to conduct the game state inside a chess program and therefor with pondering [3].
You can generally use pondering time to seed the transposition tables, using iterative deepening, with positions, scores and suggested best start moves. Once it is your turn, you might either find an entry of sufficient depth to move immediately, or you may have enhanced your alpha-beta cutoff efficiency by having pre-computed moves in the transposition hash table, so that your move ordering is close to ideal.
Table of Contents
Approaches
The question is whether it is advantageous to search from opponent's point of view, considering all its moves, or to search from own point of view after premature making the predicted move.Considering all Moves
Search the new root position from opponent's side to move, and therefor considering all opponent moves.Considering predicted Move
Search with the predicted opponent move from the Principal Variation is actually made. If the expected move is really played by the opponent, a so called Ponder Hit occurred and one may either continue searching with the saved time, or dependent on score and time left, move immediately. Otherwise, if the the opponent doesn't agree and comes with another move, one needs to unmake the expected move and to restart search. According to Robert Hyatt, in about 50% the prediction is right [1] .Hybrid Approaches
With the advent of Cluster architectures, hybrid Pondering approaches seem to advance [2] .Protocol Considerations
Common Protocols for automated game playing have various issues to conduct the game state inside a chess program and therefor with pondering [3].See also
Publications
Forum Posts
1995 ...
2000 ...
2005 ...
2010 ...
2015 ...
Re: stateless UCI by Robert Hyatt, CCC, February 14, 2016
External Links
References
What links here?
Up one Level