1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-01 17:19:36 +00:00

Simplify KingProtector penalty.

Recent tuning results implied this penalty is more important for knights
and bishops, and almost negligible for rooks and queen.

Passed as simplification both
STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 20873 W: 4592 L: 4469 D: 11812
http://tests.stockfishchess.org/tests/view/5b2fb4d00ebc5902b2e57e84

and LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 46069 W: 7949 L: 7870 D: 30250
http://tests.stockfishchess.org/tests/view/5b2fcc4b0ebc5902b2e580c5

Closes https://github.com/official-stockfish/Stockfish/pull/1660

Bench: 5487679
This commit is contained in:
joergoster 2018-06-24 17:07:38 +02:00 committed by Stéphane Nicolet
parent f0a7bed6fb
commit 1e9397a2df

View file

@ -158,8 +158,8 @@ namespace {
// PassedDanger[Rank] contains a term to weight the passed score
constexpr int PassedDanger[RANK_NB] = { 0, 0, 0, 2, 7, 12, 19 };
// KingProtector[PieceType-2] contains a penalty according to distance from king
constexpr Score KingProtector[] = { S(4, 6), S(6, 3), S(1, 0), S(0, -2) };
// KingProtector[knight/bishop] contains a penalty according to distance from king
constexpr Score KingProtector[] = { S(4, 6), S(6, 3) };
// Assorted bonuses and penalties
constexpr Score BishopPawns = S( 3, 5);
@ -330,9 +330,6 @@ namespace {
mobility[Us] += MobilityBonus[Pt - 2][mob];
// Penalty if the piece is far from the king
score -= KingProtector[Pt - 2] * distance(s, pos.square<KING>(Us));
if (Pt == BISHOP || Pt == KNIGHT)
{
// Bonus if piece is on an outpost square or can reach one
@ -348,6 +345,9 @@ namespace {
&& (pos.pieces(PAWN) & (s + pawn_push(Us))))
score += MinorBehindPawn;
// Penalty if the piece is far from the king
score -= KingProtector[Pt == BISHOP] * distance(s, pos.square<KING>(Us));
if (Pt == BISHOP)
{
// Penalty according to number of pawns on the same color square as the