Disclaimer: I open this thread just as a curiosity of how simple some things can be. If I am wrong in my next reasoning, please answer.
------------
I reached by chance a Lichess blog about sharpness of positions:
Evaluating Sharpness using LC0's WDL
And I saw the WDL contempt of Lc0 according to that article:
Code: Select all
contempt = {2/[ln(1/W - 1) + ln(1/L - 1)]}^2
Then, I remembered the early days of Fishtest around 2013, where SPRT bounds were expressed in Bayeselo units instead of Elo. IIRC:
Code: Select all
bayeselo = 200*log10[(W/L)*(1 - W)/(1 - L)]
drawelo = 200*log10{[(1 - W)/W]*[(1 - L)/L]}
Code: Select all
drawelo/200 = log10{[(1 - W)/W]*[(1 - L)/L]}
drawelo/200 = log10[(1 - W)/W] + log10[(1 - L)/L]
drawelo/200 = log10(1/W - 1) + log10(1/L - 1)
drawelo/200 = [ln(1/W - 1) + ln(1/L - 1)]/ln(10)
drawelo*{[ln(10)]/200} = [ln(1/W - 1) + ln(1/L - 1)]/ln(10)
Code: Select all
contempt = (2/{drawelo*[ln(10)]/200})^2 = {[400/ln(10)]/drawelo}^2 = (C/drawelo)^2
Curiously, the constant C = 400/ln(10) is not that strange. While working with error bars in the past, I came across 1600/ln(10) several times (at least here, here, here, here and here).
------------
Please note that contempt and drawelo values can be unbound, for example with extreme values of W and L such as W = L = 0 (drawelo → infinity; contempt → 0) in KB vs K and KN vs K endgames; or W = 1 and L = 0 (or W = 0 and L = 1) (drawelo → 0; contempt → infinity), for example in a position where the only possible move/s lead to checkmate, like in the following position, unlikely to be seen in a real game:
[d]6qk/8/5r1K/7P/7Q/8/8/8 w - - 0 1
Qxf6+ (only), Qg7+ (only); Qxg7# (only)
An even funnier position is this one: beware with which queen you capture... win or lose!
[d]3Q2qk/8/4qq1K/7P/7Q/8/8/8 w - - 0 1
a) White wins (perfect play):
Qhxf6+, Qxf6+; Qxf6+, Qg7+; Qxg7#
b) Black wins (white blunders):
Qdxf6+??, Qg7#
c) White wins (back-to-back blunders):
Qdxf6+??, Qxf6+??; Qxf6+, Qg7+; Qxg7#
Regards from Spain.
Ajedrecista.