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

Use fail high count for LMR

Increase reduction if next ply has a lot of fail high else reset count to 0

Passed STC:
https://tests.stockfishchess.org/tests/view/626ea8299116b52aa83b71f6
LLR: 2.94 (-2.94,2.94) <0.00,2.50>
Total: 144288 W: 38377 L: 37902 D: 68009
Ptnml(0-2): 565, 16298, 38054, 16551, 676

Passed LTC:
https://tests.stockfishchess.org/tests/view/626fa0fb79f761bab2e382f0
LLR: 2.98 (-2.94,2.94) <0.50,3.00>
Total: 74872 W: 20050 L: 19686 D: 35136
Ptnml(0-2): 51, 7541, 21893, 7895, 56

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

bench: 7084802
This commit is contained in:
candirufish 2022-05-03 12:35:21 +02:00 committed by Joost VandeVondele
parent 285a79eaa0
commit a32d2086bc
2 changed files with 10 additions and 0 deletions

View file

@ -603,6 +603,7 @@ namespace {
(ss+1)->ttPv = false;
(ss+1)->excludedMove = bestMove = MOVE_NONE;
(ss+2)->killers[0] = (ss+2)->killers[1] = MOVE_NONE;
(ss+2)->cutoffCnt = 0;
ss->doubleExtensions = (ss-1)->doubleExtensions;
ss->depth = depth;
Square prevSq = to_sq((ss-1)->currentMove);
@ -1175,6 +1176,10 @@ moves_loop: // When in check, search starts here
if (PvNode)
r -= 1 + 15 / ( 3 + depth );
// Increase reduction if next ply has a lot of fail high else reset count to 0
if ((ss+1)->cutoffCnt > 3 && !PvNode)
r++;
ss->statScore = thisThread->mainHistory[us][from_to(move)]
+ (*contHist[0])[movedPiece][to_sq(move)]
+ (*contHist[1])[movedPiece][to_sq(move)]
@ -1298,11 +1303,15 @@ moves_loop: // When in check, search starts here
alpha = value;
else
{
ss->cutoffCnt++;
assert(value >= beta); // Fail high
break;
}
}
}
else
ss->cutoffCnt = 0;
// If the move is worse than some previously searched move, remember it to update its stats later
if (move != bestMove)

View file

@ -54,6 +54,7 @@ struct Stack {
bool ttPv;
bool ttHit;
int doubleExtensions;
int cutoffCnt;
};