alexcres / fsrs4anki

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

Home Page:https://github.com/open-spaced-repetition/fsrs4anki/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 six 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).
  6. Disperse Siblings (cards with the same note) to avoid interference & reminder.

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

https://github.com/open-spaced-repetition/fsrs4anki/wiki

License:MIT License


Languages

Language:Jupyter Notebook 90.3%Language:Python 5.4%Language:JavaScript 4.3%Language:Makefile 0.0%