Closed ghost closed 4 years ago
What do you mean by "the length of the box"?
The box value is used to track how many times in a row an item has been reviewed correctly and to look up fixed spacing intervals for the first few repetitions.
https://github.com/l3kn/org-fc/blob/e9f9679238b3d0f32f8413d0ea2e2bbf891d701f/org-fc.el#L1467
If a card is rated "easy", then next-box
is set to 2.
https://github.com/l3kn/org-fc/blob/e9f9679238b3d0f32f8413d0ea2e2bbf891d701f/org-fc.el#L1473-L1477
Here, if next-box
is less than the length of org-fc-sm2-fixed-intervals
, then it just iterates over the fixed interval to the nth interval
My org-fc-sm2-fixed-intervals
is not of length 2 - it is of length 3. Now, this means that instead of directly "graduating" out of the fixed intervals, pressing "easy" just jumps to the second fixed interval.
Ah, I see your point.
My intention with this was to speed up learning "easy" cards by skipping one of the small initial intervals. By default, there are four fixed intervals (I think I got these from one of the supermemo algorithms), so it will always use another fixed interval.
Let's say you have a new card/position (box 0) with a small initial interval (e.g. 0.1) and it "graduates" out of the fixed intervals after rating it as "easy". With the current logic, the next interval would be very small (interval * ease), leading to the card being reviewed earlier than one rated "good" (assuming the fixed interval for box 1 is larger).
In org-fc, the concept of "learning cards" is quite arbitrary and not related to the number of fixed intervals.
It would be nice to have this work more like it does in Anki, from my understanding of their algorithm, this would be equivalent to setting the fixed intervals to 1 minute, 10 minutes and 4 days.
Alternatively, the fixed-intervals
could be renamed to learning-intervals
(1min, 10min)
with an additional first-review-interval
(e.g. 4 days).
Any card with a box < (length fixed-intervals) would be considered as "learning"
and rating a "learning" card as "easy" would move it to box (length learning-intervals)
with a new interval of first-review-interval
.
One problem I have with these kinds of changes to the algorithm is how hard it is to quantify their effect on the review performance. I've been using sm2-v2 for a few month now and I still can't tell whether it solves the problems I had noticed with the first version.
A good step forward might be to add a new sm2-v3 algorithm with the changes I described above and see how well it works.
I plan on releasing org-fc version 1.0.0 with a bunch of large (breaking) changes in a few months, this would be a good time to deprecate the old algortihms and set the default to v3.
Closing, moved to https://todo.sr.ht/~l3kn/org-fc/2
https://github.com/l3kn/org-fc/blob/e9f9679238b3d0f32f8413d0ea2e2bbf891d701f/org-fc.el#L1467
I may be wrong, but this specific line seems to assume that the length of the box will always be 3 elements.