From 39f2eda2851e5f468de6edc3313801c25a8b716a Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Thu, 30 Apr 2009 08:55:38 +0200 Subject: [PATCH] Do not razor after a null move We don't want to return unproven null move fails high, so that if a position is so good that null move fails high we want to check this with real do_move() / undo_move() test, not just razoring the position because, from the opponent point of view, is very bad. These are tests results at 1+0 Mod vs Orig +252 -264 =483 49.40% Mod vs Toga II 1.4.1SE +365 -325 =309 52.00% So it seems a very slightly regression regarding orig version (but withing error bar) and a nice increase against Toga that is what we are interested most. Orig version scores 49.75% against Toga, so we welcome this change ;-) Signed-off-by: Marco Costalba --- src/search.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/search.cpp b/src/search.cpp index 67369ad5..3838375f 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1309,6 +1309,7 @@ namespace { else if ( !value_is_mate(beta) && depth < RazorDepth && approximateEval < beta - RazorApprMargins[int(depth) - 2] + && ss[ply - 1].currentMove != MOVE_NULL && ttMove == MOVE_NONE && !pos.has_pawn_on_7th(pos.side_to_move())) { -- 2.39.2