Prune moves with equal SEE in qsearch
authorMarco Costalba <mcostalba@gmail.com>
Tue, 22 Feb 2011 22:23:45 +0000 (23:23 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sun, 27 Feb 2011 08:19:59 +0000 (09:19 +0100)
After 5166 games:
Mod vs Orig 890 - 762 - 3514  ELO +8 (+- 5.5) LOS 96%

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

index b1a720d72f1b0d4a6b57fd9d9da1e926f8db054b..3152260745f21b8cf2ed8af1ab5051825dc581c2 100644 (file)
@@ -1427,6 +1427,13 @@ split_point_start: // At split points actual search starts from here
                   bestValue = futilityValue;
               continue;
           }
+
+          // Prune moves with negative or equal SEE
+          if (   futilityBase < beta
+              && depth < DEPTH_ZERO
+              && bestValue > value_mated_in(PLY_MAX)
+              && pos.see(move) <= 0)
+              continue;
       }
 
       // Detect non-capture evasions that are candidate to be pruned