1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 16:53:09 +00:00

Simplify Futility Pruning

Don't update bestValue when futility pruning.

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 21933 W: 4031 L: 3912 D: 13990

LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 46225 W: 6115 L: 6028 D: 34082

Bench: 8450534
This commit is contained in:
VoyagerOne 2016-06-03 10:21:12 -04:00 committed by Marco Costalba
parent 20023ac9b8
commit 5f096e9bef

View file

@ -606,7 +606,7 @@ namespace {
Key posKey; Key posKey;
Move ttMove, move, excludedMove, bestMove; Move ttMove, move, excludedMove, bestMove;
Depth extension, newDepth, predictedDepth; Depth extension, newDepth, predictedDepth;
Value bestValue, value, ttValue, eval, nullValue, futilityValue; Value bestValue, value, ttValue, eval, nullValue;
bool ttHit, inCheck, givesCheck, singularExtensionNode, improving; bool ttHit, inCheck, givesCheck, singularExtensionNode, improving;
bool captureOrPromotion, doFullDepthSearch; bool captureOrPromotion, doFullDepthSearch;
Piece moved_piece; Piece moved_piece;
@ -971,16 +971,9 @@ moves_loop: // When in check search starts from here
predictedDepth = std::max(newDepth - reduction<PvNode>(improving, depth, moveCount), DEPTH_ZERO); predictedDepth = std::max(newDepth - reduction<PvNode>(improving, depth, moveCount), DEPTH_ZERO);
// Futility pruning: parent node // Futility pruning: parent node
if (predictedDepth < 7 * ONE_PLY) if ( predictedDepth < 7 * ONE_PLY
{ && ss->staticEval + futility_margin(predictedDepth) + 256 <= alpha)
futilityValue = ss->staticEval + futility_margin(predictedDepth) + 256; continue;
if (futilityValue <= alpha)
{
bestValue = std::max(bestValue, futilityValue);
continue;
}
}
// Prune moves with negative SEE at low depths // Prune moves with negative SEE at low depths
if (predictedDepth < 4 * ONE_PLY && pos.see_sign(move) < VALUE_ZERO) if (predictedDepth < 4 * ONE_PLY && pos.see_sign(move) < VALUE_ZERO)