This is a temporary, read-only recovery of the chessprogrammingwiki while a longer-term plan is worked out. Editing is not possible right now, but will be again soon.
Chess Programming Wiki All pages Other namespaces

Time Management

Home * Search * Time Management

Roland La Tuffo Barcsik - Time out 1Roland La Tuffo Barcsik - Time out 1


  1. 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↩︎

Time management refers to algorithms and heuristics to allocate time for searching a move under time control requirements in a game of chess. The player to move consumes his time, and if he exceeds his time limit, the game is lost on demand of the opponent player, or in automatic computer chess play by an arbiter instance.

Iterative deepening in conjunction with its predictable effective branching factor allows a flexible time management either to terminate the current iteration and to fall back on best move and PV of the previous iteration, or to decide about termination prior to start a new iteration or to search a next root-move.

Contents
  1. Time Controls
    1. Sudden Death
    2. Cyclic Time Controls
    3. Time Control with Increment
      1. Fischer Time
      2. Bronstein Time
  2. Basic TM
  3. Enhancements
    1. Soft Bound
    2. Considerations
    3. Premature Termination
    4. Historical Techniques
  4. Losing on Time
  5. See also
  6. Publications
  7. Forum Posts
    1. 1993 ...
    2. 2000 ...
    3. 2005 ...
    4. 2010 ...
    5. 2015 ...
    6. 2020 ...
  8. External Links
  9. References

Time Controls

Fast chess is usually played with an immediate sudden death time control, while others may have one or more regular time controls before the sudden death control applies there as well.

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.

Cyclic Time Controls

Cyclic 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 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 development of digital chess clocks in the 70s and 80s 1 .

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.

Fischer Time

In 1988 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 2 .

Bronstein Time

Bronstein's time works similar, but never increases the remaining time. It was for instance used during the late Aegon Tournaments.

Basic TM

A basic time management technique is to use base / 20 + increment / 2 time per move. This is very competitive with advanced time management schemes, and is typically chosen as the foundation to build upon.

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 and its PV.

Soft Bound

Drawing on the observation that terminating a depth halfway is wasteful, a large enhancement to a basic time management scheme is to introduce two levels of time allocation. Namely, one optimium time threshold (soft bound), and one maximum time threshold (hard bound). During search, the optimum time threshold is checked on each iteration of iterative deepening, while the maximum time threshold is checked periodically, usually by every set amount of nodes.

Considerations

Premature Termination

Historical Techniques

These techniques saw use in older programs, but have fallen out of use with the advent of modern testing and tuning.

For instance, Robert Hyatt gave following formula from Cray Blitz in Using Time Wisely 4

   nMoves =  min( numberOfMovesOutOfBook, 10 );
   factor = 2 -  nMoves / 10 
   target = timeLeft / numberOfMovesUntilNextTimeControl
   time   = factor * target

inspired by following graph of human timing from several grandmaster tournament games

Note that good time management for humans differs greatly from good time management for engines, and this graph should not be taken as a way to shape your engine's time usage.

Losing on Time

See also

Publications

Forum Posts

1993 ...

2000 ...

2005 ...

2010 ...

2012

2013

2014

2015 ...

2016

2017

2018 ...

Re: easy move? by Álvaro Begué, CCC, October 19, 2018

2020 ...

Watch on YouTube

Hiromi Uehara, Martin Valihora, Tony Grey, David Fiuczynski

Watch on YouTube

Watch on YouTube

References

Up one Level


  1. History of the clocks from DGT - Digital Game Technology↩︎

  2. Digital chess clock - Google Patent Search↩︎

  3. question about fixing the time management of movei by Uri Blass from CCC, July 25, 2004↩︎

  4. Robert Hyatt (1984). Using Time Wisely. ICCA Journal, Vol. 7, No. 1↩︎

  5. Normalized Elo (pdf) by Michel Van den Bergh↩︎

Categories: David Fiuczynski · Hiromi Uehara

What links here

Contributors: GerdIsenberg, ShawnXu, Ciekce.