1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-11 19:49:14 +00:00

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
This commit is contained in:
candirufish 2018-06-10 01:53:05 -07:00 committed by Stéphane Nicolet
parent 86e467520f
commit 88de112b84

View file

@ -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;
}