Pondering


 * Home * Search * Pondering**
 * [[image:Vincent_Willem_van_Gogh_002.jpg width="283" height="362" link="http://en.wikipedia.org/wiki/At_Eternity%27s_Gate"]] ||~  || **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. || toc =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.
 * Vincent van Gogh, [|At Eternity's Gate], 1890 ||~  ||^   ||

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 and 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 ...
> [|Re: stateless UCI] by Robert Hyatt, CCC, February 14, 2016
 * [|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
 * [|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

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

=References= =What links here?= include page="Pondering" component="backlinks" limit="140"
 * Up one Level**