Changes

Jump to: navigation, search

Pondering

9,615 bytes added, 12:31, 19 May 2018
Created page with "'''Home * Search * Pondering''' border|right|thumb|[[Arts#vanGogh|Vincent van Gogh - [https://en.wikipedia.or..."
'''[[Main Page|Home]] * [[Search]] * Pondering'''

[[FILE:Van Gogh - Trauernder alter Mann.jpeg|border|right|thumb|[[Arts#vanGogh|Vincent van Gogh]] - [https://en.wikipedia.org/wiki/At_Eternity%27s_Gate At Eternity's Gate], 1890 ]]

'''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 [https://en.wikipedia.org/wiki/Permanent_brain Permanent brain].

One can generally use pondering time to seed the [[Transposition Table|transposition tables]], using [[Iterative Deepening|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 <ref>[http://www.talkchess.com/forum/viewtopic.php?topic_view=threads&p=283576&t=29166 Re: Pondering? Yes. Ponder move? Maybe not] by [[Robert Hyatt]], [[CCC]], July 30, 2009</ref> .

==Hybrid Approaches==
With the advent of Cluster architectures, hybrid Pondering approaches seem to advance <ref>[[Kai Himstedt|Himstedt, K.]] ('''2005'''). ''An Optimistic Pondering Approach for Asynchronous Distributed Games''. [[ICGA Journal#28_2|ICGA Journal, Vol. 28, No. 2]]</ref> .

=Protocol Considerations=
Common [[Protocols]] for automated [[Chess Game|game playing]] have various issues to conduct the game state inside a chess program and therefor with pondering <ref>[http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=50392 Pondering in WB] by [[Richard Allbert]], [[Computer Chess Forums|Winboard Programming Forum]], September 06, 2009</ref>.
* [[Chess Engine Communication Protocol]]
* [[UCI]]

=See also=
* [[Chess Game]]
* [[Time Management]]

=Publications=
* [[Robert Hyatt]] ('''1984'''). ''Using Time Wisely''. [[ICGA Journal#7_1|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''. [[Conferences#GPW|2nd Game Programming Workshop]]
* [[Kai Himstedt]] ('''2005'''). ''An Optimistic Pondering Approach for Asynchronous Distributed Games''. [[ICGA Journal#28_2|ICGA Journal, Vol. 28, No. 2]]
* [[Kai Himstedt]] ('''2012'''). ''[http://www.shaker.de/de/content/catalogue/index.asp?ID=8&ISBN=978-3-8440-0803-6 Optimistische verteilte Spielbaumsuche am Beispiel des Computerschachs]''. Dissertation (German) <ref>[[Dap Hartmann]] ('''2013'''). ''Optimistically Parallelizing Parallel Search Processes''. [[ICGA Journal#36_2|ICGA Journal, Vol. 36, No. 2]], Review</ref>
* [[Kai Himstedt]] ('''2012'''). ''GridChess: Combining Optimistic Pondering with the Young Brothers Wait Concept''. [[ICGA Journal#35_2|ICGA Journal, Vol. 35, No. 2]] » [[GridChess]], [[Young Brothers Wait Concept]]

=Forum Posts=
==1995 ...==
* [https://www.stmintz.com/ccc/index.php?id=21841 Pondering and XBoard, WinBoard] by [[Alessandro Damiani]], [[CCC]], July 07, 1998 » [[Chess Engine Communication Protocol]]
* [https://www.stmintz.com/ccc/index.php?id=62577 WinBoard and pondering under W98] by [[Frank Phillips]], [[CCC]], July 28, 1999 » [[WinBoard]]
* [https://www.stmintz.com/ccc/index.php?id=72537 PB-ON vs PB-OFF (results experiment-1)] by [[Ed Schroder|Ed Schröder]], [[CCC]], October 10, 1999
* [https://www.stmintz.com/ccc/index.php?id=73408 PB-ON vs PB-OFF (final results)] by [[Ed Schroder|Ed Schröder]], [[CCC]], October 15, 1999
==2000 ...==
* [https://www.stmintz.com/ccc/index.php?id=155085 Is pondering unfair in engine matches on a PC?] by [[Leen Ammeraal]], [[CCC]], February 19, 2001
* [https://www.stmintz.com/ccc/index.php?id=181281 PONDER=ON and TableBases on 1 PC] by [[Matthias Gemuh]], [[CCC]], July 27, 2001 » [[Endgame Tablebases]]
* [https://www.stmintz.com/ccc/index.php?id=190547 A pondering idea...] by [[Dann Corbit]], [[CCC]], September 26, 2001
* [https://www.stmintz.com/ccc/index.php?id=264237 Pondering ("think on opponent's time")] by Jim Bumgardner, [[CCC]], November 10, 2002
* [https://www.stmintz.com/ccc/index.php?id=349367 Question about pondering] by Michael Drexel, [[CCC]], February 15, 2004
* [https://www.stmintz.com/ccc/index.php?id=356976 Ruffian's most peculiar way of pondering] by [[Peter Berger]], [[CCC]], March 27, 2004 » [[Ruffian]]
* [https://www.stmintz.com/ccc/index.php?id=357181 Pondering methods] by Zheng Zhixian, [[CCC]], March 29, 2004
* [https://www.stmintz.com/ccc/index.php?id=359543 Elephant and pondering] by [[Olivier Deville]], [[CCC]], April 11, 2004 » [[Elephant]]
==2005 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=20125 obvious/easy move] by [[Charles Roberson]], [[CCC]], March 12, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=27105 quick move after pondering] by [[Daniel Shawul]], [[CCC]], March 21, 2009
* [http://www.talkchess.com/forum/viewtopic.php?t=28438 Time managment on ponder hit] by [[Mathieu Pagé]], [[CCC]], June 16, 2009 » [[Time Management]]
* [http://www.talkchess.com/forum/viewtopic.php?t=29166 Pondering? Yes. Ponder move? Maybe not] by [[Steven Edwards]], [[CCC]], July 30, 2009
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=50392 Pondering in WB] by [[Richard Allbert]], [[Computer Chess Forums|Winboard Programming Forum]], September 06, 2009 » [[Chess Engine Communication Protocol]]
==2010 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=34051 Ponder console input move problem] by [[Vlad Stamate]], [[CCC]], April 28, 2010 » [[Command Line Interface]]
* [http://www.talkchess.com/forum/viewtopic.php?t=35554 As though they were pondering] by [[Gabor Szots]], [[CCC]], July 23, 2010 » [[Time Management]]
* [http://www.open-chess.org/viewtopic.php?f=5&t=588 Move on Hash Hit] by [[Franklin Titus|kingliveson]], [[Computer Chess Forums|OpenChess Forum]], August 18, 2010 » [[Time Management]]
* [http://www.talkchess.com/forum/viewtopic.php?t=44037 Playing with ponder hits] by [[Kai Laskos]], [[CCC]], June 12, 2012
* [http://www.open-chess.org/viewtopic.php?f=5&t=2146 Ponder and UCI] by geko, [[Computer Chess Forums|OpenChess Forum]], November 19, 2012 » [[UCI]]
* [http://www.talkchess.com/forum/viewtopic.php?t=47554 How to ponder] by [[Charles Roberson]], [[CCC]], March 20, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=48864 How much elo is pondering worth?] by [[Michel Van den Bergh]], [[CCC]], August 07, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=48996 uci ponder protocol] by [[Marco Belli]], [[CCC]], August 17, 2013 » [[UCI]]
* [http://www.talkchess.com/forum/viewtopic.php?t=51198 SMP and pondering] by [[John Merlino]], [[CCC]], February 08, 2014 » [[Lazy SMP]], [[Myrddin]]
* [http://www.talkchess.com/forum/viewtopic.php?t=52882 Thinking During Adversary Time] by [[Fernando Villegas]], [[CCC]], July 06, 2014
==2015 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=56697 Speculative deep pondering] by [[Harm Geert Muller]], [[CCC]], June 17, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=56776 ponder engine-gui interaction] by [[Alexandru Mosoi]], [[CCC]], June 25, 2015 » [[UCI]]
* [http://www.talkchess.com/forum/viewtopic.php?t=59235 stateless UCI] by [[Marco Belli]], [[CCC]], February 13, 2016 » [[UCI]]
: [http://www.talkchess.com/forum/viewtopic.php?t=59235&start=11 Re: stateless UCI] by [[Robert Hyatt]], [[CCC]], February 14, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=63355 Higher than expected by me efficiency of Ponder ON] by [[Kai Laskos]], [[CCC]], March 06, 2017 » [[Match Statistics]]
* [http://www.talkchess.com/forum/viewtopic.php?t=65324 Regarding UCI Pondering] by [[Manik Charan]], [[CCC]], September 28, 2017 » [[UCI]]
* [http://www.talkchess.com/forum/viewtopic.php?t=65679 UCI pondering or infinite search] by Lucas Braesch, [[CCC]], November 10, 2017 » [[UCI]]
* [http://www.talkchess.com/forum/viewtopic.php?t=65913 Regarding options ponder flag] by [[Jürgen Précour]], [[CCC]], December 06, 2017 » [[UCI]]

=External Links=
* [https://en.wikipedia.org/wiki/Permanent_brain Permanent brain from Wikipedia]
* [http://web.archive.org/web/20071027053527/www.brucemo.com/compchess/programming/pondering.htm Pondering] from [[Bruce Moreland|Bruce Moreland's]] [http://web.archive.org/web/20070607231311/www.brucemo.com/compchess/programming/index.htm Programming Topics]

=References=
<references />

'''[[Search|Up one Level]]'''

Navigation menu