Fix (zugzwang) verification to be shallower then null search
authorMarco Costalba <mcostalba@gmail.com>
Sun, 11 Jul 2010 06:52:05 +0000 (07:52 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Mon, 12 Jul 2010 20:03:30 +0000 (21:03 +0100)
Currently starting from depth 12*OnePly on we have a verification
search deeper then the null search.

Note that, although reduction is R we start from one ply less then
null search, so actually we reach a depth that is OnePly shallower
then null search.

After 1130 games at 1'+0 on QUAD
Mod vs Orig +202 =756 -172  +9 ELO

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/search.cpp

index e38f4021d135a424da33225739ac28f775139e46..0ef2f600e1fd3b3a96db1402e52576309dd5de64 100644 (file)
@@ -1203,12 +1203,12 @@ namespace {
             if (nullValue >= value_mate_in(PLY_MAX))
                 nullValue = beta;
 
-            // Do zugzwang verification search at high depths
             if (depth < 6 * OnePly)
                 return nullValue;
 
+            // Do verification search at high depths
             ss->skipNullMove = true;
-            Value v = search<NonPV>(pos, ss, alpha, beta, depth-5*OnePly, ply);
+            Value v = search<NonPV>(pos, ss, alpha, beta, depth-R*OnePly, ply);
             ss->skipNullMove = false;
 
             if (v >= beta)