From 56fb9eec9343f60399162715c258650d5786154a Mon Sep 17 00:00:00 2001 From: Fabian Fichter Date: Fri, 14 Sep 2018 19:26:33 +0200 Subject: [PATCH] Skip futility pruning for extinction variants STC extinction LLR: 2.97 (-2.94,2.94) [0.00,10.00] Total: 419 W: 251 L: 147 D: 21 http://35.161.250.236:6543/tests/view/5b9bef726e23db0fbab0dd88 --- src/search.cpp | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index d2646cc..d2b8255 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -742,6 +742,8 @@ namespace { // Step 8. Futility pruning: child node (~30 Elo) if ( !rootNode && depth < 7 * ONE_PLY + && !( pos.extinction_value() == -VALUE_MATE + && pos.extinction_piece_types().find(ALL_PIECES) == pos.extinction_piece_types().end()) && eval - futility_margin(depth, improving) * (1 + !!pos.max_check_count()) >= beta && eval < VALUE_KNOWN_WIN) // Do not return unproven wins return eval; @@ -958,6 +960,8 @@ moves_loop: // When in check, search starts from here // Futility pruning: parent node (~2 Elo) if ( lmrDepth < 7 && !inCheck + && !( pos.extinction_value() == -VALUE_MATE + && pos.extinction_piece_types().find(ALL_PIECES) == pos.extinction_piece_types().end()) && ss->staticEval + 256 + 200 * lmrDepth <= alpha) continue; @@ -1322,6 +1326,8 @@ moves_loop: // When in check, search starts from here // Futility pruning if ( !inCheck && !givesCheck + && !( pos.extinction_value() == -VALUE_MATE + && pos.extinction_piece_types().find(ALL_PIECES) == pos.extinction_piece_types().end()) && futilityBase > -VALUE_KNOWN_WIN && !pos.advanced_pawn_push(move)) { -- 1.7.0.4