From d54e8a59551a7ebcbf2c2155dce46c7386b1742a Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Thu, 13 Jun 2013 19:53:14 +0200 Subject: [PATCH] Reduce more CUT nodes only if parent node is reduced So when we are doing a LMR search at the parent ALL node. This patch didn't prove stronger at 60" TC LLR: -2.97 (-2.94,2.94) Total: 22398 W: 4070 L: 4060 D: 14268 But, first, it scores at 50%, second (and most important for me) the opposite, i.e. normal reduction when parent node is not reduced, seems very bad: LLR: -2.95 (-2.94,2.94) Total: 7036 W: 1446 L: 1534 D: 4056 According to Don, this idea of increased reduction of CUT nodes works because if parent node is reduced, missing a cut-off due to reduced depth search (meaning position is somehow tricky) forces a full depth research at parent node, giving due insight in this set of sensible positions. IOW if we expect a node to fail-high at depth n, then we assume it should fail-high also at depth n-1, if this doesn't happen it means position is tricky enough to deserve a research at depth n+1. bench: 4687419 --- src/search.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/search.cpp b/src/search.cpp index a10e1180..bfab6a4e 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -949,7 +949,7 @@ split_point_start: // At split points actual search starts from here { ss->reduction = reduction(depth, moveCount); - if (!PvNode && cutNode) + if (!PvNode && cutNode && (ss-1)->reduction) ss->reduction += ONE_PLY; if (move == countermoves[0] || move == countermoves[1]) -- 2.39.2