1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-11 19:49:14 +00:00

Simplify LMR rule for non-checking captures

We simplify away the complicated rule in LMR for "non-checking captures
likely to be bad", as it seems not to bring any strength anymore.

STC:
LLR: 2.94 (-2.94,2.94) <-2.50,0.50>
Total: 55256 W: 4972 L: 4897 D: 45387
Ptnml(0-2): 177, 3976, 19234, 4077, 164
https://tests.stockfishchess.org/tests/view/609adf3b3a33eb67a844f842

LTC:
LLR: 2.95 (-2.94,2.94) <-2.50,0.50>
Total: 10344 W: 437 L: 353 D: 9554
Ptnml(0-2): 1, 322, 4449, 392, 8
https://tests.stockfishchess.org/tests/view/609b3dfa3a33eb67a844f88e

--

While at it, we also update the Elo estimate of the previous rule in LMR
(see https://tests.stockfishchess.org/tests/view/609af2a63a33eb67a844f867).

closes https://github.com/official-stockfish/Stockfish/pull/3460

Bench: 3840688
This commit is contained in:
bmc4 2021-05-12 09:38:26 -03:00 committed by Stéphane Nicolet
parent b62af7ac1e
commit 594e2ac999

View file

@ -1156,7 +1156,7 @@ moves_loop: // When in check, search starts from here
&& thisThread->bestMoveChanges <= 2) && thisThread->bestMoveChanges <= 2)
r++; r++;
// Decrease reduction if opponent's move count is high (~5 Elo) // Decrease reduction if opponent's move count is high (~1 Elo)
if ((ss-1)->moveCount > 13) if ((ss-1)->moveCount > 13)
r--; r--;
@ -1164,14 +1164,7 @@ moves_loop: // When in check, search starts from here
if (singularQuietLMR) if (singularQuietLMR)
r--; r--;
if (captureOrPromotion) if (!captureOrPromotion)
{
// Increase reduction for non-checking captures likely to be bad
if ( !givesCheck
&& ss->staticEval + PieceValue[EG][pos.captured_piece()] + 210 * depth <= alpha)
r++;
}
else
{ {
// Increase reduction if ttMove is a capture (~3 Elo) // Increase reduction if ttMove is a capture (~3 Elo)
if (ttCapture) if (ttCapture)