I do understand mistake and blunder, probably because I am 65 years old, but what exactly is an inaccurate move? Is it something that only an AI can identify?
I do understand mistake and blunder, probably because I am 65 years old, but what exactly is an inaccurate move? Is it something that only an AI can identify?
https://github.com/lichess-org/lila/blob/048fab74ccec0aabaec58e89ca13a4695437b390/modules/tree/src/main/Advice.scala#L45
private val winningChanceJudgements = List(
.3 -> Advice.Judgement.Blunder,
.2 -> Advice.Judgement.Mistake,
.1 -> Advice.Judgement.Inaccuracy
)
Changes in winning chances define Blunder, Mistake, and Inaccuracy. A 30% change (i.e., from 80% to 50%) is a Blunder; 20% is a Mistake, and 10% is an Inaccuracy.
The winning chances here are defined by a regression that was performed on tens of thousands of lichess games (it does not use Stockfish's win chances formula); you can read more about it here
github.com/lichess-org/lila/pull/11148
And see the code that implements it here
https://github.com/lichess-org/lila/blob/048fab74ccec0aabaec58e89ca13a4695437b390/modules/tree/src/main/Advice.scala#L51
https://github.com/lichess-org/lila/blob/048fab74ccec0aabaec58e89ca13a4695437b390/modules/tree/src/main/Info.scala#L17
https://github.com/lichess-org/lila/blob/048fab74ccec0aabaec58e89ca13a4695437b390/modules/tree/src/main/Advice.scala#L45
private val winningChanceJudgements = List(
.3 -> Advice.Judgement.Blunder,
.2 -> Advice.Judgement.Mistake,
.1 -> Advice.Judgement.Inaccuracy
)
Changes in winning chances define Blunder, Mistake, and Inaccuracy. A 30% change (i.e., from 80% to 50%) is a Blunder; 20% is a Mistake, and 10% is an Inaccuracy.
The winning chances here are defined by a regression that was performed on tens of thousands of lichess games (it does not use Stockfish's win chances formula); you can read more about it here
github.com/lichess-org/lila/pull/11148
And see the code that implements it here
https://github.com/lichess-org/lila/blob/048fab74ccec0aabaec58e89ca13a4695437b390/modules/tree/src/main/Advice.scala#L51
https://github.com/lichess-org/lila/blob/048fab74ccec0aabaec58e89ca13a4695437b390/modules/tree/src/main/Info.scala#L17
This has nothing to do with your question so I’m sorry if this inappropriate. But I noticed a difference between chess.com and Lichess about what a blunder is. On chess.com a blunder is basically when you make a move that loses a piece, but on Lichess you also blunder if you could have won material.
I had a short game here and Lichess said I had one blunder, out of curiosity I wanted to know what I blundered and apparently it was a pawn move that could have won material. Now I know why I have more blunders on Lichess than on chess.com
This has nothing to do with your question so I’m sorry if this inappropriate. But I noticed a difference between chess.com and Lichess about what a blunder is. On chess.com a blunder is basically when you make a move that loses a piece, but on Lichess you also blunder if you could have won material.
I had a short game here and Lichess said I had one blunder, out of curiosity I wanted to know what I blundered and apparently it was a pawn move that could have won material. Now I know why I have more blunders on Lichess than on chess.com
Okay, I get what you are saying. So, in a given position if my move is correlated to a game that is won (amongst a database of games stored on lichess), then my move is accurate, if my move is correlated to a game that is lost...
It is helpful to know when I review my games.
Okay, I get what you are saying. So, in a given position if my move is correlated to a game that is won (amongst a database of games stored on lichess), then my move is accurate, if my move is correlated to a game that is lost...
It is helpful to know when I review my games.
@CranberryPawn said in #4:
in a given position if my move is correlated to a game that is won (amongst a database of games stored on lichess), then my move is accurate
That's not quite right. The position is scored by an engine before and after your move. Perhaps before your move the position is +2.4 and after your move it is +0.6. This has nothing to do with other games played on lichess, it is strictly an engine evaluation of your game alone.
In order to assess blunder, mistake, and inaccuracy, lichess needs to convert +2.4 and +0.6 to winning chances. This is where the other lichess games become relevant. If lichess players have won 74% of games from a +2.4 evaluation, and 53% of games from a +0.6 evaluation, then your move is determined to have reduced your winning chances by 21% (which makes your move a Mistake).
@CranberryPawn said in #4:
> in a given position if my move is correlated to a game that is won (amongst a database of games stored on lichess), then my move is accurate
That's not quite right. The position is scored by an engine before and after your move. Perhaps before your move the position is +2.4 and after your move it is +0.6. This has nothing to do with other games played on lichess, it is strictly an engine evaluation of your game alone.
In order to assess blunder, mistake, and inaccuracy, lichess needs to convert +2.4 and +0.6 to winning chances. *This* is where the other lichess games become relevant. If lichess players have won 74% of games from a +2.4 evaluation, and 53% of games from a +0.6 evaluation, then your move is determined to have reduced your winning chances by 21% (which makes your move a Mistake).
Can't that be done simply with stockfish? Then basically what your are saying is, if as white my current position is +2.5, and after my move I go down to +2.0 or +1.9, its a inaccuracy, if it goes down to +.6 then its a mistake, if it goes to -2.5 it is a blunder, yet after it is checked in a Lichess database?
That kind of makes sense.
Can't that be done simply with stockfish? Then basically what your are saying is, if as white my current position is +2.5, and after my move I go down to +2.0 or +1.9, its a inaccuracy, if it goes down to +.6 then its a mistake, if it goes to -2.5 it is a blunder, yet after it is checked in a Lichess database?
That kind of makes sense.
It is based on Stockfish evaluation but the evaluation is transformed into winning chance first. It makes perfect sense: a change from e.g. +1 to -1 is a big mistake as it changes the nature of the game a lot. On the other hand, a drop from +9 to +7 doesn't really matter much as such position is still winning easily and you still have to mess up really badly not to win.
That being said, this classification still has its drawbacks, e.g. once your position is bad enough (winning chances below 0.3 / 30%), you can no longer make a "blunder", whatever you do. Simply speaking your chances are seen as so hopeless that you cannot make them significantly more hopeless. You can hang a queen or miss a checkmate in one and it won't be marked as a blunder, even if it feels a bit counterintuitive.
It is based on Stockfish evaluation but the evaluation is transformed into winning chance first. It makes perfect sense: a change from e.g. +1 to -1 is a big mistake as it changes the nature of the game a lot. On the other hand, a drop from +9 to +7 doesn't really matter much as such position is still winning easily and you still have to mess up really badly not to win.
That being said, this classification still has its drawbacks, e.g. once your position is bad enough (winning chances below 0.3 / 30%), you can no longer make a "blunder", whatever you do. Simply speaking your chances are seen as so hopeless that you cannot make them significantly more hopeless. You can hang a queen or miss a checkmate in one and it won't be marked as a blunder, even if it feels a bit counterintuitive.
@mkubecek said in #7:
That being said, this classification still has its drawbacks, e.g. once your position is bad enough (winning chances below 0.3 / 30%), you can no longer make a "blunder", whatever you do. Simply speaking your chances are seen as so hopeless that you cannot make them significantly more hopeless. You can hang a queen or miss a checkmate in one and it won't be marked as a blunder, even if it feels a bit counterintuitive.
This is not quite true, allowing a forced checkmate is considered a blunder if the evaluation is above -7 from your POV. For example, in the game below Black allowed a forced mate in 6 in a totally lost position two knights down, which was considered a blunder. Me not finding the mate and Black allowing another quick mate were only mistakes since the evaluation was above +7.
See https://github.com/lichess-org/lila/blob/048fab74ccec0aabaec58e89ca13a4695437b390/modules/tree/src/main/Advice.scala#L100.
https://lichess.org/SsYkoX3M/white#85
@mkubecek said in #7:
> That being said, this classification still has its drawbacks, e.g. once your position is bad enough (winning chances below 0.3 / 30%), you can no longer make a "blunder", whatever you do. Simply speaking your chances are seen as so hopeless that you cannot make them significantly more hopeless. You can hang a queen or miss a checkmate in one and it won't be marked as a blunder, even if it feels a bit counterintuitive.
This is not quite true, allowing a forced checkmate is considered a blunder if the evaluation is above -7 from your POV. For example, in the game below Black allowed a forced mate in 6 in a totally lost position two knights down, which was considered a blunder. Me not finding the mate and Black allowing another quick mate were only mistakes since the evaluation was above +7.
See https://github.com/lichess-org/lila/blob/048fab74ccec0aabaec58e89ca13a4695437b390/modules/tree/src/main/Advice.scala#L100.
https://lichess.org/SsYkoX3M/white#85
The term 'inaccurate move' was in use long before the computer era. It refers to a move that is not the strongest or the most precise continuation, but not bad enough to be called a 'mistake' or 'blunder'. It is a fine line between 'inaccurate' and 'error' and subjective. Some above are treating it in a mathematical way using engine evaluations, but it's really up to you to come up with your own definition of what an inaccurate move is.
There are 'inaccurate' moves that do not affect the long-term result. For example, if you have a forced checkmate in 3 moves but instead deliver a forced checkmate in 5 moves, it is 'inaccurate' but a human won't be bothered by the difference. Whereas a blunder implies a game changing mistake from which there is no recovery.
The term 'inaccurate move' was in use long before the computer era. It refers to a move that is not the strongest or the most precise continuation, but not bad enough to be called a 'mistake' or 'blunder'. It is a fine line between 'inaccurate' and 'error' and subjective. Some above are treating it in a mathematical way using engine evaluations, but it's really up to you to come up with your own definition of what an inaccurate move is.
There are 'inaccurate' moves that do not affect the long-term result. For example, if you have a forced checkmate in 3 moves but instead deliver a forced checkmate in 5 moves, it is 'inaccurate' but a human won't be bothered by the difference. Whereas a blunder implies a game changing mistake from which there is no recovery.
@zwenna said in #8:
See github.com/lichess-org/lila/blob/048fab74ccec0aabaec58e89ca13a4695437b390/modules/tree/src/main/Advice.scala#L100.
This language is not really my cup of tea but you seem to be right, the checkmate sequence evaluations are indeed treated separately. I'm not sure if it is a good idea, though, as it IMHO makes spurious mistakes/blunders more likely. See e.g. my yesterday's game
https://lichess.org/study/NWvZxm77/AnikYB0K#72
where after 36... Rxc8, SF even at depth 47 still evaluates 37. Rxc8 as the best by far (#7, second is 37. Bb6+ with #28) but the server side analysis evaluated the position after 37. Rxc8 as "only" +8.6 (probably due to insufficient depth) so that even if black played the engine's best reply (37... Re8) it would be still marked as a mistake.
@zwenna said in #8:
> See github.com/lichess-org/lila/blob/048fab74ccec0aabaec58e89ca13a4695437b390/modules/tree/src/main/Advice.scala#L100.
This language is not really my cup of tea but you seem to be right, the checkmate sequence evaluations are indeed treated separately. I'm not sure if it is a good idea, though, as it IMHO makes spurious mistakes/blunders more likely. See e.g. my yesterday's game https://lichess.org/study/NWvZxm77/AnikYB0K#72 where after 36... Rxc8, SF even at depth 47 still evaluates 37. Rxc8 as the best by far (#7, second is 37. Bb6+ with #28) but the server side analysis evaluated the position after 37. Rxc8 as "only" +8.6 (probably due to insufficient depth) so that even if black played the engine's best reply (37... Re8) it would be still marked as a mistake.