Optimization algorithm used in SuperMemo

Below is an outline of how SuperMemo makes it possible to learn at your maximum capacity:

* learned knowledge is split into the smallest possible pieces called items

* items are formulated in question-answer form; they can also include graphics, sound, and programmed elements such as specific repetition procedures, video, and even virtual reality (only in programmed databases)

* items are memorized in a self-paced manner by means of a drop-out technique, i.e., by responding to the asked questions as long as it takes to provide all correct answers

* after memorizing an item, the first repetition is schedule after an interval that is the same for all items (it is randomly shortened or lengthened for the sake of speeding up the optimization), and which statistically produces FI lapses of memory (FI stands for the forgetting index and equals 10% by default)

* the first interval is computed for an average learner, but as soon as the value of FI deviates from the requested level, the length of the first interval is modified

* after each repetition, the learner produces a grade, which determines the accuracy and easiness of reproducing the correct answer

* on the basis of response ratings, items are classified into difficulty categories. Difficulty is reestimated in each successive repetition

* different optimal intervals are applied to items of different difficulty

* different intervals are applied to items that have been repeated a different number of times

* the function of optimal intervals is constantly modified in order to produce the desired level of knowledge retention (i.e. the level determined by the selected forgetting index)

* the function of optimal intervals is represented as the matrix of optimal factors (OF-matrix), defined as follows:




I(n,EF) - n-th interval for item difficulty EF

OF(n,EF) - optimal factor for the n-th repetition and difficulty EF

The matrix of optimal factors may be inspected by means of the option Analysis : Advanced : Optimal factors or graphically by means of Analysis : Advanced : Optimal factors 3D

* difficulty of items is expressed by means of E-factors (see EF in the formulas from the previous paragraph). Historically, E-factors were used to determine how many times intervals should increase in successive repetitions of items of given difficulty. At present, E-factors are only used to index the matrices of optimal factors and retention factors, and may bear little relevance to the actual interval increase. Intially, all items have their E-factors set to 2.5. In the course of repetitions, E-factors are increased or decreased depending on the grades given by the learner. Good grades (i.e. grades above four) gradually increase E-factors, while bad grades decrease E-factors.

* matrix of optimal factors is produced by smoothing the matrix of retention factors (RF-matrix); (matrix of retention factors may be inspected by means of the option Analysis : Advanced : Retention or graphically by means of Analysis : Advanced : Retention factors 3D)

* each entry of the RF matrix equals the current estimation of the optimal factor OF that is expected to produce FI lapses of memory (i.e. RF(n,EF)=OF(n,EF))

* entries of the RF-matrix, the so-called retention factors (R-factors), are computed from forgetting curves whose shape is sketched on the basis of repetition history

* each difficulty category and repetition number has its own record of repetitions used to sketch a separate forgetting curve (forgetting curves may be inspected by clicking the mouse over one of the matrix entries displayed with following options on the Analysis : Advanced menu: Retention factors, Optimal factors, Optimal intervals, Retention or Cases)

* intervals used in learning, including the first interval, are slightly dispersed around their optimal values in order to increase the accuracy of forgetting curve sketching and make the distribution of repetitions in time more uniform

See also Theoretical foundations of SuperMemo