Reintroduce late irreversible move extension
authorSFisGOD <jonathandumale@gmail.com>
Fri, 7 Aug 2020 19:45:08 +0000 (03:45 +0800)
committerJoost VandeVondele <Joost.VandeVondele@gmail.com>
Sat, 8 Aug 2020 06:33:24 +0000 (08:33 +0200)
Reintroduce vondele's late irreversible move extension for fortress keeping.
This was removed when we only had classical eval.
Now that we have the NNUE net, it seems that this is useful again.

STC:
LLR: 2.93 (-2.94,2.94) {-0.50,1.50}
Total: 5352 W: 787 L: 653 D: 3912
Ptnml(0-2): 34, 451, 1579, 571, 41
https://tests.stockfishchess.org/tests/view/5f2dc8ad61e3b6af64881ff0

LTC:
LLR: 2.94 (-2.94,2.94) {0.25,1.75}
Total: 14416 W: 1013 L: 891 D: 12512
Ptnml(0-2): 15, 722, 5623, 822, 26
https://tests.stockfishchess.org/tests/view/5f2e0e3661e3b6af6488201e

closes https://github.com/official-stockfish/Stockfish/pull/2936

Bench: 4154696

src/search.cpp

index 886ed52ca0bbf65f3fca476d4bffe12a650f44d2..8be96e298ec17aa2936bb47c1150d79a02d518c2 100644 (file)
@@ -1134,6 +1134,12 @@ moves_loop: // When in check, search starts from here
       // Castling extension
       if (type_of(move) == CASTLING)
           extension = 1;
+         
+      // Late irreversible move extension
+      if (   move == ttMove
+          && pos.rule50_count() > 80
+          && (captureOrPromotion || type_of(movedPiece) == PAWN))
+          extension = 2;
 
       // Add extension to new depth
       newDepth += extension;