Tweak initial aspiration window.
authorStefan Geschwentner <stgeschwentner@gmail.com>
Fri, 5 Nov 2021 12:49:28 +0000 (13:49 +0100)
committerJoost VandeVondele <Joost.VandeVondele@gmail.com>
Fri, 5 Nov 2021 21:22:30 +0000 (22:22 +0100)
commita0259d8ab9661b7f625474d2cbe18481ef69bbf2
treec63762053d54b6ec0e104f08e4ba4d5b45164a20
parent45e5e65a28ce7e304c279fabf5f8a83cced73013
Tweak initial aspiration window.

Maintain for each root move an exponential average of the search value with a weight ratio of 2:1 (new value vs old values). Then the average score is used as the center of the initial aspiration window instead of the previous score.

Stats indicate (see PR) that the deviation for previous score is in general greater than using average score, so later seems a better estimation of the next search value. This is probably the reason this patch succeded besides smoothing the sometimes wild swings in search score. An additional observation is that at higher depth previous score is above but average score below zero. So for average score more/less fail/low highs should be occur than previous score.

STC:
LLR: 2.97 (-2.94,2.94) <0.00,2.50>
Total: 59792 W: 15106 L: 14792 D: 29894
Ptnml(0-2): 144, 6718, 15869, 7010, 155
https://tests.stockfishchess.org/tests/view/61841612d7a085ad008eef06

LTC:
LLR: 2.94 (-2.94,2.94) <0.50,3.00>
Total: 46448 W: 11835 L: 11537 D: 23076
Ptnml(0-2): 21, 4756, 13374, 5050, 23
https://tests.stockfishchess.org/tests/view/618463abd7a085ad008eef3e

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

Bench: 6719976
src/search.cpp
src/search.h