Dear Peter, On Sat, May 02, 2015 at 08:04:09PM +0200, Peter Bienstman wrote: > > Worse, > > cards that the user reviews precisely on time, but fails to recall (grade 0 > > or 1) > > end up with higher easiness scores than cards that the user can recall, but > > barely or with serious effort (grades 2 and 3). Are you really sure that is > > what > > you intended? It is a pretty major deviation from the original SM2 > > algorithm. > > If you fail to recall the card (grade 0 or 1), the easiness stays the same, > but the interval gets reset to zero. > > A similar thing happens in the original SM2. See rule 6 in > > http://www.supermemo.com/english/ol/sm2.htm
It is rule 5 of the SM2 algorithm that is not being executed at all for cards graded 0 or 1, and incorrectly for cards graded 2. Let me give you an example: 2 cards, A and B are memorised for the first time. They are then reviewed for the first time. The user forgot card A, and grades the answer 0 or 1. The easiness is not updated, and remains 2.5, but the interval is reset. For the other card, the user grades their answer 3. The easiness is updated and becomes 2.36. The next day, card A has to be learned again. After the second interval of 6 days, assuming the user grades their answer 4 every time, the interval of card A will grow exponentially with a factor of 2.5 each time. Meanwhile, for card B, the interval will grow with only factors of 2.36. So the user performed worse on card A than on card B, and yet the interval of card A grows faster. Moreover, if at some future date both cards are forgotten and have to be learned again, then card B will still repeated more often than card A, even though the user's performance indicates that it is easier for them to remember. This is clearly not the intention of the SM2 algorithm, where card A's easiness should have been updated to 1.7 or 1.96, depending on the grade of the answer. In the real SM2 algorithm, card A would then be repeated more often the next time it has been learned successfully. In the documentation you explain the differences between Mnemosyne and SM2. It states "The Mnemosyne algorithm is very similar to SM2 used in one of the early versions of SuperMemo. There are some modifications that deal with early and late repetitions, and also to add a small, healthy dose of randomness to the intervals." The difference in behaviour in this bugreport is not at all covered by that statement. The problem appears also for timely reviews, and it has no randomness. That is why it must be unintentional and why I am not so sure that you understand the nature of this bug. So, why not just fix this by applying my patch? Otherwise, you should really update that comment in the documentation to make it clear what you've changed compared to the actual SM2 algorithm. That way, at least it won't be an "undocumented feature" anymore. Best regards, Astrid -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org