Simplify Killer Move Penalty
authorVoyagerOne <excelgeek@gmail.com>
Thu, 6 Dec 2018 13:39:41 +0000 (14:39 +0100)
committerStéphane Nicolet <cassio@free.fr>
Thu, 6 Dec 2018 13:40:08 +0000 (14:40 +0100)
STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 20816 W: 4525 L: 4402 D: 11889
http://tests.stockfishchess.org/tests/view/5c017cb90ebc5902bcede5b4

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 39287 W: 6401 L: 6309 D: 26577
http://tests.stockfishchess.org/tests/view/5c01825e0ebc5902bcede686

Bench: 3773021

src/search.cpp

index 6a63fcaa338910a221d2770374faea8ead35f183..66843515e4ddc332ddae523814fd52099d399533 100644 (file)
@@ -1185,15 +1185,12 @@ moves_loop: // When in check, search starts from here
 
         update_capture_stats(pos, bestMove, capturesSearched, captureCount, stat_bonus(depth + ONE_PLY));
 
-        // Extra penalty for a quiet TT move in previous ply when it gets refuted
-        if ((ss-1)->moveCount == 1 && !pos.captured_piece())
-            update_continuation_histories(ss-1, pos.piece_on(prevSq), prevSq, -stat_bonus(depth + ONE_PLY));
-
-        // Extra penalty for killer move in previous ply when it gets refuted
-        else if (  (ss-1)->killers[0]
-                && (ss-1)->currentMove == (ss-1)->killers[0]
-                && !pos.captured_piece())
-            update_continuation_histories(ss-1, pos.piece_on(prevSq), prevSq, -stat_bonus(depth));
+        // Extra penalty for a quiet TT or main killer move in previous ply when it gets refuted
+               if (   (ss-1)->moveCount == 1
+                   || ((ss-1)->currentMove == (ss-1)->killers[0] && (ss-1)->killers[0]))
+                   if (!pos.captured_piece())
+                update_continuation_histories(ss-1, pos.piece_on(prevSq), prevSq, -stat_bonus(depth + ONE_PLY));
+
     }
     // Bonus for prior countermove that caused the fail low
     else if (   (depth >= 3 * ONE_PLY || PvNode)