Provide WDL statistics
authorJoost VandeVondele <Joost.VandeVondele@gmail.com>
Sat, 27 Jun 2020 19:29:29 +0000 (21:29 +0200)
committerJoost VandeVondele <Joost.VandeVondele@gmail.com>
Wed, 1 Jul 2020 05:33:05 +0000 (07:33 +0200)
commit110068808b51344ac59f8c6a0846f5dfdf670392
treed8154802b29e9116152af9bdbf5a55aaccc4e07d
parent69d3be42a112645a9e599df615f730d61a5dca8c
Provide WDL statistics

A number of engines, GUIs and tournaments start to report WDL estimates
along or instead of scores. This patch enables reporting of those stats
in a more or less standard way (http://www.talkchess.com/forum3/viewtopic.php?t=72140)

The model this reporting uses is based on data derived from a few million fishtest LTC games,
given a score and a game ply, a win rate is provided that matches rather closely,
especially in the intermediate range [0.05, 0.95] that data. Some data is shown at
https://github.com/glinscott/fishtest/wiki/UsefulData#win-loss-draw-statistics-of-ltc-games-on-fishtest
Making the conversion game ply dependent is important for a good fit, and is in line
with experience that a +1 score in the early midgame is more likely a win than in the late endgame.

Even when enabled, the printing of the info causes no significant overhead.

Passed STC:
LLR: 2.94 (-2.94,2.94) {-1.50,0.50}
Total: 197112 W: 37226 L: 37347 D: 122539
Ptnml(0-2): 2591, 21025, 51464, 20866, 2610
https://tests.stockfishchess.org/tests/view/5ef79ef4f993893290cc146b

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

No functional change
Readme.md
src/search.cpp
src/uci.cpp
src/uci.h
src/ucioption.cpp