#21 Sadly, players grumble whenever "a Stockfish evaluation is incorrect" and (even GMs at St. Louis Chess Club) do not realize that engine evaluations are subjective.
I have received many bug reports saying "Stockfish's evaluation is incorrect" with little to no explanation. For example, players have called it a bug that on Lichess Stockfish tends to play the French defense, or that in Crazyhouse it plays 4... Bd6, or simply that "the number itself is incorrect". I don't understand how to change Stockfish to meet everyone's needs.
My original point is that Stockfish isn't producing the annotations; lichess (relying on Stockfish evaluations) is producing clumsy annotations, perhaps due to lichess misunderstanding node types?
http://chessprogramming.wikispaces.com/Node+TypesThe Universal Chess Interface protocol specifies 4 types of evaluations:
http://wbec-ridderkerk.nl/html/UCIProtocol.html * score
* cp
the score from the engine's point of view in centipawns.
* mate
mate in y moves, not plies.
If the engine is getting mated use negativ values for y.
* lowerbound
the score is just a lower bound.
* upperbound
the score is just an upper bound.
IMHO a mistake occurs when the lower bound of the best move exceeds the upper bound of the "mistake" move. However this rule is computationally expensive and the lichess annotator likely does something else.