FSRS 支持自由复习,可以提前,也可以推迟,算法会根据记忆模型进行适应。
同时,间隔重复是实现自由学习的基础技术之一。
FSRS 可以在本地运行,无需担心泄露自己的学习数据。
本算法基于 SuperMemo 作者 Piotr Wozniak 提出的 DSR 模型开发。FSRS 在此基础上,根据论文 A Stochastic Shortest Path Algorithm for Optimizing Spaced Repetition Scheduling 中的 DHP 模型进行改进。
该模型考虑了影响记忆的三个变量:难度(difficulty),稳定性(stability)和可提取性(retrievability)。
稳定性指的是记忆的存储强度,越高,记忆遗忘得越慢。可提取性指的是记忆的检索强度,越低,记忆遗忘的概率越高。
在本模型中,考虑了以下记忆规律:
FSRS 的记忆公式: Free Spaced Repetition Scheduler
-
调度器:
- TypeScipt module: ts-fsrs
- Golang module: go-fsrs
- Python package: py-fsrs
- Rust crate: rs-fsrs
- Clojure library: cljc-fsrs
- Dart package: dart-fsrs
- Ruby gem: rb-fsrs
- Swift package: swift-fsrs
- Android library: android-fsrs
- Exlixir library: ex_fsrs
-
优化器:
- Python package (stable): fsrs-optimizer
- RS crate (stable): fsrs-rs
- run fsrs-rs in the browser: fsrs-browser