While at it, we also update the Elo estimate of reduction at non-PV nodes
(source: https://tests.stockfishchess.org/tests/view/
61acf97156fcf33bce7d6303 )
STC:
LLR: 2.94 (-2.94,2.94) <-2.25,0.25>
Total: 243632 W: 62874 L: 63022 D: 117736
Ptnml(0-2): 810, 28024, 64249, 27970, 763
https://tests.stockfishchess.org/tests/view/
61b8b1b7dffbe89a35814c0d
LTC:
LLR: 2.93 (-2.94,2.94) <-2.25,0.25>
Total: 91392 W: 23520 L: 23453 D: 44419
Ptnml(0-2): 51, 9568, 26387, 9643, 47
https://tests.stockfishchess.org/tests/view/
61b97316dffbe89a35817da7
closes https://github.com/official-stockfish/Stockfish/pull/3854
bench:
4217785
Depth extension, newDepth;
Value bestValue, value, ttValue, eval, maxValue, probCutBeta;
bool givesCheck, improving, didLMR, priorCapture;
Depth extension, newDepth;
Value bestValue, value, ttValue, eval, maxValue, probCutBeta;
bool givesCheck, improving, didLMR, priorCapture;
- bool captureOrPromotion, doFullDepthSearch, moveCountPruning,
- ttCapture, singularQuietLMR;
+ bool captureOrPromotion, doFullDepthSearch, moveCountPruning, ttCapture;
Piece movedPiece;
int moveCount, captureCount, quietCount, bestMoveCount, improvement;
Piece movedPiece;
int moveCount, captureCount, quietCount, bestMoveCount, improvement;
ss->ply);
value = bestValue;
ss->ply);
value = bestValue;
- singularQuietLMR = moveCountPruning = false;
+ moveCountPruning = false;
// Indicate PvNodes that will probably fail low if the node was searched
// at a depth equal or greater than the current depth, and the result of this search was a fail low.
// Indicate PvNodes that will probably fail low if the node was searched
// at a depth equal or greater than the current depth, and the result of this search was a fail low.
if (value < singularBeta)
{
extension = 1;
if (value < singularBeta)
{
extension = 1;
- singularQuietLMR = !ttCapture;
// Avoid search explosion by limiting the number of double extensions
if ( !PvNode
// Avoid search explosion by limiting the number of double extensions
if ( !PvNode
&& !likelyFailLow)
r -= 2;
&& !likelyFailLow)
r -= 2;
- // Increase reduction at non-PV nodes
+ // Increase reduction at non-PV nodes (~3 Elo)
if ((ss-1)->moveCount > 13)
r--;
if ((ss-1)->moveCount > 13)
r--;
- // Decrease reduction if ttMove has been singularly extended (~1 Elo)
- if (singularQuietLMR)
- r--;
-
// Increase reduction for cut nodes (~3 Elo)
if (cutNode && move != ss->killers[0])
r += 2;
// Increase reduction for cut nodes (~3 Elo)
if (cutNode && move != ss->killers[0])
r += 2;