SM-2 演算法互動模擬器
直觀模擬單字複習在不同天數、點選不同按鈕的狀態與排程變化
卡片目前狀態
1. 模擬今天評分 (點選按鈕)
假設在模擬的 第 0 天 進行複習評分,卡片的更新效果:
2. 時間推移控制
您可以讓時間流逝,模擬提前複習、準時複習或逾期複習的狀況:
模擬歷史時間軸
共 0 筆紀錄3. SM-2 演算法公式對照表
- 初始 Ease:每一張新卡片的預設易忘因子 (E-Factor) 為 2.5。
- 最低 Ease 下限:無論選擇多少次 Hard 或 Again,Ease 永遠不會低於 1.3。
每次複習成功 (Grade ≥ 3),repetition 連續次數加 1,下次間隔為:
| 連續成功次數 (rep) | 計算公式 (interval) |
|---|---|
| 第 1 次成功 (rep = 1) | interval = 1 天 |
| 第 2 次成功 (rep = 2) | interval = 6 天 |
| 第 3+ 次成功 (rep > 2) | interval = round(舊 interval × ease) |
每次忘記 (Again, Grade 0),rep 直接歸 0,間隔強制重設為 1 天。
易忘因子 (ease) 微調量 delta:
| 選擇按鈕 | 評分 Grade | ease 變更值 (delta) |
|---|---|---|
| Again | 0 | 0.00 (不作扣分,下限 1.3) |
| Hard | 3 | -0.14 |
| Good | 4 | 0.00 (不變) |
| Easy | 5 | +0.10 |
※ 註:在成功時,系統會先用「目前 ease」去乘以舊間隔得出新間隔,然後才把 ease 加上 delta。所以本次按下的效果要到下一次複習時才會生效。
📐 Delta 官方公式推導過程
delta = 0.1 - (5 - q) × (0.08 + (5 - q) × 0.02)
- q = 5 (Easy): 0.1 - (0) × (0.08) = +0.10
- q = 4 (Good): 0.1 - (1) × (0.10) = 0.00
- q = 3 (Hard): 0.1 - (2) × (0.12) = -0.14
- q = 2 (理論值): 0.1 - (3) × (0.14) = -0.32
- q = 1 (理論值): 0.1 - (4) × (0.16) = -0.54
- q = 0 (Again理論值): 0.1 - (5) × (0.18) = -0.80
※ 註:根據 SM-2 第六條規則,當評分 q < 3 時,系統會視為答錯,直接使連續次數歸零,但「不改變其 E-Factor」。因此 q=0,1,2 在這套演算法中的實際應用,Delta 皆強制視為 0.00。這也是為何現代實作將 0,1,2 合併為一個 Again 按鈕的原因。
0、1、2 不扣 Ease 並不是一個 Bug 或漏洞,而是原作者刻意為之的保險機制。它保護了使用者的複習體驗,避免因為偶爾的腦霧或恍神,導致卡片掉入永遠複習不完的「Ease Hell」,是非常體貼人類認知特性的精巧設計。