lichess.org
Donate

To lichess programmers: warning on stockfish 10 evaluation values

@revoof: I am not surprised - and relieved! - that you use contempt 0.
I was deducing that, because of the reasonable values SF10 is giving on lichess (still, I think that SF10 surevaluates a bit compared to SF9, about 0 to 0.10, but in this margin this is not an issue).

I posted this question because of home analysis done on SF10 downloaded on the stockfish site with default settings, that is, contempt 24... and I saw straight away that "something was going wrong" (I mean I was working on known opening lines from me, I knew more or less what are SF9 evaluations and when I saw 0.71, I couldn't accept it).

@lovlas: I disagree strongly, contempt 24 compared to contempt 0 in SF10 can cause 0.2 variation at same depth, which is important.

Of course, all of that can be studied with deeper precision than what I have done. I asked it "in emergency" and I didn't know the existence of this parameter. Now I am relieved, but I think stockfish should explicitly indicate this parameter in his launched versions (again, they went from SF9 contempt 20 to SF10 contempt 24!).
Also, I consider that this parameter is still quite obscure and it may be debatable in future at which better level to put it for analysis sake (if they launch SF with higher and higher contempt value, then why remaining at 0?)
As a practical matter (for development) I won't be patching "Contempt = 0" in my fork and re-engineering development tools github.com/ianfab/fishtest to apply a negative patch (to reinstate Elo-gaining Contempt for every test). Several times in the last year the default value has changed (as have hundreds of other evaluation parameters) and likely as other parameter values continue to change it too will continue to change.

Since Lichess defaults Contempt = 0 for analysis there isn't a need to apply an Elo-losing patch to the Stockfish executable.
@lovlas these two are not independent. How angines play depends on how they eval positions. (See Houdini about contempt at http://www.cruxis.com/chess/manual/index.html?game_play.htm)

Everyone who is interested about Stockfish 10 contempt and analyzing mode should have to read github.com/official-stockfish/Stockfish/pull/1376 and github.com/official-stockfish/Stockfish/pull/1387 and the final commit comment at github.com/official-stockfish/Stockfish/commit/e9aeaad05266ca557a9496b5a17b4c5f82f0e946

Btw anyone knows exactly what values are used on lichess for "UCI_AnalyseMode", "Contempt type" and "Analysis Contempt" at all?

Forget my last question! It was answered while I edited my comment :)
Thanks. I have not read everything, but it seems that stockfish developers are concerned about the increase of strength of their machine (this is understandable, but I think that now they have more responsibilities). I din't see that they notice, and were concerned, that the evaluation value is modified and that it can have an impact on players using SF10 not for playing against a computer, but for analyzing and getting absolute evaluation values for themselves.
I downloaded SF10 and then got it running in Arena 3.5.1. That evaluation problem that I see here is the same in Arena. At the starting position it should be like +0.2 - +0.4 (cuz white gets the first move) but it shows +1.05 for some seconds and then +0.7. This applies both for Arena and Lichess. And after I make a move for white (e.g. e4) it goes to 'round -0.3. So maybe this is not a Lichess problem. I guess it's a problem in stockfish itself. It gives too much advantage to the side with the move. This is the thing that I saw in SF8 for the first time, but it was not to much. In SF9 it was not solved by the stockfish devs. And now in SF10, it's even higher. The evaluation can't be that high. I think the devs of stockfish should do something 'bout this (cuz I think it's an SF problem).
I completely agree with you: I have seen the same.
But they are true: if you put contempt to 0, these things are OK (I tested today).

It is 100% a problem of stockfish developpers.
Lichess has nothing to do with that as they say, in this thread, that they put contempt at 0, which is crucial.
@CreativeThinking contempt is a parameter you (or your GUI) can set to 0 if you don't like the default value. Learn what UCI paramers Stockfish has before thinking it has any problem.

Stockfish 10 64 by T. Romstad, M. Costalba, J. Kiiski, G. Linscott
uci
id name Stockfish 10 64
id author T. Romstad, M. Costalba, J. Kiiski, G. Linscott

option name Debug Log File type string default
option name Contempt type spin default 24 min -100 max 100
option name Analysis Contempt type combo default Both var Off var White var Black var Both
option name Threads type spin default 1 min 1 max 512
option name Hash type spin default 16 min 1 max 131072
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 30 min 0 max 5000
option name Minimum Thinking Time type spin default 20 min 0 max 5000
option name Slow Mover type spin default 84 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name UCI_Chess960 type check default false
option name UCI_AnalyseMode type check default false
option name SyzygyPath type string default <empty>
option name SyzygyProbeDepth type spin default 1 min 1 max 100
option name Syzygy50MoveRule type check default true
option name SyzygyProbeLimit type spin default 7 min 0 max 7
uciok

This topic has been archived and can no longer be replied to.