Depth dependant singular extension margin
authorMarco Costalba <mcostalba@gmail.com>
Thu, 17 Feb 2011 07:24:35 +0000 (08:24 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Wed, 23 Feb 2011 22:51:20 +0000 (23:51 +0100)
After 7965 games:
Mod vs Orig 1324 - 1249 - 5392  ELO +3 (+- 4.4) LOS 81%

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

index d385e3eb7c4a07a8094465245e7286328d46c7af..b1a720d72f1b0d4a6b57fd9d9da1e926f8db054b 100644 (file)
@@ -209,10 +209,6 @@ namespace {
   // Minimum depth for use of singular extension
   const Depth SingularExtensionDepth[2] = { 8 * ONE_PLY /* non-PV */, 6 * ONE_PLY /* PV */};
 
-  // If the TT move is at least SingularExtensionMargin better than the
-  // remaining ones we will extend it.
-  const Value SingularExtensionMargin = Value(0x20);
-
   // Step 12. Futility pruning
 
   // Futility margin for quiescence search
@@ -1055,7 +1051,7 @@ split_point_start: // At split points actual search starts from here
 
           if (abs(ttValue) < VALUE_KNOWN_WIN)
           {
-              Value b = ttValue - SingularExtensionMargin;
+              Value b = ttValue - depth;
               ss->excludedMove = move;
               ss->skipNullMove = true;
               Value v = search<NonPV>(pos, ss, b - 1, b, depth / 2, ply);