Improve the anti-shuffling policy
authorStéphane Nicolet <cassio@free.fr>
Tue, 9 Jun 2020 22:10:07 +0000 (00:10 +0200)
committerJoost VandeVondele <Joost.VandeVondele@gmail.com>
Wed, 10 Jun 2020 11:07:12 +0000 (13:07 +0200)
commit3af083a7cd9be1659f1d8a39a65e33b87608f762
tree77da32b4a93a197efd7a33dc63c44f4c40cdbd9e
parent4b10578acbe099482ed40200478df4d775c01af5
Improve the anti-shuffling policy

We replace the current decrease of the complexity term in initiative
when shuffling by a direct damping of the evaluation. This scheme may
have two benefits over the initiative approach:

a) the damping effect is more brutal for fortresses with heavy pieces
   on the board, because the initiative term is almost an endgame term;

b) the initiative implementation had a funny side effect, almost a bug,
   in the rare positions where mg > 0, eg < 0 and the tampered eval
   returned a positive value (ie with heavy pieces still on the board):
   sending eg to zero via shuffling would **increase** the tampered
   eval instead of decreasing it, which is somewhat illogical. This
   patch avoids this phenomenon.

STC:
LLR: 2.94 (-2.94,2.94) {-0.50,1.50}
Total: 43072 W: 8373 L: 8121 D: 26578
Ptnml(0-2): 729, 4954, 9940, 5162, 751
https://tests.stockfishchess.org/tests/view/5ee008ebf29b40b0fc95ade2

LTC:
LLR: 2.94 (-2.94,2.94) {0.25,1.75}
Total: 37376 W: 4816 L: 4543 D: 28017
Ptnml(0-2): 259, 3329, 11286, 3508, 306
https://tests.stockfishchess.org/tests/view/5ee03b06f29b40b0fc95ae0c

Closes https://github.com/official-stockfish/Stockfish/pull/2727

Bench: 4757174
src/evaluate.cpp