Time management and elo gain

Discussion of chess software programming and technical issues.

Moderator: Ras

gaard
Posts: 463
Joined: Mon Jun 07, 2010 3:13 am
Location: Holland, MI
Full name: Martin W

Time management and elo gain

Post by gaard »

Is there something like a bound I can use as a benchmark to gauge the effectiveness of my time management heuristics? My understanding is that pondering can optimally give you the equivalent of using 2x as much time, but what about time usage without pondering? Is there an upper bound on what can be gained?
yeni_sekme
Posts: 40
Joined: Mon Mar 01, 2021 7:51 pm
Location: İstanbul, Turkey
Full name: Ömer Faruk Tutkun

Re: Time management and elo gain

Post by yeni_sekme »

I'm planning to run a test to measure how much I can get from time management. I will run two tournaments one with fixed time other one is normal game, and then compare the results. To do this, I need to find a engine with good time management in 3000-3200 elo range.
User avatar
j.t.
Posts: 268
Joined: Wed Jun 16, 2021 2:08 am
Location: Berlin
Full name: Jost Triller

Re: Time management and elo gain

Post by j.t. »

A trivial upper bound is that you can't get time management better with just time management than if you speed up your engine by roughly 50-100 times, so that the faster version can calculate as many nodes in evenly spaced time frames for each move in the game, as the slower version could theoretically do, when assigning all the time to a single move.

What can be gained depends on how bad your current time management is. Theoretically, you could improve your time management such that your engine gets infinitely better.

Though, I just noticed that these two claims contradict each other ...

EDIT: okay, for the first claim, it is important that the sped up version uses the trivial time management of giving each move roughly the same amount of time. So it's not contradicting after all.
dangi12012
Posts: 1062
Joined: Tue Apr 28, 2020 10:03 pm
Full name: Daniel Infuehr

Re: Time management and elo gain

Post by dangi12012 »

j.t. wrote: Thu Dec 02, 2021 3:02 pm A trivial upper bound is that you can't get time management better with just time management than if you speed up your engine by roughly 50-100 times, so that the faster version can calculate as many nodes in evenly spaced time frames for each move in the game, as the slower version could theoretically do, when assigning all the time to a single move.

What can be gained depends on how bad your current time management is. Theoretically, you could improve your time management such that your engine gets infinitely better.

Though, I just noticed that these two claims contradict each other ...

EDIT: okay, for the first claim, it is important that the sped up version uses the trivial time management of giving each move roughly the same amount of time. So it's not contradicting after all.
Nah i am noticing stockfish thinks longer on moves where the score changes a lot. So it makes sure to make the best move.
The default is always (wtime + winc * moves remaining) / 50.
You can look it up in SF code under timemanager
Worlds-fastest-Bitboard-Chess-Movegenerator
Daniel Inführ - Software Developer
User avatar
j.t.
Posts: 268
Joined: Wed Jun 16, 2021 2:08 am
Location: Berlin
Full name: Jost Triller

Re: Time management and elo gain

Post by j.t. »

dangi12012 wrote: Thu Dec 02, 2021 3:24 pm Nah i am noticing stockfish thinks longer on moves where the score changes a lot. So it makes sure to make the best move.
The default is always (wtime + winc * moves remaining) / 50.
You can look it up in SF code under timemanager
I am just saying, an engine with the best possible time management is only as good or worse than an engine with the trivial time management of giving each move roughly the same amount of time that is roughly 50-100 times faster.
User avatar
Ras
Posts: 2702
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Time management and elo gain

Post by Ras »

gaard wrote: Thu Dec 02, 2021 1:07 amwhat about time usage without pondering? Is there an upper bound on what can be gained?
Not a bound, but a data point: one of the CCRL testers often does "inofficial" tournaments at fixed time per game with no increments. Most engines don't really care about that time control because it's not relevant for CCRL Elo, but my engine does because that's important for the annual dedicated units roundup. The result was that my engine scored 50 Elo better than at regular CCRL time controls.
Rasmus Althoff
https://www.ct800.net
Uri Blass
Posts: 10903
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Time management and elo gain

Post by Uri Blass »

gaard wrote: Thu Dec 02, 2021 1:07 am Is there something like a bound I can use as a benchmark to gauge the effectiveness of my time management heuristics? My understanding is that pondering can optimally give you the equivalent of using 2x as much time, but what about time usage without pondering? Is there an upper bound on what can be gained?
I think that it is dependent on the time control and the initial time management you start.

If the time control is for example 40 minutes for 40000 moves(not that somebody use it) then using the same time for every move(0.001 minutes) is stupid and you can get a lot relative to it.

Time control may be also 1+1 time control and in this case the question is what is the time management that you start with.

I think the question should be not about elo but about being equivalent to some speed improvement.
nionita
Posts: 180
Joined: Fri Oct 22, 2010 9:47 pm
Location: Austria
Full name: Niculae Ionita

Re: Time management and elo gain

Post by nionita »

gaard wrote: Thu Dec 02, 2021 1:07 am Is there something like a bound I can use as a benchmark to gauge the effectiveness of my time management heuristics? My understanding is that pondering can optimally give you the equivalent of using 2x as much time, but what about time usage without pondering? Is there an upper bound on what can be gained?
I can't say how much you can win, but I can give you an example how much you can lose just with time management. Barbarossa sometimes "thinks" too long, especially for longer time controls, so I just shortened 2 parameters and increased the reserved time (in milliseconds) for move communication to the the GUI:

Code: Select all

-remTimeFracIni = 0.15  -- fraction of remaining time which we can consume at once - initial value
-remTimeFracFin = 0.5   -- same at final (when remaining time is near zero)
+remTimeFracIni = 0.05  -- fraction of remaining time which we can consumed at once - initial value
+remTimeFracFin = 0.25  -- same at final (when remaining time is near zero)
...
-timeReserved = 100     -- milliseconds reserved for move communication
+timeReserved = 200     -- milliseconds reserved for move communication
The changes may seem dramatic, but just looking at games I could not say I observe a noticeable difference. After 8000 games at 1' + 1'' this lost 12 Elo.