autoEaseFactor icon indicating copy to clipboard operation
autoEaseFactor copied to clipboard

Actual interval for calculation?

Open buster-blue opened this issue 4 years ago • 3 comments

I don't know if this actually counts as an issue, but I wanted some clarification on scheduling. Does the addon simply use the scheduled interval of a card that's reviewed when making calculations, like the normal algorithm (sort of) does, or does it use the actual elapsed interval of a card from its last review, which might be longer (overdue cards) or shorter (reviewing ahead) than the interval that the card was scheduled for? I didn't find info about this on the addon page.

If it uses the scheduled interval, I suggest using the actual interval instead, since it would prevent miscalculation caused by a card not being reviewed at the scheduled date.

buster-blue avatar Sep 13 '20 23:09 buster-blue

It currently uses the scheduled interval, but this is a great idea for an enhancement, and would be a key part of #8 .

Technically, right now, the algorithm doesn't directly alter intervals at all, it jumps in before Anki calculates the interval and changes the ease, then Anki's scheduler sets the card's interval as it normally would (with the new ease).

By not touching the scheduler code, it simplifies the add-on a lot. Moving to direct scheduling would create a little higher risk of bugs unless I'm very sure I understand all that code, so I haven't been able to tackle it yet.

(Actually this happened -- a very early version (before I published it) borrowed some code that attempted to adjust scheduling based on real intervals, but it created some issues in corner cases that I wasn't able to resolve without removing the code, so I took a step back from that until I understood the different scheduling cases more thoroughly.)

brownbat avatar Sep 15 '20 13:09 brownbat

Correct me if I am wrong, but doesn't the original Anki scheduler already take into account the actual interval, rather than the scheduled interval? I'm quite sure that if you come back after an absence, the intervals you see on your reviews tend to be a lot longer than they would have been originally, and it is exactly because of this. If that is indeed the case, then if Auto Ease Factor takes in these same intervals as starting points, it should still have this functionality as well, in effect, I would think. But I might be mistaken.

VincentOostelbos avatar Oct 20 '20 14:10 VincentOostelbos

Correct me if I am wrong, but doesn't the original Anki scheduler already take into account the actual interval, rather than the scheduled interval?

Anki uses it as the base interval which is multiplies by Ease. As far as I understand without having looked at the math at all, Auto Ease Factor uses the scheduled ease, which does not take overdueness into account.

If it used the actual interval difference as the last ease, would it hurt to set min_ease to the highest ease which always (recently) resulted in "Good" or "Easy", so it doesn't set the ease to 130 as often for non-hard failed cards?

aleksejrs avatar Aug 10 '21 13:08 aleksejrs