mirror of
https://github.com/sockspls/badfish
synced 2025-05-02 01:29: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:
parent
f0a7bed6fb
commit
1e9397a2df
1 changed files with 5 additions and 5 deletions
|
@ -158,8 +158,8 @@ namespace {
|
||||||
// PassedDanger[Rank] contains a term to weight the passed score
|
// PassedDanger[Rank] contains a term to weight the passed score
|
||||||
constexpr int PassedDanger[RANK_NB] = { 0, 0, 0, 2, 7, 12, 19 };
|
constexpr int PassedDanger[RANK_NB] = { 0, 0, 0, 2, 7, 12, 19 };
|
||||||
|
|
||||||
// KingProtector[PieceType-2] contains a penalty according to distance from king
|
// KingProtector[knight/bishop] contains a penalty according to distance from king
|
||||||
constexpr Score KingProtector[] = { S(4, 6), S(6, 3), S(1, 0), S(0, -2) };
|
constexpr Score KingProtector[] = { S(4, 6), S(6, 3) };
|
||||||
|
|
||||||
// Assorted bonuses and penalties
|
// Assorted bonuses and penalties
|
||||||
constexpr Score BishopPawns = S( 3, 5);
|
constexpr Score BishopPawns = S( 3, 5);
|
||||||
|
@ -330,9 +330,6 @@ namespace {
|
||||||
|
|
||||||
mobility[Us] += MobilityBonus[Pt - 2][mob];
|
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)
|
if (Pt == BISHOP || Pt == KNIGHT)
|
||||||
{
|
{
|
||||||
// Bonus if piece is on an outpost square or can reach one
|
// Bonus if piece is on an outpost square or can reach one
|
||||||
|
@ -348,6 +345,9 @@ namespace {
|
||||||
&& (pos.pieces(PAWN) & (s + pawn_push(Us))))
|
&& (pos.pieces(PAWN) & (s + pawn_push(Us))))
|
||||||
score += MinorBehindPawn;
|
score += MinorBehindPawn;
|
||||||
|
|
||||||
|
// Penalty if the piece is far from the king
|
||||||
|
score -= KingProtector[Pt == BISHOP] * distance(s, pos.square<KING>(Us));
|
||||||
|
|
||||||
if (Pt == BISHOP)
|
if (Pt == BISHOP)
|
||||||
{
|
{
|
||||||
// Penalty according to number of pawns on the same color square as the
|
// Penalty according to number of pawns on the same color square as the
|
||||||
|
|
Loading…
Add table
Reference in a new issue