]> git.sesse.net Git - stockfish/commitdiff
Simplify SEE verfication logic
authorpb00067 <pb00067@phxl0401.wp.lan>
Wed, 17 May 2023 07:22:02 +0000 (09:22 +0200)
committerJoost VandeVondele <Joost.VandeVondele@gmail.com>
Sat, 20 May 2023 08:16:04 +0000 (10:16 +0200)
Passed STC
https://tests.stockfishchess.org/tests/view/6461d51887f6567dd4df27d0
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 177056 W: 47181 L: 47118 D: 82757
Ptnml(0-2): 456, 19381, 48792, 19442, 457

Passed LTC
https://tests.stockfishchess.org/tests/view/64631a9287f6567dd4df4502
2.94 (-2.94,2.94) <-1.75,0.25>
Total: 104346 W: 28062 L: 27935 D: 48349
Ptnml(0-2): 25, 10190, 31631, 10287, 40

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

bench: 2903251

src/search.cpp

index 10844746ccc88de74362ddf30d65c4dbb5896280..653cbf339a6343625108bd462d7112035784fb6b 100644 (file)
@@ -996,9 +996,7 @@ moves_loop: // When in check, search starts here
               // SEE based pruning (~11 Elo)
               if (!pos.see_ge(move, occupied, Value(-205) * depth))
               {
-                  if (depth < 2 - capture)
-                      continue;
-                  // Don't prune the move if opp. King/Queen/Rook gets a discovered attack during or after the exchanges
+                  // Don't prune the move if opponent King/Queen/Rook gets a discovered attack during or after the exchanges
                   Bitboard leftEnemies = pos.pieces(~us, KING, QUEEN, ROOK);
                   Bitboard attacks = 0;
                   occupied |= to_sq(move);
@@ -1006,7 +1004,7 @@ moves_loop: // When in check, search starts here
                   {
                       Square sq = pop_lsb(leftEnemies);
                       attacks = pos.attackers_to(sq, occupied) & pos.pieces(us) & occupied;
-                      // Exclude Queen/Rook(s) which were already threatened before SEE (opp King can't be in check when it's our turn)
+                      // Exclude Queen/Rook(s) which were already threatened before SEE (opponent King can't be in check when it's our turn)
                       if (attacks && sq != pos.square<KING>(~us) && (pos.attackers_to(sq, pos.pieces()) & pos.pieces(us)))
                           attacks = 0;
                   }