mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 01:03:09 +00:00
Reintroduce singularQuietLMR
STC: LLR: 2.96 (-2.94,2.94) <0.00,2.00> Total: 88912 W: 23972 L: 23580 D: 41360 Ptnml(0-2): 365, 9820, 23712, 10176, 383 https://tests.stockfishchess.org/tests/view/62e9537a400addce2c13399b LTC: LLR: 2.97 (-2.94,2.94) <0.50,2.50> Total: 85672 W: 23607 L: 23192 D: 38873 Ptnml(0-2): 219, 8316, 25365, 8703, 233 https://tests.stockfishchess.org/tests/view/62e9a174400addce2c1346e4 closes https://github.com/official-stockfish/Stockfish/pull/4122 Bench: 5921315
This commit is contained in:
parent
675f6a038b
commit
b8f4903fbb
1 changed files with 7 additions and 2 deletions
|
@ -558,7 +558,7 @@ namespace {
|
||||||
Move ttMove, move, excludedMove, bestMove;
|
Move ttMove, move, excludedMove, bestMove;
|
||||||
Depth extension, newDepth;
|
Depth extension, newDepth;
|
||||||
Value bestValue, value, ttValue, eval, maxValue, probCutBeta;
|
Value bestValue, value, ttValue, eval, maxValue, probCutBeta;
|
||||||
bool givesCheck, improving, didLMR, priorCapture;
|
bool givesCheck, improving, didLMR, priorCapture, singularQuietLMR;
|
||||||
bool capture, doFullDepthSearch, moveCountPruning, ttCapture;
|
bool capture, doFullDepthSearch, moveCountPruning, ttCapture;
|
||||||
Piece movedPiece;
|
Piece movedPiece;
|
||||||
int moveCount, captureCount, quietCount, improvement, complexity;
|
int moveCount, captureCount, quietCount, improvement, complexity;
|
||||||
|
@ -945,7 +945,7 @@ moves_loop: // When in check, search starts here
|
||||||
ss->killers);
|
ss->killers);
|
||||||
|
|
||||||
value = bestValue;
|
value = bestValue;
|
||||||
moveCountPruning = false;
|
moveCountPruning = singularQuietLMR = false;
|
||||||
|
|
||||||
// Indicate PvNodes that will probably fail low if the node was searched
|
// 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.
|
// at a depth equal or greater than the current depth, and the result of this search was a fail low.
|
||||||
|
@ -1075,6 +1075,7 @@ moves_loop: // When in check, search starts here
|
||||||
if (value < singularBeta)
|
if (value < singularBeta)
|
||||||
{
|
{
|
||||||
extension = 1;
|
extension = 1;
|
||||||
|
singularQuietLMR = !ttCapture;
|
||||||
|
|
||||||
// Avoid search explosion by limiting the number of double extensions
|
// Avoid search explosion by limiting the number of double extensions
|
||||||
if ( !PvNode
|
if ( !PvNode
|
||||||
|
@ -1167,6 +1168,10 @@ moves_loop: // When in check, search starts here
|
||||||
if (PvNode)
|
if (PvNode)
|
||||||
r -= 1 + 15 / (3 + depth);
|
r -= 1 + 15 / (3 + depth);
|
||||||
|
|
||||||
|
// Decrease reduction if ttMove has been singularly extended (~1 Elo)
|
||||||
|
if (singularQuietLMR)
|
||||||
|
r--;
|
||||||
|
|
||||||
// Increase reduction if next ply has a lot of fail high else reset count to 0
|
// Increase reduction if next ply has a lot of fail high else reset count to 0
|
||||||
if ((ss+1)->cutoffCnt > 3 && !PvNode)
|
if ((ss+1)->cutoffCnt > 3 && !PvNode)
|
||||||
r++;
|
r++;
|
||||||
|
|
Loading…
Add table
Reference in a new issue