Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tm change 2 #5065

Closed
wants to merge 19 commits into from
Closed
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
8b67b7e
use current time instead of '1' for timeLeft formula.
TierynnB Feb 18, 2024
e1f6b87
Merge branch 'official-stockfish:master' into TM_Change_2
TierynnB Feb 18, 2024
de4a3c4
make timeLeft a double, timepoint seemed unecessary since it was alwa…
TierynnB Feb 18, 2024
8afec41
fixed comments
TierynnB Feb 18, 2024
5cf3f49
use current time instead of '1' for timeLeft
TierynnB Feb 18, 2024
61e8083
Merge branch 'TM_Change_2' of https://github.com/TierynnB/Stockfish i…
TierynnB Feb 22, 2024
76c50a0
use current time instead of '1' for timeLeft
TierynnB Feb 18, 2024
3c3f88b
Merge branch 'TM_Change_2' of https://github.com/TierynnB/Stockfish i…
TierynnB Feb 22, 2024
7d0cd7b
parent 8b67b7ecd8b0d4d4ddf8c15c44806f8a6ab441d7
TierynnB Feb 18, 2024
676a1d7
Merge branch 'TM_Change_2' of https://github.com/TierynnB/Stockfish i…
TierynnB Feb 22, 2024
9299d01
Remove penalty for quiet ttMove that fails low
gahtan-syarif Feb 9, 2024
40c6cdf
Simplify TT PV reduction
cj5716 Feb 13, 2024
4acf810
Update default main net to nn-b1a57edbea57.nnue
linrock Feb 6, 2024
ce952bf
Simplify PV node reduction
cj5716 Feb 13, 2024
4a5ba40
Merge branch 'TM_Change_2' of https://github.com/TierynnB/Stockfish i…
TierynnB Feb 22, 2024
8a0206f
use current time instead of '1' for timeLeft formula.
TierynnB Feb 18, 2024
524083a
Merge branch 'TM_Change_2' of https://github.com/TierynnB/Stockfish i…
TierynnB Feb 22, 2024
49f3213
Squashed commit of the following:
TierynnB Feb 23, 2024
1d0d583
Merge branch 'TM_Change_2' of https://github.com/TierynnB/Stockfish i…
TierynnB Feb 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 14 additions & 7 deletions src/timeman.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,22 @@ void TimeManagement::init(Search::LimitsType& limits,
limits.npmsec = npmsec;
}

// Maximum move horizon of 50 moves
// Maximum and default move horizon of 50 moves
int mtg = limits.movestogo ? std::min(limits.movestogo, 50) : 50;

// Make sure timeLeft is > 0 since we may use it as a divisor
TimePoint timeLeft = std::max(TimePoint(1), limits.time[us] + limits.inc[us] * (mtg - 1)
- moveOverhead * (2 + mtg));
// Make sure timeLeft is > 0 since we use it as a divisor
double timeLeft =
std::max(limits.time[us], limits.time[us] + limits.inc[us] * (mtg - 1) - moveOverhead * mtg);

// Use extra time with larger increments
double optExtra = std::clamp(1.0 + 12.5 * limits.inc[us] / limits.time[us], 1.0, 1.11);

// Calculate time constants based on current time left.
double optConstant = std::min(0.00334 + 0.0003 * std::log10(limits.time[us] / 1000.0), 0.0049);
double maxConstant = std::max(3.4 + 3.0 * std::log10(limits.time[us] / 1000.0), 2.76);

// x basetime (+ z increment)
// If there is a healthy increment, timeLeft can exceed actual available
// If there is a healthy increment and low mtg, timeLeft can exceed actual available
// game time for the current move, so also cap to 20% of available game time.
if (limits.movestogo == 0)
{
Expand All @@ -102,15 +109,15 @@ void TimeManagement::init(Search::LimitsType& limits,
double maxConstant = std::max(3.4 + 3.0 * std::log10(limits.time[us] / 1000.0), 2.76);

optScale = std::min(0.0120 + std::pow(ply + 3.1, 0.44) * optConstant,
0.21 * limits.time[us] / double(timeLeft))
0.21 * limits.time[us] / timeLeft)
* optExtra;
maxScale = std::min(6.9, maxConstant + ply / 12.2);
}

// x moves in y seconds (+ z increment)
else
{
optScale = std::min((0.88 + ply / 116.4) / mtg, 0.88 * limits.time[us] / double(timeLeft));
optScale = std::min((0.88 + ply / 116.4) / mtg, 0.88 * limits.time[us] / timeLeft);
maxScale = std::min(6.3, 1.5 + 0.11 * mtg);
}

Expand Down
Loading