]> git.sesse.net Git - stockfish/commitdiff
Tweak null move pruning conditions
authorStefan Geschwentner <stgeschwentner@gmail.com>
Tue, 8 May 2018 17:03:22 +0000 (19:03 +0200)
committerStéphane Nicolet <cassio@free.fr>
Tue, 8 May 2018 21:31:55 +0000 (23:31 +0200)
Allow null move pruning only if last stat score < 30000.

Passed STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 12653 W: 2641 L: 2454 D: 7558
http://tests.stockfishchess.org/tests/view/5af1d8830ebc5968e6523edb

Passed LTC:
LLR: 2.97 (-2.94,2.94) [0.00,5.00]
Total: 19782 W: 3072 L: 2878 D: 13832
http://tests.stockfishchess.org/tests/view/5af1ee8c0ebc5968e6523ee4

Ideas for further work:

• Tune the stat score threshold.
• Try depth based stat score threshold.
• Try stat score condition for other prunings.

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

Bench: 5088156

src/search.cpp

index 2072c4bc241d7590d8dca47ba04e3e2c6985146b..744bb7886c5a2f06749faf41e23e68445f25e32c 100644 (file)
@@ -737,6 +737,7 @@ namespace {
     // Step 9. Null move search with verification search (~40 Elo)
     if (   !PvNode
         && (ss-1)->currentMove != MOVE_NULL
+        && (ss-1)->statScore < 30000
         &&  eval >= beta
         &&  ss->staticEval >= beta - 36 * depth / ONE_PLY + 225
         && (ss->ply >= thisThread->nmp_ply || ss->ply % 2 != thisThread->nmp_odd))