Give more weight to the pawns number and
the vertical king distance in evaluate_initiative()
Passed STC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 26729 W: 5067 L: 4825 D: 16837
and LTC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 60480 W: 8338 L: 8016 D: 44126
Bench:
8295162
Resolves #594
// status of the players.
Score evaluate_initiative(const Position& pos, int asymmetry, Value eg) {
// status of the players.
Score evaluate_initiative(const Position& pos, int asymmetry, Value eg) {
- int kingDistance = distance<File>(pos.square<KING>(WHITE), pos.square<KING>(BLACK));
+ int kingDistance = distance<File>(pos.square<KING>(WHITE), pos.square<KING>(BLACK))
+ - distance<Rank>(pos.square<KING>(WHITE), pos.square<KING>(BLACK));
int pawns = pos.count<PAWN>(WHITE) + pos.count<PAWN>(BLACK);
// Compute the initiative bonus for the attacking side
int pawns = pos.count<PAWN>(WHITE) + pos.count<PAWN>(BLACK);
// Compute the initiative bonus for the attacking side
- int initiative = 8 * (pawns + asymmetry + kingDistance - 15);
+ int initiative = 8 * (asymmetry + kingDistance) + 12 * pawns - 120;
// Now apply the bonus: note that we find the attacking side by extracting
// the sign of the endgame value, and that we carefully cap the bonus so
// Now apply the bonus: note that we find the attacking side by extracting
// the sign of the endgame value, and that we carefully cap the bonus so