Update Elo estimates for terms in search
authorJoost VandeVondele <Joost.VandeVondele@gmail.com>
Fri, 10 Jan 2020 02:02:09 +0000 (03:02 +0100)
committerStéphane Nicolet <cassio@free.fr>
Fri, 10 Jan 2020 02:31:44 +0000 (03:31 +0100)
commit114ddb789bed2d74d6a786f5da6c9ce63d44de27
treecc7ab9599f112223e3a0e1e22e0fa7f38f71c7f5
parent7f623206f413b96170d432b401fe3c647325d01a
Update Elo estimates for terms in search

This updates estimates from 1.5 year ago, and adds missing terms. All estimates
from tests run on fishtest at 10+0.1 (STC), 20000 games, error bars +- 3 Elo,
see the original message in the pull request for the full list of tests.
Noteworthy changes are step 7 (futility pruning) going from ~30 to ~50 Elo
and step 13 (pruning at shallow depth) going from ~170 to ~200 Elo.

Full list of tests: https://github.com/official-stockfish/Stockfish/pull/2401

@Rocky640 made the suggestion to look at time control dependence of these terms.
I picked two large terms (early futility pruning and singular extension), so with
small relative error. It turns out it is actually quite interesting (see figure 1).
Contrary to my expectation, the Elo gain for early futility pruning is pretty time
control sensitive, while singular extension gain is not.

Figure 1: TC dependence of two search terms
![elo_search_tc]( http://cassio.free.fr/divers/elo_search_tc.png )

Going back to the old measurement of futility pruning (30 Elo vs today 50 Elo),
the code is actually identical but the margins have changed. It seems like a nice
example of how connected terms in search really are, i.e. the value of early futility
pruning increased significantly due to changes elsewhere in search.

No functional change.
src/search.cpp