Asymmetry bonus for the attacking side

Use asymmetry in the position (king separation, pawn structure) to
compute an "initiative bonus" for the attacking side.

Passed STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 14563 W: 2826 L: 2636 D: 9101

And LTC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 14363 W: 2317 L: 2141 D: 9905

Bench: 8116244

Resolves #462
This commit is contained in:
Stéphane Nicolet
2015-10-15 21:27:52 -07:00
committed by Gary Linscott
parent 8fd34d7763
commit 7ea5659c5f
3 changed files with 27 additions and 5 deletions
+2
View File
@@ -36,6 +36,7 @@ struct Entry {
Bitboard pawn_attacks(Color c) const { return pawnAttacks[c]; }
Bitboard passed_pawns(Color c) const { return passedPawns[c]; }
int pawn_span(Color c) const { return pawnSpan[c]; }
int pawn_asymmetry() const { return asymmetry; }
int semiopen_file(Color c, File f) const {
return semiopenFiles[c] & (1 << f);
@@ -71,6 +72,7 @@ struct Entry {
int semiopenFiles[COLOR_NB];
int pawnSpan[COLOR_NB];
int pawnsOnSquares[COLOR_NB][COLOR_NB]; // [color][light/dark squares]
int asymmetry;
};
typedef HashTable<Entry, 16384> Table;