Simplify extensions
authorLucas Braesch <lucas.braesch@gmail.com>
Thu, 26 Sep 2013 10:25:27 +0000 (18:25 +0800)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 28 Sep 2013 07:54:22 +0000 (09:54 +0200)
Unify extensions between PV and not PV nodes
and remove all but check extensions.

This is a simplification so tested at fixed number
of games where proved to not regress.

About 45k games at 15+0.05
ELO: 1.23 +-2.0 (95%) LOS: 88.5%
Total: 45643 W: 9107 L: 8946 D: 27590

About 45k games at 60+0.05
ELO: 1.07 +-1.8 (95%) LOS: 87.8%
Total: 46786 W: 7728 L: 7584 D: 31474

bench: 3172206

src/search.cpp

index 0b87b456b72054d3583f03fc09aa6548d5ec3e4a..789492fd95225965194b8262affc992978ea53de 100644 (file)
@@ -829,13 +829,10 @@ moves_loop: // When in check and at SpNode search starts from here
                  || pos.is_passed_pawn_push(move)
                  || type_of(move) == CASTLE;
 
-      // Step 12. Extend checks and, in PV nodes, also dangerous moves
-      if (PvNode && dangerous)
+      // Step 12. Extend checks
+      if (givesCheck && pos.see_sign(move) >= 0)
           ext = ONE_PLY;
 
-      else if (givesCheck && pos.see_sign(move) >= 0)
-          ext = inCheck || ss->staticEval <= alpha ? ONE_PLY : ONE_PLY / 2;
-
       // Singular extension search. If all moves but one fail low on a search of
       // (alpha-s, beta-s), and just one fails high on (alpha, beta), then that move
       // is singular and should be extended. To verify this we do a reduced search