Skip to content

A modern Anki custom scheduling based on free spaced repetition scheduler algorithm

License

Notifications You must be signed in to change notification settings

akavi1/fsrs4anki

 
 

Repository files navigation

FSRS4Anki

FSRS4Anki

✨ A modern Anki custom scheduling based on Free Spaced Repetition Scheduler algorithm ✨

license release

Introduction

FSRS4Anki consists of two main parts: scheduler and optimizer.

The scheduler is based on a variant of the DSR (Difficulty, Stability, Retrievability) model, which is used to predict memory states. The scheduler aims to achieve the requested retention for each card and each review.

The optimizer applies Maximum Likelihood Estimation and Backpropagation Through Time to estimate the stability of memory and learn the laws of memory from time-series review logs. Then, it can find the optimal retention to minimize the repetitions via the stochastic shortest path algorithm.

For more detail on the mechanism of the FSRS algorithm, please see my papers: A Stochastic Shortest Path Algorithm for Optimizing Spaced Repetition Scheduling and Optimizing Spaced Repetition Schedule by Capturing the Dynamics of Memory.

FSRS4Anki Helper is an Anki add-on that supports the FSRS4Anki Scheduler. It has five features:

  1. Reschedule cards based on their entire review histories.
  2. Postpone due cards whose retention is higher than your target.
  3. Advance undue cards whose retention is lower than your target.
  4. Balance the load during rescheduling.
  5. No Anki on Free Days (such as weekends).

Usage

For the tutorial on FSRS4Anki scheduler, optimizer, helper, and simulator, please see: Usage

FAQ

Here collect some questions from issues, forums, and others: FAQ

Compatibility

Some add-ons modify the scheduling of Anki, which would cause conflict with FSRS4Anki scheduler. Please see Compatibility for more details. I will test these add-ons. Let me know via issues if I miss any add-ons.

Star History Chart

About

A modern Anki custom scheduling based on free spaced repetition scheduler algorithm

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 88.2%
  • JavaScript 6.2%
  • Python 5.6%