Use a different margin for pruning child nodes.
STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 16692 W: 3251 L: 3051 D: 10390
http://tests.stockfishchess.org/tests/view/
579b95d10ebc591c761f5c03
LTC:
LLR: 2.97 (-2.94,2.94) [0.00,5.00]
Total: 24140 W: 3501 L: 3297 D: 17342
http://tests.stockfishchess.org/tests/view/
579bb15d0ebc591c761f5c0b
Bench:
7927017
// Razoring and futility margin based on depth
const int razor_margin[4] = { 483, 570, 603, 554 };
// Razoring and futility margin based on depth
const int razor_margin[4] = { 483, 570, 603, 554 };
- Value futility_margin(Depth d) { return Value(200 * d); }
+ Value futility_margin(Depth d) { return Value(150 * d); }
// Futility and reductions lookup tables, initialized at startup
int FutilityMoveCounts[2][16]; // [improving][depth]
// Futility and reductions lookup tables, initialized at startup
int FutilityMoveCounts[2][16]; // [improving][depth]
// Futility pruning: parent node
if ( predictedDepth < 7 * ONE_PLY
// Futility pruning: parent node
if ( predictedDepth < 7 * ONE_PLY
- && ss->staticEval + futility_margin(predictedDepth) + 256 <= alpha)
+ && ss->staticEval + 256 + 200 * predictedDepth / ONE_PLY <= alpha)
continue;
// Prune moves with negative SEE at low depths and below a decreasing
continue;
// Prune moves with negative SEE at low depths and below a decreasing