Time divider in sudden death TC

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Time divider in sudden death TC

Post by xr_a_y »

When not having a "movetogo" variable to rely on, like in sudden death TC, one has to use a (more or less) fixed number of move to divide the remaining available time.

For example, in deeppov

Code: Select all

int divider = 50;
allocatedTimeMiliSec = winc+(wtime - wtime/divider)/divider;
In Rodent, more or less the same divider is egal to 40.

In stockfish, the MoveHorizon=50 variable is used the same way.

In Weini I was trying to plan time in suddendeath for a 65 moves game but always assuming at least 10 moves remains. This doesn't seem to be a good idea ...

Code: Select all

remainingMoveUntilNextTC = std::max(10, 65 - position.Moves()); // always be able to play 10 more moves ...
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Time divider in sudden death TC

Post by Ras »

In the CT800 engine, I'm using this for SD TC:

Code: Select all

int expected_moves;

if (movenumber >= 70)
    expected_moves = 20;
else
    expected_moves = 48 - (movenumber * 2) / 5;

/*keep a 100 ms as safeguard buffer*/
*wmove_time = (wtime - 100LL) / expected_moves;
*bmove_time = (btime - 100LL) / expected_moves;

if ((movenumber >= 10) && (movenumber <= 30)) /*account for time savings*/
{
    *wmove_time *= 5LL;
    *wmove_time /= 4LL;
    *bmove_time *= 5LL;
    *bmove_time /= 4LL;
}
The time savings mentioned are premature iteration stop (no further iteration if >= 55% of the move time has been used up), halving the thinking time when in check (there are few legal moves anyway), "easy moves" which only get 6 plies depth, and situations where there is only one legal move.
Rasmus Althoff
https://www.ct800.net
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Time divider in sudden death TC

Post by xr_a_y »

Thanks for the snippet shared ; this is allmost the same idea.

Anyone has elo gain/loss stats for different TC managements idea ? can it be more than 50elo ?
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Time divider in sudden death TC

Post by cdani »

Sure a good time management gives more than 30 elo, if not much more.
In Andscacs I assume 24 moves always remaining, but with some other tricks to improve this.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Time divider in sudden death TC

Post by xr_a_y »

ok thanks, and how are those type of parameters tuned ?
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Time divider in sudden death TC

Post by cdani »

xr_a_y wrote: Sat Jun 16, 2018 6:55 pm ok thanks, and how are those type of parameters tuned ?
I do it by hand.