From 6ecab03dee15fe30bc0237919180a2e51e0ce4b1 Mon Sep 17 00:00:00 2001 From: Vizvezdenec Date: Fri, 20 Mar 2020 12:12:56 +0300 Subject: [PATCH] Adjust singular extension search depth This patch applies a different singular extension search logic in case the position is ttPv && !PvNode. It changes the depth of this search, higher for this types of nodes, and lower for other nodes. passed STC http://tests.stockfishchess.org/tests/view/5e72bbaae42a5c3b3ca2e75e LLR: 2.94 (-2.94,2.94) {-0.50,1.50} Total: 12692 W: 2608 L: 2389 D: 7695 Ptnml(0-2): 238, 1414, 2839, 1601, 254 passed LTC http://tests.stockfishchess.org/tests/view/5e731c07e42a5c3b3ca2e770 LLR: 2.96 (-2.94,2.94) {0.25,1.75} Total: 145716 W: 19218 L: 18626 D: 107872 Ptnml(0-2): 1100, 13605, 42899, 14111, 1143 closes https://github.com/official-stockfish/Stockfish/pull/2590 Bench: 5398277 --- src/search.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index fe57806c..abc6874e 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1055,9 +1055,9 @@ moves_loop: // When in check, search starts from here && pos.legal(move)) { Value singularBeta = ttValue - (((ttPv && !PvNode) + 4) * depth) / 2; - Depth halfDepth = depth / 2; + Depth singularDepth = (depth - 1 + 3 * (ttPv && !PvNode)) / 2; ss->excludedMove = move; - value = search(pos, ss, singularBeta - 1, singularBeta, halfDepth, cutNode); + value = search(pos, ss, singularBeta - 1, singularBeta, singularDepth, cutNode); ss->excludedMove = MOVE_NONE; if (value < singularBeta) -- 2.39.2