Anki的重复间隔如何计算的
Terminology
- 间隔:Anki 是 Spaced repetition 软件,核心就是「间隔」的计算
- 笔记:Note,Anki 知识库中的一条记录
- 卡片:Card,拥有学习进度的最小单位,由一个笔记中的特定内容组合而成
- 牌组:Deck,卡片的集合
Anki 卡片的 4 种状态
- New 新卡片
- Learning 学习中卡片
- Re-Learning 复习中卡片
- Graduated 毕业
未毕业卡片的间隔
在 [[anki option]] 中的 learning step 指定。
使用上图的配置(15m 1d 6d),卡片的出现的间隔就是
回答的作用
在 learning 阶段,回答不会影响间隔值本身。
答错只是会将卡片重置回第一步,间隔还是以前的间隔。
已毕业卡片的间隔
卡片一旦走完 learning step 进入毕业状态,复习间隔就要根据下面公式计算:
已毕业卡片的新间隔 = 当前间隔 * ease * 间隔调节参数 |
公式说明:
parameter | explanation | note |
---|---|---|
当前间隔 | 字面意思 | |
ease 难度值 | 默认 default starting ease 是 250% |
和卡片绑定 |
间隔调节参数 | 默认 default interval modifier 是 100% |
和牌组绑定 |
ease 和间隔调节参数的进一步说明:
- 牌组可以理解为卡片的容器
- 难度值(ease)是卡片的属性,即使把卡片移动到了新的牌组,ease 保持不变
- 间隔调节参数却是牌组的属性,卡片移动到了新的牌组,就要使用新牌组的间隔调节参数
回答的作用
不同于未毕业的卡片,回答会影响已毕业卡片的 ease,进而影响间隔:
Answer | Ease | Interval |
---|---|---|
Good | ease = ease |
interval = interval * ease * interval modifier |
Again | ease = ease * 0.8 |
_触发 re-learning 机制, 由 new interval 参数控制 |
Hard | ease = ease * 0.85 |
interval = interval * 1.2 * interval modifier |
Easy | ease = ease * 1.15 |
interval = interval * new ease * interval modifier * ease bonus |
一般: |
可以看到,如果一个已毕业的卡片总是答不对(Again 或 Hard),ease 值会持续下降,这样会引发一个问题,ease hell
ease hell
什么是 ease hell?
一些卡片出现的频率非常高,即使每次都回答 Good,还是会以很高的频率反复出现。
产生原因
- 一直对一个卡片按 Hard 和 Again,卡片的 ease 会掉到 130%(最低值)
- 达到 ease 下限的卡片,即使之后按 Good,也不会提高 ease,导致计算出来的频率非常高
如何避免?
配置 [[anki option]] 中的 learning step,多增加几个 step,不要只用默认值。
原理很简单,处在 learning 阶段的卡片,按 hard/again 还是 good 都不会影响 ease :)