From 10429dd616b97250107a64c1b91fdffee03e4790 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Mon, 4 Mar 2013 09:38:58 +0100 Subject: [PATCH] Increase see prune depth This seems good at short TC controls. After 10000 games at 20+0.05 ELO: 9.56 +-6.8 (95%) LOS: 100.0% Total: 10000 W: 1949 L: 1674 D: 6377 Testing at long TC and regression testing is still ongoing. So this is a bit speculative commit and could be reverted in the future. Also re-testing at long TC the SEE pruning in PV nodes seems less effective (perhaps even a regression, but still ongoing) so disabled for now. bench: 4968764 --- src/search.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index fc3ecae4d87..40a887c2782 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -852,14 +852,14 @@ namespace { newDepth = depth - ONE_PLY + ext; // Step 13. Futility pruning (is omitted in PV nodes) - if ( !captureOrPromotion + if ( !PvNode + && !captureOrPromotion && !inCheck && !dangerous && move != ttMove) { // Move count based pruning - if ( !PvNode - && depth < 16 * ONE_PLY + if ( depth < 16 * ONE_PLY && moveCount >= FutilityMoveCounts[depth] && (!threatMove || !refutes(pos, move, threatMove))) { @@ -876,7 +876,7 @@ namespace { futilityValue = ss->staticEval + ss->evalMargin + futility_margin(predictedDepth, moveCount) + Gain[pos.piece_moved(move)][to_sq(move)]; - if (!PvNode && futilityValue < beta) + if (futilityValue < beta) { if (SpNode) splitPoint->mutex.lock(); @@ -885,7 +885,7 @@ namespace { } // Prune moves with negative SEE at low depths - if ( predictedDepth < 2 * ONE_PLY + if ( predictedDepth < 3 * ONE_PLY && pos.see_sign(move) < 0) { if (SpNode)