From bd2599842fde0aa1632c33f2ea4b63e8152817d0 Mon Sep 17 00:00:00 2001 From: H.G.Muller Date: Sun, 14 May 2017 15:19:38 +0200 Subject: [PATCH] Reduce null move less after first spite check The null-move reduction is aken one ply less after the first (check, evasion) pair in a branch, to prevent spite checks pushing unavoidable mates over the null-search horizon. --- dropper.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/dropper.c b/dropper.c index c8019d9..90fc7b2 100644 --- a/dropper.c +++ b/dropper.c @@ -1207,6 +1207,8 @@ if(hashMove && board[hashMove>>8&255] == 0) {char s[100];sprintf(s,"bad hash mov } } else if(curEval >= beta && f.checker == CK_NONE) { int nullDepth = depth - 3; + int eva = (ff->checker != CK_NONE) && !oldAna && nullDepth >= 0; // first evasion in branch, and depth of null-move search was higher before the check + nullDepth += eva; // reduce one less than normal after first evasion, to make sure we see same threats after spite check if(nullDepth < 0) nullDepth = 0; f.mutation = -2; // kludge to suppress testing for discovered check f.newEval = f.pstEval; -- 1.7.0.4