From 4e8986483a83296e37433da7b07b64de53613f6f Mon Sep 17 00:00:00 2001 From: Vizvezdenec Date: Fri, 7 Feb 2020 20:04:43 +0300 Subject: [PATCH] Modify singular beta for ttPv positions. This patch lowers singular beta for positions that have been in pv and are not pv nodes. The idea of using ttpv && !PvNode improved scaling with TC and could be useful for other search heuristics. passed STC http://tests.stockfishchess.org/tests/view/5e3f6d7ce70d848499f63bbc LLR: 2.94 (-2.94,2.94) {-0.50,1.50} Total: 154953 W: 29688 L: 29272 D: 95993 Ptnml(0-2): 2616, 17912, 36037, 18210, 2673 passed LTC http://tests.stockfishchess.org/tests/view/5e405561e70d848499f63bfa LLR: 2.95 (-2.94,2.94) {0.25,1.75} Total: 70974 W: 9305 L: 8932 D: 52737 Ptnml(0-2): 466, 6658, 20920, 6826, 569 closes https://github.com/official-stockfish/Stockfish/pull/2550 Bench: 4932981 --- src/search.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/search.cpp b/src/search.cpp index 9562bf86..c8a35a36 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1048,7 +1048,7 @@ moves_loop: // When in check, search starts from here && tte->depth() >= depth - 3 && pos.legal(move)) { - Value singularBeta = ttValue - 2 * depth; + Value singularBeta = ttValue - (((ttPv && !PvNode) + 4) * depth) / 2; Depth halfDepth = depth / 2; ss->excludedMove = move; value = search(pos, ss, singularBeta - 1, singularBeta, halfDepth, cutNode); -- 2.39.2