1
0
Fork 0

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
pull/2093/head
miguel-l 2019-04-11 01:35:47 +08:00 committed by Marco Costalba
parent ec49e676a7
commit 5b5687d76e
1 changed files with 6 additions and 0 deletions

View File

@ -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;