This patch increases reduction for PvNodes that have their delta (difference between beta and alpha) significantly reduced compared to what it was at root.
passed STC
https://tests.stockfishchess.org/tests/view/
617f9063af49befdeee40226
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 220840 W: 55752 L: 55150 D: 109938
Ptnml(0-2): 583, 24982, 58712, 25536, 607
passed LTC
https://tests.stockfishchess.org/tests/view/
61815de959e71df00dcc42ed
LLR: 2.95 (-2.94,2.94) <0.50,3.00>
Total: 79000 W: 19937 L: 19562 D: 39501
Ptnml(0-2): 36, 8190, 22674, 8563, 37
closes https://github.com/official-stockfish/Stockfish/pull/3774
bench:
6717808
if (alpha >= beta)
return alpha;
}
if (alpha >= beta)
return alpha;
}
+ else
+ thisThread->rootDelta = beta - alpha;
assert(0 <= ss->ply && ss->ply < MAX_PLY);
assert(0 <= ss->ply && ss->ply < MAX_PLY);
&& bestMoveCount <= 3)
r--;
&& bestMoveCount <= 3)
r--;
+ // Increases reduction for PvNodes that have small window
+ if (PvNode && beta - alpha < thisThread->rootDelta / 4)
+ r++;
+
// Decrease reduction if position is or has been on the PV
// and node is not likely to fail low. (~3 Elo)
if ( ss->ttPv
// Decrease reduction if position is or has been on the PV
// and node is not likely to fail low. (~3 Elo)
if ( ss->ttPv
StateInfo rootState;
Search::RootMoves rootMoves;
Depth rootDepth, completedDepth;
StateInfo rootState;
Search::RootMoves rootMoves;
Depth rootDepth, completedDepth;
CounterMoveHistory counterMoves;
ButterflyHistory mainHistory;
LowPlyHistory lowPlyHistory;
CounterMoveHistory counterMoves;
ButterflyHistory mainHistory;
LowPlyHistory lowPlyHistory;