Skip to content

Commit

Permalink
Bonus for file distance of the outermost pawns
Browse files Browse the repository at this point in the history
In endgame it's better to have pawns on both wings.
So give a bonus according to file distance between left
and right outermost pawns.

Passed both short TC
LLR: 2.97 (-2.94,2.94) [-1.50,4.50]
Total: 39073 W: 7749 L: 7536 D: 23788

And long TC
LLR: 2.96 (-2.94,2.94) [0.00,6.00]
Total: 6149 W: 1040 L: 910 D: 4199

bench: 7665034
  • Loading branch information
Stefan Geschwentner authored and mcostalba committed Dec 25, 2013
1 parent 899a2c0 commit cf0a2a2
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/pawns.cpp
Expand Up @@ -57,6 +57,9 @@ namespace {
S( 0, 0), S( 6, 13), S(6,13), S(14,29),
S(34,68), S(83,166), S(0, 0), S( 0, 0) };

// Bonus for file distance of the two outermost pawns
const Score PawnsFileSpan = S(0, 10);

// Weakness of our pawn shelter in front of the king indexed by [rank]
const Value ShelterWeakness[RANK_NB] =
{ V(100), V(0), V(27), V(73), V(92), V(101), V(101) };
Expand Down Expand Up @@ -181,6 +184,14 @@ namespace {
}
}

// In endgame it's better to have pawns on both wings. So give a bonus according
// to file distance between left and right outermost pawns.
if (pos.count<PAWN>(Us) > 1)
{
b = ~e->semiopenFiles[Us] & 0xFF;
value += PawnsFileSpan * int(msb(b) - lsb(b));
}

return value;
}

Expand Down

0 comments on commit cf0a2a2

Please sign in to comment.