mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 08:43: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:
parent
20023ac9b8
commit
5f096e9bef
1 changed files with 4 additions and 11 deletions
|
@ -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)
|
||||||
|
|
Loading…
Add table
Reference in a new issue