Skip to content

Commit

Permalink
Research at intermediate depth if LMR is very high
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Ralph Stößer authored and mcostalba committed Dec 9, 2013
1 parent 4630ab5 commit 8e9d408
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions src/search.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -933,6 +933,13 @@ namespace {

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

// Research at intermediate depth if reduction is very high
if (value > alpha && ss->reduction >= 4 * ONE_PLY)
{
Depth d2 = std::max(newDepth - 2 * ONE_PLY, ONE_PLY);
value = -search<NonPV>(pos, ss+1, -(alpha+1), -alpha, d2, true);
}

doFullDepthSearch = (value > alpha && ss->reduction != DEPTH_ZERO);
ss->reduction = DEPTH_ZERO;
}
Expand Down

0 comments on commit 8e9d408

Please sign in to comment.