Skip to content

Commit 9050eac

Browse files
miguel-lsnicolet
authored andcommitted
Extend discovered checks regardless of SEE
A simple idea, but it makes sense: in current master the search is extended for checks that are considered somewhat safe, and for for this we use the static exchange evaluation which only considers the `to_sq` of a move. This is not reliable for discovered checks, where another piece is giving the check and is arguably a more dangerous type of check. Thus, if the check is a discovered check, the result of SEE is not relevant and can be ignored. STC: LLR: 2.96 (-2.94,2.94) [0.50,4.50] Total: 29370 W: 6583 L: 6274 D: 16513 http://tests.stockfishchess.org/tests/view/5c5062950ebc593af5d4d9b5 LTC: LLR: 2.95 (-2.94,2.94) [0.00,3.50] Total: 227341 W: 37972 L: 37165 D: 152204 http://tests.stockfishchess.org/tests/view/5c5094fb0ebc593af5d4dc2c Bench: 3611854
1 parent ff97a9f commit 9050eac

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/search.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -953,11 +953,13 @@ namespace {
953953
else if (cutNode && singularBeta > beta)
954954
return beta;
955955
}
956-
else if ( givesCheck // Check extension (~2 Elo)
957-
&& pos.see_ge(move))
956+
957+
// Check extension (~2 Elo)
958+
else if ( givesCheck
959+
&& (pos.blockers_for_king(~us) & from_sq(move) || pos.see_ge(move)))
958960
extension = ONE_PLY;
959961

960-
// Extension if castling
962+
// Castling extension
961963
else if (type_of(move) == CASTLING)
962964
extension = ONE_PLY;
963965

0 commit comments

Comments
 (0)