X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=4507460a5b639e40573e6af83e35b6f70eaa6767;hp=b58a344a597b61103c809706c4893aff48451553;hb=39af98c807d236b6511b6e399caf40102398900c;hpb=726e90ccfaea85c5831ad4834a6a08f5bec3f2f2 diff --git a/src/search.cpp b/src/search.cpp index b58a344a..4507460a 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -81,7 +81,7 @@ namespace { // History and stats update bonus, based on depth int stat_bonus(Depth d) { - return std::min((12 * d + 282) * d - 349 , 1594); + return std::min((12 * d + 282) * d - 349 , 1480); } // Add a small random component to draw evaluations to avoid 3-fold blindness @@ -1066,7 +1066,7 @@ moves_loop: // When in check, search starts here // Avoid search explosion by limiting the number of double extensions if ( !PvNode && value < singularBeta - 25 - && ss->doubleExtensions <= 9) + && ss->doubleExtensions <= 10) { extension = 2; depth += depth < 12; @@ -1175,7 +1175,7 @@ moves_loop: // When in check, search starts here - 4433; // Decrease/increase reduction for moves with a good/bad history (~30 Elo) - r -= ss->statScore / (13628 + 4000 * (depth > 7 && depth < 19)); + r -= ss->statScore / (13000 + 4152 * (depth > 7 && depth < 19)); // In general we want to cap the LMR depth search at newDepth, but when // reduction is negative, we allow this move a limited search extension @@ -1190,9 +1190,12 @@ moves_loop: // When in check, search starts here // Adjust full depth search based on LMR results - if result // was good enough search deeper, if it was bad enough search shallower const bool doDeeperSearch = value > (alpha + 64 + 11 * (newDepth - d)); + const bool doEvenDeeperSearch = value > alpha + 582 && ss->doubleExtensions <= 5; const bool doShallowerSearch = value < bestValue + newDepth; - newDepth += doDeeperSearch - doShallowerSearch; + ss->doubleExtensions = ss->doubleExtensions + doEvenDeeperSearch; + + newDepth += doDeeperSearch - doShallowerSearch + doEvenDeeperSearch; if (newDepth > d) value = -search(pos, ss+1, -(alpha+1), -alpha, newDepth, !cutNode);