open-spaced-repetition/fsrs-rs

FSRS for Rust, including Optimizer and Scheduler

解決的問題

它提供了一個高性能的 Rust 實作版本的自由間隔重複排程器(FSRS),這是一種現代演算法,用於優化學習和記憶保留的複習時機。它讓開發者能夠將先進的間隔重複排程功能整合到自己的應用程式中,而無需依賴像 libtorch 這樣的沉重外部相依性。

如何運作

該程式庫實作了 FSRS 演算法,根據期望的保留率和學習項目記憶狀態來計算下一次複習的日期。它包含以下工具:

  • 排程複習:根據過去的複習歷史和使用者評分來計算間隔和到期日期。
  • 參數優化:使用複習記錄來計算 FSRS 模型的最適權重,以符合特定使用者的記憶模式。
  • 模擬:執行模擬以評估排程策略,包括一種專門的「成本 ADR」策略,用以平衡複習時間成本與保留率。
  • 遷移:將現有資料從舊的 SM-2 風格間隔重複系統中轉移。

適用對象

開發閃卡應用程式、學習管理系統,或任何需要基於記憶的內容複習排程系統的軟體開發者。

特色

  • 參數優化:能夠直接從使用者的複習歷史中訓練並優化 FSRS 參數。
  • 成本 ADR 策略:內建單使用者優化器,支援成本條件下的期望保留率策略。
  • 跨語言支援:提供 C、Python、Node.js、Dart 和 PHP 的綁定。
  • SM-2 兼容性:內建功能,可將資料從舊的 SM-2 系統中遷移。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案