CounterMove History Pruning Tweak
authorVoyagerOne <excelgeek@gmail.com>
Wed, 25 Jul 2018 11:49:35 +0000 (07:49 -0400)
committerStéphane Nicolet <cassio@free.fr>
Wed, 25 Jul 2018 15:55:16 +0000 (17:55 +0200)
STC: (Yellow)
LLR: -2.96 (-2.94,2.94) [0.00,5.00]
Total: 40124 W: 8817 L: 8751 D: 22556
http://tests.stockfishchess.org/tests/view/5b5690180ebc5902bdb85c8a

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 21599 W: 3811 L: 3599 D: 14189
http://tests.stockfishchess.org/tests/view/5b5757010ebc5902bdb86b1f

Closes https://github.com/official-stockfish/Stockfish/pull/1697

Bench:  4794161

src/search.cpp

index af7a5c1..325278f 100644 (file)
@@ -935,7 +935,8 @@ moves_loop: // When in check, search starts from here
               int lmrDepth = std::max(newDepth - reduction<PvNode>(improving, depth, moveCount), DEPTH_ZERO) / ONE_PLY;
 
               // Countermoves based pruning (~20 Elo)
-              if (   lmrDepth < 3
+              if (   lmrDepth < 4
+                  && (lmrDepth < 3 || ((ss - 1)->statScore > 0 && !PvNode))
                   && (*contHist[0])[movedPiece][to_sq(move)] < CounterMovePruneThreshold
                   && (*contHist[1])[movedPiece][to_sq(move)] < CounterMovePruneThreshold)
                   continue;