Don't adjust MoveOverhead by increment
authorprotonspring <mike@whiteley.org>
Fri, 15 May 2020 23:23:49 +0000 (17:23 -0600)
committerJoost VandeVondele <Joost.VandeVondele@gmail.com>
Sun, 17 May 2020 08:10:28 +0000 (10:10 +0200)
This is a change to address a potential timing issue for slow networks.

Move Overhead was limited by TC increment,
which might be problematic if small increments (or sudden death)
on slow networks (needing high Move Overhead) are used.

STC, sudden death.
LLR: 2.94 (-2.94,2.94) {-1.50,0.50}
Total: 169368 W: 38023 L: 38054 D: 93291
Ptnml(0-2): 3767, 20250, 36595, 20391, 3681
https://tests.stockfishchess.org/tests/view/5ebf25efe9d85f94dc42986f

STC, 10+0.1
LLR: 2.94 (-2.94,2.94) {-1.50,0.50}
Total: 83896 W: 16092 L: 16026 D: 51778
Ptnml(0-2): 1401, 9697, 19670, 9795, 1385
https://tests.stockfishchess.org/tests/view/5ec0239de9d85f94dc42991e

closes https://github.com/official-stockfish/Stockfish/pull/2684

No functional change.

src/timeman.cpp
src/ucioption.cpp

index f794ab133326e8a31ed8a50044a7d62c92726cdc..0021e96b7b7dc7c2a869efbf6d900945ab132a4a 100644 (file)
@@ -64,9 +64,6 @@ void TimeManagement::init(Search::LimitsType& limits, Color us, int ply) {
   //Maximum move horizon of 50 moves
   int mtg = limits.movestogo ? std::min(limits.movestogo, 50) : 50;
 
-  // Adjust moveOverhead if there are tiny increments
-  moveOverhead = std::max(10, std::min<int>(limits.inc[us] / 2, moveOverhead));
-
   // 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));
index ad576fda2d10fe55c8f49a4f61a283953396eba1..66fd42d1e27268aa1c1f7b46cab1c3695cb2abb4 100644 (file)
@@ -68,7 +68,7 @@ void init(OptionsMap& o) {
   o["Ponder"]                << Option(false);
   o["MultiPV"]               << Option(1, 1, 500);
   o["Skill Level"]           << Option(20, 0, 20);
-  o["Move Overhead"]         << Option(30, 0, 5000);
+  o["Move Overhead"]         << Option(10, 0, 5000);
   o["Minimum Thinking Time"] << Option( 0, 0, 5000);
   o["Slow Mover"]            << Option(100, 10, 1000);
   o["nodestime"]             << Option(0, 0, 10000);