From: miguel-l Date: Wed, 10 Apr 2019 17:35:47 +0000 (+0800) Subject: Extend dangerous passed pawn moves (#2089) X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=5b5687d76e7dc10af9ebaa91f03190db9a9f8d27 Extend dangerous passed pawn moves (#2089) Introduce a new search extension when pushing an advanced passed pawn is also suggested by the first killer move. There have been previous tests which have similar ideas, mostly about pawn pushes, but it seems to be overkill to extend too many moves. My idea is to limit the extension to when a move happens to be noteworthy in some other way as well, such as in this case, when it is also a killer move. STC: LLR: 2.96 (-2.94,2.94) [0.50,4.50] Total: 19027 W: 4326 L: 4067 D: 10634 http://tests.stockfishchess.org/tests/view/5cac2cde0ebc5925cf00c36d LTC: LLR: 2.94 (-2.94,2.94) [0.00,3.50] Total: 93390 W: 15995 L: 15555 D: 61840 http://tests.stockfishchess.org/tests/view/5cac42270ebc5925cf00c4b9 For future tests, it looks like this will interact heavily with passed pawn evaluation. It may be good to try more variants of some of the more promising evaluations tests/tweaks. Bench: 3666092 --- diff --git a/src/search.cpp b/src/search.cpp index a9a62dbf..7fffae26 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -942,6 +942,12 @@ moves_loop: // When in check, search starts from here else if (type_of(move) == CASTLING) extension = ONE_PLY; + // Passed pawn extension + else if ( move == ss->killers[0] + && pos.advanced_pawn_push(move) + && pos.pawn_passed(us, to_sq(move))) + extension = ONE_PLY; + // Calculate new depth for this move newDepth = depth - ONE_PLY + extension;