mirror of
https://github.com/sockspls/badfish
synced 2025-07-12 20:19:15 +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:
parent
ddeb01612b
commit
b534176d4a
1 changed files with 18 additions and 2 deletions
|
@ -640,8 +640,24 @@ namespace {
|
||||||
(ss+1)->skipNullMove = false;
|
(ss+1)->skipNullMove = false;
|
||||||
pos.undo_null_move();
|
pos.undo_null_move();
|
||||||
|
|
||||||
if (nullValue >= beta) // Do not return unproven mate scores
|
if (nullValue >= beta)
|
||||||
return nullValue >= VALUE_MATE_IN_MAX_PLY ? beta : nullValue;
|
{
|
||||||
|
// 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)
|
// Step 9. ProbCut (skipped when in check)
|
||||||
|
|
Loading…
Add table
Reference in a new issue