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

Revert "Retire null search verification"

Although does not change ELO level, it seems
verification is useful in many zugzwang positions
as reported by many sources.

So revert this simplification.

bench: 8430785
This commit is contained in:
Marco Costalba 2014-02-12 14:16:21 +01:00
parent ddeb01612b
commit b534176d4a

View file

@ -640,8 +640,24 @@ namespace {
(ss+1)->skipNullMove = false;
pos.undo_null_move();
if (nullValue >= beta) // Do not return unproven mate scores
return nullValue >= VALUE_MATE_IN_MAX_PLY ? beta : nullValue;
if (nullValue >= beta)
{
// Do not return unproven mate scores
if (nullValue >= VALUE_MATE_IN_MAX_PLY)
nullValue = beta;
if (depth < 12 * ONE_PLY)
return nullValue;
// Do verification search at high depths
ss->skipNullMove = true;
Value v = depth-R < ONE_PLY ? qsearch<NonPV, false>(pos, ss, beta-1, beta, DEPTH_ZERO)
: search<NonPV>(pos, ss, beta-1, beta, depth-R, false);
ss->skipNullMove = false;
if (v >= beta)
return nullValue;
}
}
// Step 9. ProbCut (skipped when in check)