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:
parent
ddeb01612b
commit
b534176d4a
1 changed files with 18 additions and 2 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue