From 40e0486d02fd8682c8d369c20bf24b6a5ebc9927 Mon Sep 17 00:00:00 2001 From: Michael Chaly Date: Thu, 30 Jan 2025 05:36:53 +0300 Subject: [PATCH] Make IIR for PvNodes less aggressive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In line with previous experiments on improving scaling of IIR. Now it disables IIR for pv nodes with depth <= 2, so disallowing for it to perform a qsearch dive. Fixed games STC: https://tests.stockfishchess.org/tests/view/679ae6a951037ccaf3e30fb3 Elo: -10.36 ± 2.5 (95%) LOS: 0.0% Total: 20020 W: 4902 L: 5499 D: 9619 Ptnml(0-2): 128, 2653, 4976, 2194, 59 Passed VVLTC with STC bounds: https://tests.stockfishchess.org/tests/view/67954f2e406a4efe9eb7d266 LLR: 2.94 (-2.94,2.94) <0.00,2.00> Total: 196758 W: 50725 L: 50258 D: 95775 Ptnml(0-2): 21, 18153, 61564, 18620, 21 Passed VVLTC with LTC bounds: https://tests.stockfishchess.org/tests/view/6795a26bf6281b7d7b18698b LLR: 2.94 (-2.94,2.94) <0.50,2.50> Total: 323092 W: 83679 L: 82857 D: 156556 Ptnml(0-2): 48, 29475, 101659, 30335, 29 closes https://github.com/official-stockfish/Stockfish/pull/5834 Bench: 3464332 --- src/search.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index fbc97bb4..2f0b164a 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -869,13 +869,9 @@ Value Search::Worker::search( // Step 10. Internal iterative reductions // For PV nodes without a ttMove as well as for deep enough cutNodes, we decrease depth. // (* Scaler) Especially if they make IIR more aggressive. - if ((PvNode || (cutNode && depth >= 7)) && !ttData.move) + if (((PvNode || cutNode) && depth >= 7 - 4 * PvNode) && !ttData.move) depth -= 2; - // Use qsearch if depth <= 0 - if (depth <= 0) - return qsearch(pos, ss, alpha, beta); - // Step 11. ProbCut // If we have a good enough capture (or queen promotion) and a reduced search // returns a value much above beta, we can (almost) safely prune the previous move.