From 88de112b84a5285c2afb3e075a05c2ab8ad3fd33 Mon Sep 17 00:00:00 2001 From: candirufish Date: Sun, 10 Jun 2018 01:53:05 -0700 Subject: [PATCH] Simplify capture pruning margin formula Using just `PawnValueEg * depth` as Capture Prune Margin. There was a bunch of patches that passed recently regarding captures, maybe this part of the master code redundant? The patch was tested as a simplification: STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 20833 W: 4218 L: 4096 D: 12519 http://tests.stockfishchess.org/tests/view/5b1cf2100ebc5902ab9c6651 LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 27050 W: 3975 L: 3864 D: 19211 http://tests.stockfishchess.org/tests/view/5b1cfdc80ebc5902ab9c6776 Closes https://github.com/official-stockfish/Stockfish/pull/1643 Bench: 4980482 --- src/search.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index e1ca7964..3a80e161 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -71,16 +71,6 @@ namespace { return Value((175 - 50 * improving) * d / ONE_PLY); } - // Margin for pruning capturing moves: almost linear in depth - constexpr int CapturePruneMargin[] = { 0, - 1 * PawnValueEg * 1055 / 1000, - 2 * PawnValueEg * 1042 / 1000, - 3 * PawnValueEg * 963 / 1000, - 4 * PawnValueEg * 1038 / 1000, - 5 * PawnValueEg * 950 / 1000, - 6 * PawnValueEg * 930 / 1000 - }; - // Futility and reductions lookup tables, initialized at startup int FutilityMoveCounts[2][16]; // [improving][depth] int Reductions[2][2][64][64]; // [pv][improving][depth][moveNumber] @@ -963,7 +953,7 @@ moves_loop: // When in check, search starts from here } else if ( depth < 7 * ONE_PLY // (~20 Elo) && !extension - && !pos.see_ge(move, -Value(CapturePruneMargin[depth / ONE_PLY]))) + && !pos.see_ge(move, -Value(PawnValueEg * (depth / ONE_PLY)))) continue; } -- 2.39.2