Stockfish 12 is released today!

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Dann Corbit, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
Nay Lin Tun
Posts: 700
Joined: Mon Jan 16, 2012 5:34 am

Stockfish 12 is released today!

Post by Nay Lin Tun » Wed Sep 02, 2020 3:07 pm

Congratulations SF team!


"In a match against Stockfish 11,
Stockfish 12 will typically win at least ten times more game pairs
than it loses."
https://abrok.eu/stockfish/
:shock:

Jouni
Posts: 2432
Joined: Wed Mar 08, 2006 7:15 pm

Re: Stockfish 12 is released today!

Post by Jouni » Wed Sep 02, 2020 3:37 pm

Wow that was fast!!
Jouni

Frank Quisinsky
Posts: 5592
Joined: Wed Nov 18, 2009 6:16 pm
Location: Trier, Germany
Full name: Frank Quisinsky
Contact:

Re: Stockfish 12 is released today!

Post by Frank Quisinsky » Wed Sep 02, 2020 4:20 pm

Hi Jouni,

but right!
If in Hybrid / NNUE file an error, a new release 12.1 for an example, should be no problem.
So an official release with NNUE comes to the right time.

I hope of two compiles!
With and without the NNUE file.

Thanks to the big Stockfish team!

Best
Frank
I like computer chess!

peter
Posts: 2268
Joined: Sat Feb 16, 2008 6:38 am
Full name: Peter Martan

Re: Stockfish 12 is released today!

Post by peter » Wed Sep 02, 2020 4:52 pm

Hi Frank!
Frank Quisinsky wrote:
Wed Sep 02, 2020 4:20 pm
I hope of two compiles!
With and without the NNUE file.

Thanks to the big Stockfish team!
If a compile without net embedded was planned furthermore, I guess it would be there and it probably would be the only one again, and yes, I would like it more that way it was before, if I had to choose. I wouldn't need embedded nets at all, as well as I didn't need them till now.
Nets wouldn't have to be downloaded every time with a new compile and one at least could delete them without deleting the whole compile too.

But nevertheless to say many thanks once in a while now and then for the great work of so many people over the years, it is really high time to me too.
Peter.

User avatar
Ajedrecista
Posts: 1562
Joined: Wed Jul 13, 2011 7:04 pm
Location: Madrid, Spain.
Contact:

Re: Stockfish 12 is released today!

Post by Ajedrecista » Wed Sep 02, 2020 6:16 pm

Hello:
Nay Lin Tun wrote:
Wed Sep 02, 2020 3:07 pm
Congratulations SF team!
Thank you for the news! This NNUE thing was a truly breakthrough.
Nay Lin Tun wrote:
Wed Sep 02, 2020 3:07 pm
"In a match against Stockfish 11,
Stockfish 12 will typically win at least ten times more game pairs
than it loses."
https://abrok.eu/stockfish/
:shock:
If I assume that this sentence means that there will be w >= 10*l wins in a n-game match with w wins, d draws and l loses (just seeing some tests at Fishtest), the Elo difference remains open to the draw ratio:

Code: Select all

w + d + l = n
w/n + d/n + l/n = n/n
W + D + L = 1

W = K*L >= L     // K >= 1
K*L + D + L = 1
(K + 1)*L = 1 - D
L = (1 - D)/(K + 1)

Elo_diff. = 400*log10{[1 + (W - L)]/[1 - (W - L)]}
Elo_diff. = 400*log10{[1 + (K*L - L)]/[1 - (K*L - L)]}
Elo_diff. = 400*log10{[1 + (K - 1)*L]/[1 - (K - 1)*L]}

Elo_diff. = 400*log10{[1 + (K - 1)*(1 - D)/(K + 1)]/[1 - (K - 1)*(1 - D)/(K + 1)]}
Elo_diff. = 400*log10{[K + 1 + (K - 1)*(1 - D)]/[K + 1 - (K - 1)*(1 - D)]}
Elo_diff. = 400*log10{[2*K - (K - 1)*D]/[2 + (K - 1)*D]}

Code: Select all

Elo_diff. = 400*log10{[2*K - (K - 1)*D]/[2 + (K - 1)*D]}

Extreme cases:

D = 1 (100% draws): Elo_diff. = 400*log10[(K + 1)/(K + 1)] = 400*log10(1) = 0     // As expected.
D = 0 (  0% draws): Elo_diff. = 400*log10(2*K/2) = 400*log10(K)     // WiLo formula, as expected.
Using K = 10 suggested by Joost: Elo_diff. = 400*log10[(20 - 9*D)/(2 + 9*D)]. I plotted the equation and it is quite similar to a line from D = 0.7 to D = 1 with the slope of the derivative of the equation at D = 1:

Code: Select all

Elo_diff.(D; K = 10) - Elo_diff.(D = 1; K = 10) ~ [{d[Elo_diff.(D; K = 10)]/dD}|(D = 1)]*(D - 1)     // For 0.7 =< D =< 1
Elo_diff.(D; K = 10) - 0 ~ {-95200/[143*ln(10)]}*(D - 1)     // For 0.7 =< D =< 1
Elo_diff.(D; K = 10) ~ -289.12*(D - 1)     // For 0.7 =< D =< 1
Elo_diff.(D; K = 10) ~ 289.12*(1 - D)     // For 0.7 =< D =< 1
I do not know if this approximation holds for other K values and in which ranges of the draw ratio D. Just in case:

Code: Select all

d[Elo_diff.(D; K)]/dD = [800/ln(10)]*(K^2 + 2*K - 1)/{[D*(K + 1) + 2]*[K*(K - 1) - 2*K]}

[{d[Elo_diff.(D; K)]/dD}|(D = 1)] = -[800/ln(10)]*(K^2 + 2*K - 1)/[(K + 1)*(K + 3)]

For D_0 =< D =< 1 (D_0 to be determined), the following relationship might hold:
Elo_diff.(D; K) ~ (1 - D)*[800/ln(10)]*(K^2 + 2*K - 1)/[(K + 1)*(K + 3)]
Enough of so much math! Time to try the new SF 12 if I do not mess with all the embedded stuff.

Regards from Spain.

Ajedrecista.

Post Reply