lichess.org
Donate

Why is the analysis board sometimes an authoritarian cheapskate?

Why does the analysis board sometimes tell you, say: mistake. Best move Nf6. Then you click on the suggested line for Nf6 and all it's got is: Nf6. Is it telling you "Duh! Don't you see it now, moron? If not, just take my word for it." Or is there a more technical reason why it sometimes does not provide an entire move sequence?
I am suffering the same problem , when I make a study in racing kings and the suggestion line is two move only , so I have to work hard to know why this is a mistake , and sometimes I don't, or may be a lot of times , I think we have to suggest lichess to make this sequence of move possible, but may be that need more servers so lichess need more money may be
I doubt that the reason has anything to do with cost. The program provides many move sequence suggestions but for some reason not always. Maybe on those occasions it treats the superiority of the suggested move as obvious, or maybe there is other reason, such as there being several possible move replies to the suggested one, and the analysis doesn't go that deep. I'm hoping someone who actually knows the answer can reply here.
i going to fritz to analyze my games, is more "human" to me.
I don' know what you mean by more human.

Where do you find Fritz?

So, no one has an explanation for the analysis anomaly?
Because not-enough-human-effort-to-your-taste was put into building the analysis interface. While it's easy to detect that "something is wrong" with the analysis feedback ("prefered variation") being only 2 moves deep, it's not trivial to fix.

This issue has been reported for two years (since Stockfish 8) and is discussed here : github.com/ornicar/lila/issues/2423
Insightful discussion. I'm not a programmer, and don't really understand why sometimes the analysis does generate sequences of 10 moves, and sometimes doesn't. One would think if a command could be programmed to do it sometimes it would not be difficult to program it to do it always. Since this has apparently been discussed for two years, I suppose there is little reason to hope a remedy will be forthcoming.
An engine will usually have a hash table for storing positions analyzed. Suppose the hash table has a million entries and the engine analyses a million positions per second. Then clearly after a few seconds of analysis, some of the researched positions have been forgotten and their analysis thrown away.

Typically the positions kept in the hash table are those worth keeping because they are on the main line (good play by both sides) or because they have a high search depth (because they will save more time if encountered again, e.g. due to transpositions).

If you are lucky, your blunder and its main line will still be in the hash table because that space in the table has not been needed for reuse.

If you are unlucky, the position from your blunder (or the position a couple of moves later on the blunders main line) will have clashed with another position. The space in the hash table will have been reused, and the sequence of moves lost.

This is my idea of what might be going on. I don't know Lichess internals.

@Sidonia-ChessEngine
Thanks. So let me ask a dumb question. Why are some analysed positions discarded? I mean, why are not all positions ever analysed retained in the data base? Is it a question of limited capacity? Why doesn't the engine just continue to build up a storage of increasingly more numerous analysed positions with the sequence of best moves extending from each?
It's because memory costs a lot of money.

Stockfish analysis has to use primary memory (RAM) for its hashtable. It can't use the cheaper secondary memory (HDD/SSD or similar) because it's far too slow.

If we were to store every position analyzed, we'd have to use a lot more RAM, which costs an incredible amount of money. Lichess just doesn't have the resources for that.

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