Pondering

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.

=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.

Hybrid Approaches
With the advent of Cluster architectures, hybrid Pondering approaches seem to advance.

=Protocol Considerations= Common Protocols for automated game playing have various issues to conduct the game state inside a chess program and therefor with pondering.
 * Chess Engine Communication Protocol
 * UCI

=See also=
 * Chess Game
 * Time Management

=Publications=
 * Robert Hyatt (1984). Using Time Wisely. ICCA Journal, Vol. 7, No. 1
 * Ingo Althöfer, Chrilly Donninger, Ulf Lorenz, Valentin Rottmann (1994). On Timing, Permanent Brain and Human Intervention. Advances in Computer Chess 7
 * Masayuki Fujii, Hiroyuki Iida, Yoshiyuki Kotani (1995). Prediction of an opponent's move using opponent's time effectively. 2nd Game Programming Workshop
 * Kai Himstedt (2005). An Optimistic Pondering Approach for Asynchronous Distributed Games. ICGA Journal, Vol. 28, No. 2
 * Kai Himstedt (2012). Optimistische verteilte Spielbaumsuche am Beispiel des Computerschachs. Dissertation (German)
 * Kai Himstedt (2012). GridChess: Combining Optimistic Pondering with the Young Brothers Wait Concept. ICGA Journal, Vol. 35, No. 2 » GridChess, Young Brothers Wait Concept

=Forum Posts=

1995 ...

 * Pondering and XBoard, WinBoard by Alessandro Damiani, CCC, July 07, 1998 » Chess Engine Communication Protocol
 * WinBoard and pondering under W98 by Frank Phillips, CCC, July 28, 1999 » WinBoard
 * PB-ON vs PB-OFF (results experiment-1) by Ed Schröder, CCC, October 10, 1999
 * PB-ON vs PB-OFF (final results) by Ed Schröder, CCC, October 15, 1999

2000 ...

 * Is pondering unfair in engine matches on a PC? by Leen Ammeraal, CCC, February 19, 2001
 * PONDER=ON and TableBases on 1 PC by Matthias Gemuh, CCC, July 27, 2001 » Endgame Tablebases
 * A pondering idea... by Dann Corbit, CCC, September 26, 2001
 * Pondering ("think on opponent's time") by Jim Bumgardner, CCC, November 10, 2002
 * Question about pondering by Michael Drexel, CCC, February 15, 2004
 * Ruffian's most peculiar way of pondering by Peter Berger, CCC, March 27, 2004 » Ruffian
 * Pondering methods by Zheng Zhixian, CCC, March 29, 2004
 * Elephant and pondering by Olivier Deville, CCC, April 11, 2004 » Elephant

2005 ...

 * obvious/easy move by Charles Roberson, CCC, March 12, 2008
 * quick move after pondering by Daniel Shawul, CCC, March 21, 2009
 * Time managment on ponder hit by Mathieu Pagé, CCC, June 16, 2009 » Time Management
 * Pondering? Yes. Ponder move? Maybe not by Steven Edwards, CCC, July 30, 2009
 * Pondering in WB by Richard Allbert, Winboard Programming Forum, September 06, 2009 » Chess Engine Communication Protocol

2010 ...

 * Ponder console input move problem by Vlad Stamate, CCC, April 28, 2010 » Command Line Interface
 * As though they were pondering by Gabor Szots, CCC, July 23, 2010 » Time Management
 * Move on Hash Hit by kingliveson, OpenChess Forum, August 18, 2010 » Time Management
 * Playing with ponder hits by Kai Laskos, CCC, June 12, 2012
 * Ponder and UCI by geko, OpenChess Forum, November 19, 2012 » UCI
 * How to ponder by Charles Roberson, CCC, March 20, 2013
 * How much elo is pondering worth? by Michel Van den Bergh, CCC, August 07, 2013
 * uci ponder protocol by Marco Belli, CCC, August 17, 2013 » UCI
 * SMP and pondering by John Merlino, CCC, February 08, 2014 » Lazy SMP, Myrddin
 * Thinking During Adversary Time by Fernando Villegas, CCC, July 06, 2014

2015 ...

 * Speculative deep pondering by Harm Geert Muller, CCC, June 17, 2015
 * ponder engine-gui interaction by Alexandru Mosoi, CCC, June 25, 2015 » UCI
 * stateless UCI by Marco Belli, CCC, February 13, 2016 » UCI
 * Re: stateless UCI by Robert Hyatt, CCC, February 14, 2016


 * Higher than expected by me efficiency of Ponder ON by Kai Laskos, CCC, March 06, 2017 » Match Statistics
 * Regarding UCI Pondering by Manik Charan, CCC, September 28, 2017 » UCI
 * UCI pondering or infinite search by Lucas Braesch, CCC, November 10, 2017 » UCI
 * Regarding options ponder flag by Jürgen Précour, CCC, December 06, 2017 » UCI
 * UCI Pondering workaround by Andrew Grant, CCC, July 13, 2018 » UCI

=External Links=
 * Permanent brain from Wikipedia
 * Pondering from Bruce Moreland's Programming Topics

=References=

Up one Level