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

Reply via email to