From 50287a55d3b07623120d938a4159d051e32d852d Mon Sep 17 00:00:00 2001 From: Stefan Geschwentner Date: Mon, 23 Jul 2018 09:16:14 +0200 Subject: [PATCH 1/1] Tweak reductions formula: 0.88 * depth + 0.12 Replace the depth part in the reduction formula for higher depths with a slower growing linear function. So for depth > 3 less reductions are used. What we can try next: - move the break point to even higher depths - tweak the slope for lower and higher depth - even possibly use a further higher depth threshold for a another slower growing function STC: LLR: 2.95 (-2.94,2.94) [0.00,5.00] Total: 25317 W: 5763 L: 5505 D: 14049 http://tests.stockfishchess.org/tests/view/5b54f9f70ebc5902bdb840ed LTC: LLR: 2.96 (-2.94,2.94) [0.00,5.00] Total: 7451 W: 1320 L: 1167 D: 4964 http://tests.stockfishchess.org/tests/view/5b54feeb0ebc5902bdb84244 Closes https://github.com/official-stockfish/Stockfish/pull/1692 Bench: 4617359 --- src/search.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/search.cpp b/src/search.cpp index af7a5c13..89636f23 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -153,7 +153,8 @@ void Search::init() { for (int d = 1; d < 64; ++d) for (int mc = 1; mc < 64; ++mc) { - double r = log(d) * log(mc) / 1.95; + double slope = d > 2 ? 0.88 * d + 0.36 : d; + double r = log(slope) * log(mc) / 1.95; Reductions[NonPV][imp][d][mc] = int(std::round(r)); Reductions[PV][imp][d][mc] = std::max(Reductions[NonPV][imp][d][mc] - 1, 0); -- 2.20.1