Scale up space weight with number of blocked pawns

This idea is loosely based on stockfish losses in closed positions in different tournaments. Space weight symmetrically increases for both sides the more blocked position is.

passed STC
https://tests.stockfishchess.org/tests/view/5e919eefaf0a0143109dc8ce
LLR: 2.94 (-2.94,2.94) {-0.50,1.50}
Total: 16994 W: 3389 L: 3172 D: 10433
Ptnml(0-2): 277, 1931, 3918, 2040, 331

passed LTC
https://tests.stockfishchess.org/tests/view/5e91d04faf0a0143109dc8ea
LLR: 2.94 (-2.94,2.94) {0.25,1.75}
Total: 133386 W: 17316 L: 16763 D: 99307
Ptnml(0-2): 945, 12407, 39524, 12784, 1033

closes https://github.com/official-stockfish/Stockfish/pull/2626

Bench: 4966867
This commit is contained in:
Vizvezdenec
2020-04-13 03:48:52 +03:00
committed by Joost VandeVondele
parent d7a2d5a445
commit db59696aaf
3 changed files with 6 additions and 1 deletions

View File

@@ -695,7 +695,7 @@ namespace {
behind |= shift<Down+Down>(behind);
int bonus = popcount(safe) + popcount(behind & safe & ~attackedBy[Them][ALL_PIECES]);
int weight = pos.count<ALL_PIECES>(Us) - 1;
int weight = pos.count<ALL_PIECES>(Us) - 2 + pe->blocked_count() / 2;
Score score = make_score(bonus * weight * weight / 16, 0);
if (T)