Class FSRSAlgorithm

Hierarchy (view full)

Constructors

Properties

_seed?: string
intervalModifier: number

Accessors

  • set seed(seed): void
  • Parameters

    • seed: string

    Returns void

Methods

  • If fuzzing is disabled or ivl is less than 2.5, it returns the original interval.

    Parameters

    • ivl: number

      The interval to be fuzzed.

    • elapsed_days: number

      t days since the last review

    Returns int

    • The fuzzed interval.
  • The formula used is : $$\min \lbrace \max \lbrace D_0,1 \rbrace,10\rbrace$$

    Parameters

    • difficulty: number

      $$D \in [1,10]$$

    Returns number

  • The formula used is : $$R(t,S) = (1 + \text{FACTOR} \times \frac{t}{9 \cdot S})^{\text{DECAY}}$$

    Parameters

    • elapsed_days: number

      t days since the last review

    • stability: number

      Stability (interval when R=90%)

    Returns number

    r Retrievability (probability of recall)

  • The formula used is : $$D_0(G) = w_4 - e^{(G-1) \cdot w_5} + 1 $$ $$D_0 = \min \lbrace \max \lbrace D_0(G),1 \rbrace,10 \rbrace$$ where the $$D_0(1)=w_4$$ when the first rating is good.

    Parameters

    • g: Grade

      Grade (rating at Anki) [1.again,2.hard,3.good,4.easy]

    Returns number

    Difficulty $$D \in [1,10]$$

  • The formula used is : $$ S_0(G) = w_{G-1}$$ $$S_0 = \max \lbrace S_0,0.1\rbrace $$

    Parameters

    • g: Grade

      Grade (rating at Anki) [1.again,2.hard,3.good,4.easy]

    Returns number

    Stability (interval when R=90%)

  • The formula used is : $$w_7 \cdot \text{init} +(1 - w_7) \cdot \text{current}$$

    Parameters

    • init: number

      $$w_2 : D_0(3) = w_2 + (R-2) \cdot w_3= w_2$$

    • current: number

      $$D - w_6 \cdot (R - 2)$$

    Returns number

    difficulty

  • The formula used is : $$\text{delta}_d = -w_6 \cdot (g - 3)$$ $$\text{next}_d = D + \text{linear damping}(\text{delta}_d , D)$$ $$D^\prime(D,R) = w_7 \cdot D_0(4) +(1 - w_7) \cdot \text{next}_d$$

    Parameters

    • d: number

      Difficulty $$D \in [1,10]$$

    • g: Grade

      Grade (rating at Anki) [1.again,2.hard,3.good,4.easy]

    Returns number

    $$\text{next}_D$$

  • The formula used is : $$S^\prime_f(D,S,R) = w_{11}\cdot D^{-w_{12}}\cdot ((S+1)^{w_{13}}-1) \cdot e^{w_{14}\cdot(1-R)}$$ enable_short_term = true : $$S^\prime_f \in \min \lbrace \max \lbrace S^\prime_f,0.01\rbrace, \frac{S}{e^{w_{17} \cdot w_{18}}} \rbrace$$ enable_short_term = false : $$S^\prime_f \in \min \lbrace \max \lbrace S^\prime_f,0.01\rbrace, S \rbrace$$

    Parameters

    • d: number

      Difficulty D \in [1,10]

    • s: number

      Stability (interval when R=90%)

    • r: number

      Retrievability (probability of recall)

    Returns number

    S^\prime_f new stability after forgetting

  • The formula used is : $$S^\prime_r(D,S,R,G) = S\cdot(e^{w_8}\cdot (11-D)\cdot S^{-w_9}\cdot(e^{w_{10}\cdot(1-R)}-1)\cdot w_{15}(\text{if} G=2) \cdot w_{16}(\text{if} G=4)+1)$$

    Parameters

    • d: number

      Difficulty D \in [1,10]

    • s: number

      Stability (interval when R=90%)

    • r: number

      Retrievability (probability of recall)

    • g: Grade

      Grade (Rating[0.again,1.hard,2.good,3.easy])

    Returns number

    S^\prime_r new stability after recall

  • The formula used is : $$S^\prime_s(S,G) = S \cdot e^{w_{17} \cdot (G-3+w_{18})}$$

    Parameters

    • s: number

      Stability (interval when R=90%)

    • g: Grade

      Grade (Rating[0.again,1.hard,2.good,3.easy])

    Returns number