From Chessprogramming wiki
Jump to: navigation, search

Home * Search * Pondering

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.

One 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].

See also


Forum Posts

1995 ...

2000 ...

2005 ...

2010 ...

2015 ...

Re: stateless UCI by Robert Hyatt, CCC, February 14, 2016

External Links

lineup: Tony Levin, Adrian Belew, Bill Bruford, Robert Fripp


  1. Re: Pondering? Yes. Ponder move? Maybe not by Robert Hyatt, CCC, July 30, 2009
  2. Himstedt, K. (2005). An Optimistic Pondering Approach for Asynchronous Distributed Games. ICGA Journal, Vol. 28, No. 2
  3. Pondering in WB by Richard Allbert, Winboard Programming Forum, September 06, 2009
  4. Dap Hartmann (2013). Optimistically Parallelizing Parallel Search Processes. ICGA Journal, Vol. 36, No. 2, Review

Up one Level