From: Joona Kiiski Date: Fri, 12 Feb 2010 14:40:00 +0000 (+0200) Subject: Use zero null move margin when depth < 4 * OnePly X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=a093f33154cdd7b1d82e41f67fc673d3a22545bc Use zero null move margin when depth < 4 * OnePly This is because when we are below 4 * OnePly, the null move will directly jump to qsearch and if we are below beta, our opponent is above beta and will get immediate stand pat cut off. So basically this patch is just optimizing away useless evaluation calls. dbg_hit_on() runs show that this heuristic is correct >99% of cases. Transposition table probably causes some inaccurary? After 1148 games on QUAD mod-orig: 583 - 565 +5 elo Signed-off-by: Marco Costalba --- diff --git a/src/search.cpp b/src/search.cpp index dece7fd4..3e74ddc2 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1334,7 +1334,7 @@ namespace { && !isCheck && !value_is_mate(beta) && ok_to_do_nullmove(pos) - && staticValue >= beta - NullMoveMargin) + && staticValue >= beta - (depth >= 4 * OnePly ? NullMoveMargin : 0)) { ss[ply].currentMove = MOVE_NULL;