Compensate by giving the Hanging bonus to weak doubly-attacked
non pawn enemies pieces.
STC: http://tests.stockfishchess.org/tests/view/
5bfd53c40ebc5902bced9237
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 62107 W: 13664 L: 13622 D: 34821
LTC: http://tests.stockfishchess.org/tests/view/
5bfd74700ebc5902bced9618
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 86406 W: 14381 L: 14365 D: 57660
A possible follow up would be to tune the hanging bonus and/or try to
simplify the hanging bonus condition.
Bench:
3810849
Ben Koshy (BKSpurgeon)
Bill Henry (VoyagerOne)
braich
Ben Koshy (BKSpurgeon)
Bill Henry (VoyagerOne)
braich
Brian Sheppard (SapphireBrand)
Bryan Cross (crossbr)
Brian Sheppard (SapphireBrand)
Bryan Cross (crossbr)
Chris Cain (ceebo)
Dan Schmidt
Daniel Dugovic (ddugovic)
Chris Cain (ceebo)
Dan Schmidt
Daniel Dugovic (ddugovic)
Daylen Yang (daylen)
DiscanX
Eelco de Groot
Daylen Yang (daylen)
DiscanX
Eelco de Groot
erbsenzaehler
Ernesto Gatti
Fabian Beuke (madnight)
erbsenzaehler
Ernesto Gatti
Fabian Beuke (madnight)
Leonid Pechenik (lp--)
Linus Arver
loco-loco
Leonid Pechenik (lp--)
Linus Arver
loco-loco
+Lub van den Berg (ElbertoOne)
Luca Brivio (lucabrivio)
Lucas Braesch (lucasart)
Lyudmil Antonov (lantonov)
Luca Brivio (lucabrivio)
Lucas Braesch (lucasart)
Lyudmil Antonov (lantonov)
constexpr Score KnightOnQueen = S( 20, 12);
constexpr Score LongDiagonalBishop = S( 44, 0);
constexpr Score MinorBehindPawn = S( 16, 0);
constexpr Score KnightOnQueen = S( 20, 12);
constexpr Score LongDiagonalBishop = S( 44, 0);
constexpr Score MinorBehindPawn = S( 16, 0);
- constexpr Score Overload = S( 12, 6);
constexpr Score PawnlessFlank = S( 18, 94);
constexpr Score RestrictedPiece = S( 7, 6);
constexpr Score RookOnPawn = S( 10, 28);
constexpr Score PawnlessFlank = S( 18, 94);
constexpr Score RestrictedPiece = S( 7, 6);
constexpr Score RookOnPawn = S( 10, 28);
if (weak & attackedBy[Us][KING])
score += ThreatByKing;
if (weak & attackedBy[Us][KING])
score += ThreatByKing;
- score += Hanging * popcount(weak & ~attackedBy[Them][ALL_PIECES]);
-
- b = weak & nonPawnEnemies & attackedBy[Them][ALL_PIECES];
- score += Overload * popcount(b);
+ b = ~attackedBy[Them][ALL_PIECES]
+ | (nonPawnEnemies & attackedBy2[Us]);
+ score += Hanging * popcount(weak & b);
}
// Bonus for restricting their piece moves
}
// Bonus for restricting their piece moves