What is "Stockfish Level 8" on Lichess?

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

Moderators: hgm, Rebel, chrisw

lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

What is "Stockfish Level 8" on Lichess?

Post by lkaufman »

Does anyone know what version of Stockfish, how many threads, and what settings (Elo perhaps?) are used on Lichess for the top level (8) Stockfish?
Komodo rules!
User avatar
AdminX
Posts: 6340
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: What is "Stockfish Level 8" on Lichess?

Post by AdminX »

I think it is version 12 classical. I know they use version 13 NNUE for the browser analysis.

From Google:

Image
Last edited by AdminX on Wed Jul 14, 2021 8:16 pm, edited 1 time in total.
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
Fabian Fichter
Posts: 50
Joined: Mon Dec 12, 2016 2:14 pm

Re: What is "Stockfish Level 8" on Lichess?

Post by Fabian Fichter »

While for analysis lichess (via fishnet) uses Stockfish 14, for play against humans it uses Fairy-Stockfish. To my knowledge this mainly has two reasons: It supports an extended range of difficulty levels in order to also have suitable engine opponents for beginners, and it supports positions that do not work in Stockfish because they are not strictly legal chess positions (e.g., more than 32 pieces), since you can also use "play against the machine" for custom positions.

The time, skill level, and depth settings used for Fairy-Stockfish for each lichess level can be found in the fishnet code: https://github.com/niklasf/fishnet/blob ... #L209-L245
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: What is "Stockfish Level 8" on Lichess?

Post by lkaufman »

Fabian Fichter wrote: Wed Jul 14, 2021 8:12 pm While for analysis lichess (via fishnet) uses Stockfish 14, for play against humans it uses Fairy-Stockfish. To my knowledge this mainly has two reasons: It supports an extended range of difficulty levels in order to also have suitable engine opponents for beginners, and it supports positions that do not work in Stockfish because they are not strictly legal chess positions (e.g., more than 32 pieces), since you can also use "play against the machine" for custom positions.

The time, skill level, and depth settings used for Fairy-Stockfish for each lichess level can be found in the fishnet code: https://github.com/niklasf/fishnet/blob ... #L209-L245
It shows for level 8 1000 ms, skill 20, and depth 22. So does this mean that it runs Stockfish for one second on one thread at full strength but quit if 22 ply are finished before one second? Also, what Stockfish version is the basis for Fairy-Stockfish?
Komodo rules!
Vinvin
Posts: 5228
Joined: Thu Mar 09, 2006 9:40 am
Full name: Vincent Lejeune

Re: What is "Stockfish Level 8" on Lichess?

Post by Vinvin »

lkaufman wrote: Wed Jul 14, 2021 7:13 pm Does anyone know what version of Stockfish, how many threads, and what settings (Elo perhaps?) are used on Lichess for the top level (8) Stockfish?
The level 8 is Stockfish level 20 but with some limitations.
Here are the definitions of the levels in Lichess code : https://github.com/niklasf/fishnet/blob ... #L211-L220
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: What is "Stockfish Level 8" on Lichess?

Post by lkaufman »

Vinvin wrote: Wed Jul 14, 2021 11:12 pm
lkaufman wrote: Wed Jul 14, 2021 7:13 pm Does anyone know what version of Stockfish, how many threads, and what settings (Elo perhaps?) are used on Lichess for the top level (8) Stockfish?
The level 8 is Stockfish level 20 but with some limitations.
Here are the definitions of the levels in Lichess code : https://github.com/niklasf/fishnet/blob ... #L211-L220
Yes, that's same info as the other post, but which version of Stockfish is the equivalent of the fairy-stockfish used for this? Also, what is the 3000 elo, just a guess or an actual limitation?
Komodo rules!
Fabian Fichter
Posts: 50
Joined: Mon Dec 12, 2016 2:14 pm

Re: What is "Stockfish Level 8" on Lichess?

Post by Fabian Fichter »

lkaufman wrote: Wed Jul 14, 2021 10:47 pm It shows for level 8 1000 ms, skill 20, and depth 22. So does this mean that it runs Stockfish for one second on one thread at full strength but quit if 22 ply are finished before one second?
Yes, exactly. So it will run something like `go movetime 1000 depth 22`. However, since the switch from python to Rust of the fishnet codebase I did not check yet whether there is any scaling to adjust for hardware differences of the fishnet workers.
lkaufman wrote: Wed Jul 14, 2021 10:47 pm Also, what Stockfish version is the basis for Fairy-Stockfish?
I try to regularly update Fairy-Stockfish with changes from official Stockfish, but I am often lagging behind a few weeks or months with merges. Lichess currently uses Fairy-Stockfish 13.1 (this info is also shown in the "play with the computer"). I keep the major version naming consistent with official Stockfish, so release 13.1 means that it is based on an official SF version between releases 13 and 14. By default Fairy-Stockfish does not include an NNUE net, although it of course supports it, since it increases binary size 10x and using it for standard chess is not really the main use case (after all, you should usually use Stockfish instead). Therefore also lichess uses it with classical evaluation to my knowledge, which also makes the aforementioned "play from position" more robust.

The Elo numbers on the levels are not normalized in any way, they are just ballpark numbers for orientation as far as I know.
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: What is "Stockfish Level 8" on Lichess?

Post by lkaufman »

Fabian Fichter wrote: Wed Jul 14, 2021 11:41 pm
lkaufman wrote: Wed Jul 14, 2021 10:47 pm It shows for level 8 1000 ms, skill 20, and depth 22. So does this mean that it runs Stockfish for one second on one thread at full strength but quit if 22 ply are finished before one second?
Yes, exactly. So it will run something like `go movetime 1000 depth 22`. However, since the switch from python to Rust of the fishnet codebase I did not check yet whether there is any scaling to adjust for hardware differences of the fishnet workers.
lkaufman wrote: Wed Jul 14, 2021 10:47 pm Also, what Stockfish version is the basis for Fairy-Stockfish?
I try to regularly update Fairy-Stockfish with changes from official Stockfish, but I am often lagging behind a few weeks or months with merges. Lichess currently uses Fairy-Stockfish 13.1 (this info is also shown in the "play with the computer"). I keep the major version naming consistent with official Stockfish, so release 13.1 means that it is based on an official SF version between releases 13 and 14. By default Fairy-Stockfish does not include an NNUE net, although it of course supports it, since it increases binary size 10x and using it for standard chess is not really the main use case (after all, you should usually use Stockfish instead). Therefore also lichess uses it with classical evaluation to my knowledge, which also makes the aforementioned "play from position" more robust.

The Elo numbers on the levels are not normalized in any way, they are just ballpark numbers for orientation as far as I know.
Thanks. So lichess level 8 is pretty much SF 13 (or a slightly later dev version) without NNUE, on one thread, running for one second (possibly hardware adjusted) but aborted after 22 ply, which I think would only affect the endgame normally. So in bullet chess it is pretty close to full strength single thread sf11 (last version pre-nnue, later versions probably not stronger without a net), since bullet is about one second per move, but in blitz it is giving large time odds.
Komodo rules!