Changes

Jump to: navigation, search

Time Management

18,738 bytes added, 12:24, 19 May 2018
Created page with "'''Home * Search * Time Management''' border|right|thumb|[[Arts#LaTuffo|Roland La Tuffo Barcsik - Time out <ref>[http://..."
'''[[Main Page|Home]] * [[Search]] * Time Management'''

[[FILE:Roland Barcsik Timeout.jpg|border|right|thumb|[[Arts#LaTuffo|Roland La Tuffo Barcsik]] - Time out <ref>[http://streathambrixtonchess.blogspot.de/2009/11/chess-in-art-postscript-chess-in_22.html The Streatham & Brixton Chess Blog: Chess in Art Postscript: Chess-in-Artists do for Christmas] The site ''Roland La Tuffo Barczik Hungarian artist, La Tuffo's Artwork, Barcsik's Chess Art'' no longer available</ref> ]]

'''Time management''' refers to algorithms and heuristics to allocate time for searching a move under [https://en.wikipedia.org/wiki/Time_control time control] requirements in a [[Chess Game|game of chess]]. The player [[Side to move|to move]] consumes his time, and if he exceeds his time limit, the [[Chess Game|game]] is lost on demand of the opponent player, or in automatic computer chess play by an arbiter instance.

[[Iterative Deepening|Iterative deepening]] in conjunction with its predictable [[Branching Factor#EffectiveBranchingFactor|effective branching factor]] allows a flexible time management either to terminate the current [[Iteration|iteration]] and to fall back on [[Best Move|best move]] and [[Principal Variation|PV]] of the previous iteration, or to decide about termination prior to start a new iteration or to search a next root-move.

=Time Controls=
[https://en.wikipedia.org/wiki/Fast_chess Fast chess] is usually played with an immediate [https://en.wikipedia.org/wiki/Sudden_death_%28sport%29#Board_games sudden death] time control, while others may have one or more regular time controls before the sudden death control applies there as well.
<span id="SuddenDeath"></span>
==Sudden Death==
Sudden death refers to a requirement that all the remaining moves, rather than a fixed number of moves, need to be played within the remaining time. Typically programs estimate the game will last further 25..40 moves, and divide the remaining time by this number.

==Regular Time Controls==
Regular time controls define a number of moves to be made in a fixed amount of time. We don't have to make estimations for how long the game will last. However, some time should be saved in order to have a buffer in case later moves warrant longer thinking times.

==Time Control with Increment==
To avoid time trouble where often blunders decide the game, chess champions, most notable [https://en.wikipedia.org/wiki/Bobby_Fischer Bobby Fischer] and [[David Bronstein]], proposed a delay or increment of time for each move made. It requires a special delay clock, which became handy with the [https://en.wikipedia.org/wiki/Game_clock#Early_development_of_digital_game_clocks development of digital chess clocks] in the 70s and 80s <ref>[http://digitalgametechnology.com/site/index.php/History/clock-history.html History of the clocks] from [http://digitalgametechnology.com/site/ DGT - Digital Game Technology]</ref> .

Time trouble is also an issue in computer chess, either due to operators in over the board chess, boosted by deviation of internal and external clock, or in transmitting move transfer latencies in automatic play, where it is quite common nowadays to play with increment per move.
<span id="FischerTime"></span>
===Fischer Time===
In 1988 [https://en.wikipedia.org/wiki/Bobby_Fischer Bobby Fischer] proposed an unconditional increment per move, no matter whether the delay was exhausted or not. With Fischer time one may therefor increase the remaining time if one moves faster than the delay <ref>[http://www.google.com/patents?vid=4884255 Digital chess clock - Google Patent Search]</ref> .

===Bronstein Time===
[[David Bronstein|Bronstein's]] time works similar, but never increases the remaining time. It was for instance used during the late [[Aegon Tournaments]].

=Enhancements=
Human chess players often wonder about the inflexible time management of various programs. A basic time management scheme might be enhanced in several ways, considering dynamic, statistical as well as static features of the search, the [[Best Move|best move]] and its [[Principal Variation|PV]].

==Considerations==
* How often did the [[Best Move|best move]] change during the (last N) previous iterations?
* The score function over iterations and best moves, increase or decrease and/or oscillation, score amplitude, etc.
* The ratio of the size of the subtree under the best move versus the size of the whole [[Search Tree|search tree]]
* Only one obvious way to recapture in an otherwise quiet position

==Premature Termination==
* Only one legal move
* Prior a start of a new iteration, the relation of elapsed and allocated time (f.i. > 50%) <ref>[https://www.stmintz.com/ccc/index.php?id=378905 question about fixing the time management of movei] by [[Uri Blass]] from [[CCC]], July 25, 2004</ref>

==Extra Time==
* Fail low situations, a severe drop of the score may cause programs to allocate "panic time" to hopefully solve the critical situation
* During the first moves out of the [[Opening Book|opening book]] programs often allocate more time
: For instance, [[Robert Hyatt]] gave following formula from [[Cray Blitz]] in ''Using Time Wisely'' <ref>[[Robert Hyatt]] ('''1984'''). ''Using Time Wisely''. [[ICGA Journal#7_1|ICCA Journal, Vol. 7, No. 1]]</ref>
<pre>
nMoves = min( numberOfMovesOutOfBook, 10 );
factor = 2 - nMoves / 10
target = timeLeft / numberOfMovesUntilNextTimeControl
time = factor * target
</pre>
: inspired by following graph of human timing from several grandmaster tournament games
: [[FILE:GrandmasterThinkingTime.jpg|none|border|text-bottom]]
* New and therefor likely not singular best moves, but statically "suspect", like weakening the [[Pawn Structure|pawn structure]] or a [[Sacrifice|sacrifice]] favors to allocate extra time and to start a further iteration, even if the score is fine.

=Losing on Time=
* [[ACM 1974#time|Tech 2 versus Ribbit]] at [[ACM 1974]]
* [[ACM 1974#lone|Duchess vs. T. Belle]] at [[ACM 1974]]
* [[Massy 2002#timetrouble|Chess Tiger X - Pharaon 2.65]] at [[Massy 2002]]

=See also=
* [[CPW-Engine_chronos]]
* [[Iterative Deepening]]
* [[Playing Strength]]
* [[Pondering]]
* [[Search Explosion]]
* [[Search Statistics]]

=Publications=
* [[Robert Hyatt]] ('''1984'''). ''Using Time Wisely''. [[ICGA Journal#7_1|ICCA Journal, Vol. 7, No. 1]]
* [[Robert Hyatt]], [[Albert Gower]], [[Harry Nelson]] ('''1985'''). ''Using Time Wisely, revisited (extended abstract).'' Proceedings of the 1985 ACM annual conference on The range of computing: mid-80's perspective, p. 271, Denver, Colorado. ISBN 0-89791-170-9.
* [[Shaul Markovitch]], [http://www.cs.huji.ac.il/labs/danss/Fairplay/ Yaron Sella] ('''1993'''). ''Learning of Resource Allocation Strategies for Game Playing'', The proceedings of the 13th International Joint Conference on Artificial Intelligence, Chambery, France. [http://www.cs.technion.ac.il/%7Eshaulm/papers/pdf/Markovitch-Sella-coin1996.pdf pdf]
* [[Ingo Althöfer]], [[Chrilly Donninger]], [[Ulf Lorenz]], [[Valentin Rottmann]] ('''1994'''). ''On Timing, Permanent Brain and Human Intervention.'' [[Advances in Computer Chess 7]]
* [[Chrilly Donninger]] ('''1994'''). ''A la Recherche du Temps Perdu: 'That was easy'''. [[ICGA Journal#17_1|ICCA Journal, Vol. 17, No. 1]]
* [[Levente Kocsis]], [[Jos Uiterwijk]], [[Jaap van den Herik]] ('''2000'''). ''[http://link.springer.com/chapter/10.1007/3-540-45579-5_11 Learning Time Allocation using Neural Networks]''. [[CG 2000]], [http://zaphod.aml.sztaki.hu/papers/kocsis-CG00.ps postscript]
* [[Vladan Vučković]], [[Rade Šolak]] ('''2009'''). ''[http://facta.junis.ni.ac.rs/acar/acar200901/acar2009-07.html Time Management Procedure in Computer Chess]''. [http://facta.junis.ni.ac.rs/acar/acar200901/acar200901toc.html Facta Universitatis, Automatic Control and Robotics, Vol. 8, No. 1]
* [[Rade Šolak]], [[Vladan Vučković]] ('''2009'''). ''Time Management during a Chess Game''. [[ICGA Journal#32_4|ICGA Journal, Vol. 32 No. 4]]
* [[Shih-Chieh Huang]], [[Rémi Coulom]], [[Shun-Shii Lin]] ('''2011'''). ''Time Management for Monte-Carlo Tree Search Applied to the Game of Go''. TAAI 2010, [http://remi.coulom.free.fr/Publications/TimeManagement.pdf pdf]
* [[Hendrik Baier]], [[Mark Winands]] ('''2011'''). ''[http://link.springer.com/chapter/10.1007/978-3-642-31866-5_4 Time Management for Monte-Carlo Tree Search in Go]''. [[Advances in Computer Games 13]]
* [[Hendrik Baier]], [[Mark Winands]] ('''2016'''). ''Time Management for Monte Carlo Tree Search''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 8, No. 3, [https://dke.maastrichtuniversity.nl/m.winands/documents/time_management_for_monte_carlo_tree_search.pdf draft as pdf]

=Forum Posts=
==1993 ...==
* [http://groups.google.com/group/rec.games.chess/browse_frm/thread/c7bf58b3c59273e2/f388d174febe18d2 Open Letter To Chess Computer Programmers] by Kevin Gowen, [[Computer Chess Forums|rec.games.chess]], December 26, 1993
* [http://groups.google.com/group/rec.games.chess.computer/browse_frm/thread/5ecf6f473db3eeb6 Computer chess strategy] by Al, [[Computer Chess Forums|rgcc]], April 22, 1997
* [https://www.stmintz.com/ccc/index.php?id=12827 Time usage] by John Bartkiw, [[CCC]], December 08, 1997
* [https://www.stmintz.com/ccc/index.php?id=14872 How to program search timeout ?] by [[Rudolf Posch]], [[CCC]], February 04, 1998
* [https://www.stmintz.com/ccc/index.php?id=15406 How much time per move?] by [[Andrew Williams]], [[CCC]], March 02, 1998
* [https://www.stmintz.com/ccc/index.php?id=18553 Time control legend] by [[Don Dailey]], [[CCC]], May 13, 1998
==2000 ...==
* [https://www.stmintz.com/ccc/index.php?id=95710 Question: Fail low at root and time management] by [[William Bryant]], [[CCC]], February 08, 2000 » [[Fail-Low]], [[Root]]
* [https://www.stmintz.com/ccc/index.php?id=282702 new idea on managing time using depth reduction at root] by [[Scott Farrell]], [[CCC]], February 08, 2003
* [https://www.stmintz.com/ccc/index.php?id=359869 finding when a move is obvious] by [[Eric Oldre]], [[CCC]], April 13, 2004
* [https://www.stmintz.com/ccc/index.php?id=378905 question about fixing the time management of movei] by [[Uri Blass]], [[CCC]], July 25, 2004
==2005 ...==
* [http://www.talkchess.com/forum/viewtopic.php?p=131908 Where to put timeout() code in search?] by [[Stuart Cracraft]], [[CCC]], July 18, 2007
* [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=27446 Crafty (and others?) time management question] by [[John Merlino]], [[CCC]], April 14, 2009
* [http://www.talkchess.com/forum/viewtopic.php?t=28438 Time managment on ponder hit] by [[Mathieu Pagé]], [[CCC]], June 16, 2009 » [[Pondering]]
* [http://www.talkchess.com/forum/viewtopic.php?t=30326 Info from timeout search] by [[Michel Van den Bergh]], [[CCC]], October 26, 2009
==2010 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=35554 As though they were pondering] by [[Gabor Szots]], [[CCC]], July 23, 2010 » [[Pondering]]
* [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 » [[Pondering]]
* [http://www.talkchess.com/forum/viewtopic.php?t=35931 New Time Controls for WB] by [[Matthias Gemuh]], [[CCC]], August 30, 2010 » [[Chess Engine Communication Protocol]], [[WinBoard]], [[ChessGUI]]
'''2012'''
* [http://www.talkchess.com/forum/viewtopic.php?t=43636 Sudden death time controls] by [[Larry Kaufman]], [[CCC]], May 10, 2012
* [http://www.talkchess.com/forum/viewtopic.php?t=45325 Winboard protocol and fractional increments] by [[Jon Dart]], [[CCC]], September 25, 2012 » [[Chess Engine Communication Protocol]], [[WinBoard]]
* [http://www.talkchess.com/forum/viewtopic.php?t=46503 Adjustable search pruning depending on time control] by [[Jerry Donald]], [[CCC]], December 20, 2012 » [[Pruning]], [[Late Move Reductions]]
'''2013'''
* [http://www.talkchess.com/forum/viewtopic.php?t=47242 "panic time" and "easy moves"] by [[Robert Hyatt]], [[CCC]], February 16, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=47251 Yet another time allocation heuristic] by [[Steven Edwards]], [[CCC]], February 17, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=47442 easy-hard moves (again)] by [[Robert Hyatt]], [[CCC]], March 08, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=48824 Easy easy move] by [[Harm Geert Muller]], [[CCC]], August 02, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=48903 out-of-time: what to do?] by [[Folkert van Heusden]], [[CCC]], August 09, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=50705 Losing on time] by [[Gregory Strong]], [[CCC]], December 31, 2013
'''2014'''
* [http://www.talkchess.com/forum/viewtopic.php?t=50718 Time control comparison between engines] by [[Ed Schroder]], [[CCC]], January 01, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=51135 fixed time control management] by [[Daniel Shawul]], [[CCC]], February 01, 2014
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=53060 Question about Time Management] by ambrooks1, [[Computer Chess Forums|Winboard Forum]], February 06, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=51720 Move time and compiler optimization] by [[Edmund Moshammer]], [[CCC]], March 23, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=52021 Playing strength development - increasing time control] by [[Andreas Strangmüller]], [[CCC]], April 17, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=52069 Time based contempt] by [[Michel Van den Bergh]], April 20, 2014 » [[Contempt Factor]]
* [http://www.talkchess.com/forum/viewtopic.php?t=52464 Time Management] by [[Larry Kaufman]], [[CCC]], May 29, 2014
==2015 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=54939 Elo gain and optimal time management] by [[Kai Laskos]], [[CCC]], January 11, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=56534 What's the fastest time control you can effectively test at?] by Jordan Bray, [[CCC]], May 30, 2015
'''2016'''
* [http://www.talkchess.com/forum/viewtopic.php?t=61672 Photographing Chess Clock] by [[Harm Geert Muller]], [[CCC]], October 10, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=61784 Doubling of time control] by [[Andreas Strangmüller]], [[CCC]], October 21, 2016 » [[Match Statistics#DoublingTC|Doubling TC]], [[Depth#DiminishingReturns|Diminishing Returns]], [[Playing Strength]], [[Komodo]]
* [http://www.talkchess.com/forum/viewtopic.php?t=61976 New idea for "easy move detection"] by [[Rasmus Althoff]], [[CCC]], November 05, 2016 » [[CT800]]
* [http://www.talkchess.com/forum/viewtopic.php?t=62146 Stockfish 8 - Double time control vs. 2 threads] by [[Andreas Strangmüller]], [[CCC]], November 15, 2016 » [[Match Statistics#DoublingTC|Doubling TC]], [[Depth#DiminishingReturns|Diminishing Returns]], [[Playing Strength]], [[Stockfish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=62586 On time management] by [[Rasmus Althoff]], [[CCC]], December 24, 2016
'''2017'''
* [http://www.talkchess.com/forum/viewtopic.php?t=63362 Time managment ?] by [[Mahmoud Uthman]], [[CCC]], March 07, 2017
* [http://www.open-chess.org/viewtopic.php?f=5&t=3098 Time management ideas] by lucasart, [[Computer Chess Forums|OpenChess Forum]], April 03, 2017
* [http://www.talkchess.com/forum/viewtopic.php?t=64683 Invariance with time control of rating schemes] by [[Kai Laskos]], [[CCC]], July 22, 2017 <ref>[http://hardy.uhasselt.be/Toga/normalized_elo.pdf Normalized Elo] (pdf) by [[Michel Van den Bergh]]</ref>
* [http://www.talkchess.com/forum/viewtopic.php?t=66099 Time Managment translating to SMP] by [[Andrew Grant]], [[CCC]], December 23, 2017 » [[Parallel Search]]
'''2018'''
* [http://www.talkchess.com/forum/viewtopic.php?t=66821 Time control envelope in top engines could be improved?] by [[Kai Laskos]], [[CCC]], March 13, 2018 » [[Match Statistics]], [[Playing Strength]]

=External Links=
* [http://web.archive.org/web/20070607151549/www.brucemo.com/compchess/programming/time.htm Time Allocation] from [[Bruce Moreland|Bruce Moreland's]] [http://web.archive.org/web/20070607231311/www.brucemo.com/compchess/programming/index.htm Programming Topics]
* [https://en.wikipedia.org/wiki/Time_control Time control from Wikipedia]
* [https://en.wikipedia.org/wiki/Time_management Time management from Wikipedia]
* [http://chess.about.com/od/tipsforbeginners/qt/TimeManagement.htm Time Management] by [http://chess.about.com/bio/Edward-Scimia-52119.htm Edward Scimia] from [http://chess.about.com/ About Chess]
* Timing with a [[Neural Networks|neural network]] by [[Volker Annuss]], March 23, 2005, from [http://www.playwitharena.com/ Free chess graphical user interface (GUI) Arena for chess engines], News-Ticker, Page 6, 86, FQ
* [http://www.chesscafe.com/text/time.txt Time Management During a Chess Game] by [[Dan Heisman]]
* [https://en.wikipedia.org/wiki/Time_of_check_to_time_of_use Time of check to time of use from Wikipedia]
* [https://en.wikipedia.org/wiki/Buddy_Rich Buddy Rich] - [https://en.wikipedia.org/wiki/Don_Menza#Educator_and_composer Time Check], at The Top of the [https://en.wikipedia.org/wiki/Midtown_Plaza_%28Rochester%29 Plaza] in [https://en.wikipedia.org/wiki/Rochester,_New_York Rochester, NY], February 6, 1973, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: {{#evu:https://www.youtube.com/watch?v=5reK-_e-02Q|alignment=left|valignment=top}}
* [https://en.wikipedia.org/wiki/Hiromi_Uehara#Hiromi.27s_Sonicbloom Hiromi’s Sonicbloom] - [https://en.wikipedia.org/wiki/Time_Control Time Difference], 2007, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: [[Videos#HiromiUehara|Hiromi Uehara]], [https://en.wikipedia.org/wiki/Martin_Valihora Martin Valihora], [https://en.wikipedia.org/wiki/Tony_Grey Tony Grey], [https://en.wikipedia.org/wiki/David_Fiuczynski David Fiuczynski]
: {{#evu:https://www.youtube.com/watch?v=PYUU19Cnf-0|alignment=left|valignment=top}}
* [[Videos#HiromiUehara|Hiromi Uehara]], [https://en.wikipedia.org/wiki/David_Fiuczynski David Fiuczynski], [https://en.wikipedia.org/wiki/Tony_Grey Tony Grey], [http://www.linkedin.com/pub/jordan-perlson/18/562/b1b Jordan Perlson] - [https://en.wikipedia.org/wiki/Time_Control Time Out], [http://es.wikipedia.org/wiki/Festival_Internacional_de_Jazz_de_San_Javier XI Festival de Jazz de San Javier], 2008, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: {{#evu:https://www.youtube.com/watch?v=GzOSJZ7xGKM|alignment=left|valignment=top}}

=References=
<references />

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

Navigation menu