fsrs4anki icon indicating copy to clipboard operation
fsrs4anki copied to clipboard

[Enhancement] Improving the function for calculating difficulty

Open user1823 opened this issue 11 months ago • 34 comments

The current formula for D in FSRS is just a heuristic one. We have already tried a lot of approaches to improve the calculation of difficulty. But all of them failed.

While developing a better function for D, we should keep in mind the following:

  • Calculation of difficulty after review should depend upon the retrievability, just like in SuperMemo algorithms. If the R at the time of review is not considered, the model effectively learns Anki's scheduler and not the actual patterns of forgetting. (Past discussion about this can be found here: https://github.com/open-spaced-repetition/fsrs4anki/issues/248)
  • There shouldn't be clustering of heterogeneous reviews at maximum difficulty. Based on the current formula, many of my reviews would have a difficulty of more than 10. Clamping of the difficulty caused the difficulty of heterogeneous reviews to become the same (i.e., 10). (Past discussion about this can be found here: https://github.com/open-spaced-repetition/fsrs4anki/issues/262)
  • It should try to incorporate the concept of mean reversion within the main function of D.
  • If Again is the first rating, it should not have as much impact on the D as the lapses have. Reason: You might have created the card several weeks ago and you have almost no remaining memory of it when you review it for the first time. The extreme case would be where the card was created by someone else, and the first review is the first time you encounter the information. So, an Again rating here doesn't mean that the card is difficult.
  • Variants of the easy and hard factors might also need to be included in the formula for D.

user1823 avatar Jul 14 '23 05:07 user1823