From 7ed15af371be19a4d261df87fa33df0a94fdc930 Mon Sep 17 00:00:00 2001 From: Joona Kiiski Date: Thu, 25 Sep 2014 20:42:25 +0100 Subject: [PATCH] Cap evaluation based null move extra reduction to three plies It's a zero elo patch, and a reasonable safeguard against uncontrolled extreme reductions. STC: ELO: -0.08 +-2.0 (95%) LOS: 46.9% Total: 40000 W: 6728 L: 6737 D: 26535 LTC: ELO: -0.14 +-1.8 (95%) LOS: 44.0% Total: 40000 W: 5557 L: 5573 D: 28870 Bench: 7201830 --- src/search.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index 05e3de51..6215b083 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -567,8 +567,7 @@ namespace { // Null move dynamic reduction based on depth and value Depth R = 3 * ONE_PLY + depth / 4 - + (abs(beta) < VALUE_KNOWN_WIN ? int(eval - beta) / PawnValueMg * ONE_PLY - : DEPTH_ZERO); + + std::min(int(eval - beta) / PawnValueMg, 3) * ONE_PLY; pos.do_null_move(st); (ss+1)->skipNullMove = true; -- 2.39.2