FSRS(Free Spaced Repetition Scheduler)是一种基于动态间隔重复的遗忘算法,由 SuperMemo 的 DSR 模型扩展而来,用于预测用户对某个知识点的遗忘概率,并据此智能安排复习时间。


一、核心原理

FSRS 基于三个关键变量建模记忆状态:

表格

复制

变量含义
难度(Difficulty)表示学习材料的难易程度,影响记忆稳定性增长的速度。
稳定性(Stability)表示记忆的“存储强度”,越高则遗忘越慢。
可提取性(Retrievability)表示记忆的“检索强度”,越低则越容易遗忘。

每次复习后,FSRS 会根据用户的评分(如“重来/困难/良好/简单”)动态更新这三个参数,从而调整下一次复习的间隔

。


二、算法公式(简化版)

FSRS 使用如下记忆强度预测模型:

S(t) = S₀ * (1 + α*(t/β)^γ) * e^(-λ*t)

其中:

  • S₀:初始记忆强度

  • α:学习速率系数

  • β:时间衰减因子

  • γ:非线性调节参数

  • λ:遗忘曲线系数

该模型通过机器学习拟合用户行为,动态优化复习间隔

。


三、与传统算法(如 SM-2)对比

表格

复制

特性FSRSSM-2
参数自适应✅ 动态调整❌ 固定参数
预测精度误差 < 15%误差 25%-30%
计算复杂度O(n)(带优化器)O(1)
适用场景长期记忆保持短期记忆训练

FSRS 更适合长期、个性化的记忆保持任务

。


四、应用场景

  1. 语言学习:如记忆单词、语法点

  • 考试备考:如医学、法律等需要大量记忆的专业

  • 职业培训:如学习新技术、流程规范

  1. 个人知识管理:如 Notion、Anki 等工具中集成 FSRS 插件


五、实际应用案例

  • Anki:FSRS 已作为官方可选算法替代 SM-2,用户可开启“FSRS 调度器”并自定义参数,如目标保留率(默认 90%)

  • 。

  • 墨墨背单词:其 MMX 算法为 FSRS 的变体,专用于中文词汇记忆。

  • Rember:AI 自动生成卡片,采用 FSRS-5 算法安排复习。


六、优势总结

  • ✅ 个性化强:根据用户历史行为自动调整参数

  • ✅ 记忆效率高:减少无效复习,提升长期保留率

  • ✅ 支持多平台:Anki、Python、Notion、Java 等均有实现

  • ✅ 开源可定制:如 Py-FSRS、FSRS4Anki 等项目提供完整 API


如你有具体使用场景(如想在 Anki 中配置 FSRS、或用 Python 自定义调度器),我可以提供详细操作指南。

更多推荐