Do more futility pruning for parent nodes.
authorVizvezdenec <Vizvezdenec@gmail.com>
Sat, 8 Aug 2020 02:51:26 +0000 (05:51 +0300)
committerJoost VandeVondele <Joost.VandeVondele@gmail.com>
Sat, 8 Aug 2020 06:35:47 +0000 (08:35 +0200)
This patch increases LMRdepth threshold for futility pruning at parent nodes so it can apply more often.
With radical change to evaluation approach it seems that search is really far from optimal state, especially it parts that use static evaluation of position.

passed STC
https://tests.stockfishchess.org/tests/view/5f2da75661e3b6af64881fd0
LLR: 2.93 (-2.94,2.94) {-0.50,1.50}
Total: 8744 W: 1305 L: 1156 D: 6283
Ptnml(0-2): 75, 789, 2500, 928, 80

passed LTC
https://tests.stockfishchess.org/tests/view/5f2dcb2a61e3b6af64881ff3
LLR: 2.98 (-2.94,2.94) {0.25,1.75}
Total: 17728 W: 1256 L: 1117 D: 15355
Ptnml(0-2): 22, 961, 6774, 1070, 37

Bench: 4067325

src/search.cpp

index 8be96e298ec17aa2936bb47c1150d79a02d518c2..4a9bd7de047cea9911d9b55a4702fab07145a95b 100644 (file)
@@ -1028,7 +1028,7 @@ moves_loop: // When in check, search starts from here
                   continue;
 
               // Futility pruning: parent node (~5 Elo)
-              if (   lmrDepth < 6
+              if (   lmrDepth < 8
                   && !ss->inCheck
                   && ss->staticEval + 284 + 188 * lmrDepth <= alpha
                   &&  (*contHist[0])[movedPiece][to_sq(move)]