Skip to content

Commit 8e9d408

Browse files
Ralph Stößermcostalba
authored andcommitted
Research at intermediate depth if LMR is very high
After a fail high in LMR, if reduction is very high do a research at lower depth before teh full depth one. Chances are that the re-search will fail low and the full depth one is skipped. Passed both short TC: LLR: 2.95 (-2.94,2.94) [-1.50,4.50] Total: 11363 W: 2204 L: 2069 D: 7090 And long TC: LLR: 2.95 (-2.94,2.94) [0.00,6.00] Total: 7292 W: 1195 L: 1061 D: 5036 bench: 7869223
1 parent 4630ab5 commit 8e9d408

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/search.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -933,6 +933,13 @@ namespace {
933933

934934
value = -search<NonPV>(pos, ss+1, -(alpha+1), -alpha, d, true);
935935

936+
// Research at intermediate depth if reduction is very high
937+
if (value > alpha && ss->reduction >= 4 * ONE_PLY)
938+
{
939+
Depth d2 = std::max(newDepth - 2 * ONE_PLY, ONE_PLY);
940+
value = -search<NonPV>(pos, ss+1, -(alpha+1), -alpha, d2, true);
941+
}
942+
936943
doFullDepthSearch = (value > alpha && ss->reduction != DEPTH_ZERO);
937944
ss->reduction = DEPTH_ZERO;
938945
}

0 commit comments

Comments
 (0)