mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-21 09:37:16 +08:00
Simplify trapped rook
As far as can tell, semiopenFiles are set if there is a pawn anywhere on the file. The removed condition would be true even if the pawns were very advanced, which doesn't make sense if we're looking for a trapped rook. Seems the engine fairs better with this removed. My guess s that the condition that mobility is 3 or less does this well enough. Begs the question whether this is a mobility issue alone... not sure. Should I do LTC test? STC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 13377 W: 3009 L: 2871 D: 7497 http://tests.stockfishchess.org/tests/view/5a855be40ebc590297cc8166 Passed LTC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 16288 W: 2813 L: 2685 D: 10790 http://tests.stockfishchess.org/tests/view/5a8575a80ebc590297cc817e Bench: 5006365
This commit is contained in:
committed by
Stéphane Nicolet
parent
860223c5e6
commit
80ea80e451
@@ -396,10 +396,9 @@ namespace {
|
||||
// Penalty when trapped by the king, even more if the king cannot castle
|
||||
else if (mob <= 3)
|
||||
{
|
||||
Square ksq = pos.square<KING>(Us);
|
||||
File kf = file_of(pos.square<KING>(Us));
|
||||
|
||||
if ( ((file_of(ksq) < FILE_E) == (file_of(s) < file_of(ksq)))
|
||||
&& !pe->semiopen_side(Us, file_of(ksq), file_of(s) < file_of(ksq)))
|
||||
if ((kf < FILE_E) == (file_of(s) < kf))
|
||||
score -= (TrappedRook - make_score(mob * 22, 0)) * (1 + !pos.can_castle(Us));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user