From: VoyagerOne Date: Sat, 30 Sep 2017 14:16:28 +0000 (-0400) Subject: Decrease reduction for exact PV nodes X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=07b5a28a68b4cc67f1447fce85fc910aa209b319 Decrease reduction for exact PV nodes STC: LLR: 2.96 (-2.94,2.94) [0.00,5.00] Total: 59004 W: 10621 L: 10249 D: 38134 LTC: LLR: 2.95 (-2.94,2.94) [0.00,5.00] Total: 25801 W: 3306 L: 3108 D: 19387 Bench: 5742466 --- diff --git a/src/search.cpp b/src/search.cpp index 182d2d7f..567f8766 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -543,7 +543,7 @@ namespace { Depth extension, newDepth; Value bestValue, value, ttValue, eval; bool ttHit, inCheck, givesCheck, singularExtensionNode, improving; - bool captureOrPromotion, doFullDepthSearch, moveCountPruning, skipQuiets, ttCapture; + bool captureOrPromotion, doFullDepthSearch, moveCountPruning, skipQuiets, ttCapture, pvExact; Piece movedPiece; int moveCount, quietCount; @@ -813,6 +813,7 @@ moves_loop: // When in check search starts from here && tte->depth() >= depth - 3 * ONE_PLY; skipQuiets = false; ttCapture = false; + pvExact = PvNode && ttHit && tte->bound() == BOUND_EXACT; // Step 11. Loop through moves // Loop through all pseudo-legal moves until no moves remain or a beta cutoff occurs @@ -957,6 +958,10 @@ moves_loop: // When in check search starts from here if ((ss-1)->moveCount > 15) r -= ONE_PLY; + // Decrease reduction for exact PV nodes + if (pvExact) + r -= ONE_PLY; + // Increase reduction if ttMove is a capture if (ttCapture) r += ONE_PLY;