TS-FSRS
    Preparing search index...

    Class FSRSAlgorithm

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _seed?: string
    forgetting_curve: (elapsed_days: number, stability: number) => number

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

    Type declaration

      • (elapsed_days: number, stability: number): number
      • Parameters

        • elapsed_days: number

          t days since the last review

        • stability: number

          Stability (interval when R=90%)

        Returns number

        r Retrievability (probability of recall)

    intervalModifier: number

    Accessors

    • set seed(seed: string): 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 : $$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

    • Calculates the next state of memory based on the current state, time elapsed, and grade.

      Parameters

      • memory_state: null | FSRSState

        The current state of memory, which can be null.

      • t: number

        The time elapsed since the last review.

      • g: number

        Grade (Rating[0.Manual,1.Again,2.Hard,3.Good,4.Easy])

      Returns FSRSState

      The next state of memory with updated difficulty and stability.