Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Let's implement SSP-MMC in Anki #722

Open
Expertium opened this issue Jan 22, 2025 · 0 comments
Open

[Feature Request] Let's implement SSP-MMC in Anki #722

Expertium opened this issue Jan 22, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@Expertium
Copy link
Collaborator

Expertium commented Jan 22, 2025

Relevant repo: https://github.com/open-spaced-repetition/SSP-MMC-FSRS

For anyone unfamiliar with that repo and Jarrett's paper, here's a summary: currently, Anki uses a fixed value of desired retention for scheduling. It works reasonably well, but there is an alternative, which is varying desired retention depending on the current difficulty and stability of the card.

There are several issues, however:

  1. Computational costs. Even after I sped it up recently, it can still take >10 seconds on modern hardware to calculate the SSP-MMC matrix which will then later be used for scheduling. And the more accurate we want the matrix to be, the longer it will take to compute. Although, since the Rust version would take advantage of multithreading (which isn't implemented in the Python version above), it will be faster anyway.
    Additionally, it can slow down Anki if we need to use to look up the value of desired retention after every review.
  2. Convergence problems. The idea is to find the value of desired retention - for a given pair of D and S - that minimizes the studying time ("cost"). However, the current implementation is sensitive to FSRS parameters and the choice of values of D and S.
  3. We cannot include the "cost" of short-term reviews without having a short-term memory model that predicts the probability of recall for short-term reviews.
  4. With SSP-MMC, the interval can decrease after "Good" or "Easy". And it's not a bug (according to Jarrett). I cannot imagine users liking it.

Potential advantages if we solve all these issues and implement SSP-MMC in Anki:

  1. Lower studying time than with any fixed value of desired retention.
  2. A sense of mastery. With SSP-MMC, cards with high S will have higher values of desired retention. This means that cards that the user knows well in the stability sense will also be easier to recall in the retrievability sense. This gives the user a feeling of mastery, like "I used to not know this material, but now I know it well!". Several users have said that they would like such a system.
@Expertium Expertium added the enhancement New feature or request label Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant