Optimization of Learning: Application of SuperMemo in Stochastic Learning


Piotr Woźniak 1990

This text was taken from P. A. Wozniak, Optimization of Learning, Master’s Thesis, University of Technology in Poznan, 1990 and adapted for publishing as an independent article on the web (P. A. Wozniak, M. K. Hejwosz, Jul 20, 2010).Please note that this text is pretty outdated and boldly hypothetical. It has been posted here only as a result of unending requests from users of SuperMemo and not only. It should not be taken as a reflection of the present position of Dr Wozniak or SuperMemo World on the topics considered. It is placed here on the web for archival purposes only. Minor corrections, esp. linguistic errors, have been introduced to make the text easier to read.Before reading, take note, that the hypothetical concept of can roughly be substituted with a well-defined phenomenon of procedural learning as long as it fits the basic presumption: in stochastic learning, it is the brain that needs to figure out the synaptic connections that need to be reinforced (basically via trial-and-error). Throughout the text stochastic learning is set in opposition to deterministic learning, which roughly corresponds with declarative learning.

The SuperMemo method has been applied successfully in the area of deterministic learning ultimately proving its validity and effectiveness. However, stochastic learning (see Chapter 10 on physiology of memory) is governed by different principles and an interesting question arose if the SuperMemo method can be applied in this form of learning as well. As early as in 1985, the SuperMemo method was incidentally applied in such domains of stochastic learning as typing, playing bass, playing piano and drum training. Now, we shall consider recent results of the more regular application of SuperMemo based algorithms in touch typing and drum training.

9.1. SuperMemo-based touch typing training

Touch typing training can, without any doubts, be classified as a process involving stochastic learning. The nervous system does not know nor can it learn from any source what muscles, in what sequence and with what timing should be stimulated. The entire control information necessary to guide fingers beyond the level of consciousness must be worked out by the neural network of the motor system itself. A special program has been developed to supervise the SuperMemo based touch typing training. The program has the structure and option tree identical to that of the SuperMemo programs used in deterministic learning (see Chapter 4). Two options, however, are implemented with an exclusive view to applying the touch typing training. These options are Append (used in appending new items to the database) and Test (used in the process of repetitions). The items used in the touch typing training have the form of short (3-20 character) phrases which are practiced during repetitions. The option Append should provide a means of selecting those phrases whose practicing seems to contribute the most significantly to the progress of the student.

There are two criteria of the appraisal of the student’s progress: the typing rate and the number of errors. The most common way of reconciling these two criteria is assignment of time penalties for wrong keystrokes. In most cases, those phrases that are typed at the slowest rate (including the error penalties) can be considered as the most promising candidates for intense practice intended to improve the overall performance. Therefore the selection of phrases that should be appended to the SuperMemo database should comprise testing the typing skills of the student with the use of an exemplary text and detection of those fragments that most visibly contribute to the lowering of the total typing score.

To simplify the process, it was assumed that a phrase should consist of a word delimited by spaces. A word would be picked up as a candidate for an item if its total or the lowest single-character typing speed (the lowest speed of typing a single character in the word) were substantially lower than the average typing speed of the student.

In the considered implementation the following formulas were used:

x := word_speed*(1/word_length);
if x < average_speed*0.6 OR
    character_speed < average_speed*0.4 then


  • x – auxiliary variable
  • word_speed – typing rate for the considered word
  • word_length – number of characters in the considered word
  • character_speed – lowest typing rate for a single character in the considered word
  • average_speed – average typing rate of the student
  • append_word – procedure appending the word to the database

Note that, in the first statement, the variable x is calculated on the base of word_speed in order to cancel the differences caused by the rule that longer words are characterized by slower typing rates. The variable x reflects the word_speed standardized for various lengths of phrases.

It is a known fact that a word can be typed slower in a given context, usually as the result of the preceding word. Therefore, the appending algorithm always generated an accompanying item in association with a given word. The accompanying item was composed of the considered word preceded by its predecessor from the testing text.

The Test option, second to Append in being modified for the sake of the touch typing program, was responsible for repetition of particular phrases stored in the database in compliance with the SuperMemo repetition spacing. The intervals used in repetitions were calculated according to the formula:

I(1) = quality+1
I(i) = I(i-1)*EF


  • I(i) – interval after the i-th repetition (in days)
  • quality – quality of the first repetition on the 0-5 grade scale
  • EF – E-Factor of the considered item

Note that, unlike in previous cases, the quality of the repetition was involved in determination of the first interval. This was an experimental solution whose validity was neither proved nor refuted.

Traditionally, all E-Factors were equal to 2.5 at the moment of appending and, based on the response quality, were modified in following repetitions in accordance with the standard formula (cf. algorithms SM-2 through SM-5; Chapter 3).

The response quality was calculated automatically on the base of the typing performance during the repetition.

Two parameters were used to calculate the quality:

  • average typing rate during the repetition (SPEED)
  • number of type-ins of the item (COUNT) indicating how many times the item had been typed during the repetition before the average typing rate for that repetition reached 87% of the maximum typing rate ever recorded for the item (the maximum for a single type-in)

The value 87%, as well as all other numeric values necessary to calculate the typing quality, was chosen by trial and error.

The value of the COUNT parameter could not exceed 50 because after 50 type-ins the repetition procedure was interrupted independent of the performance.

Below the functions used in calculating the typing quality are presented:

function speed_quality(x);
constant x1=0.3;   y1=0;
         x2=0.86;  y2=5;
    speed_quality := (y2-y1)/(x2-x1)*(x-x1)+y1;

function count_quality(x);
constant x1=20;  y1=5;
         x2=50;  y2=1;
    count_quality := (y2-y1)/(x2-x1)*(x-x1)+y1;

function quality(count, speed, max_speed);
    quality := count_quality(count)+speed_quality(speed/max_speed);
    quality := quality/2;
    if quality < 0 then quality := 0;
    if quality > 5 then quality := 5;

The interpretation of identifiers in the foregoing functions:

  • speed_quality – function calculating the speed component of typing quality
  • count_quality – function calculating the count component of typing quality
  • count – number of type-ins of the item during the repetition
  • speed – average typing rate recorded during the repetition
  • max_speed – maximum typing rate ever recorded for the item (for a single type-in)

Note, that (x1,y1) and (x2,y2) define the linear functions used in calculation of the SPEED and COUNT components of the quality.

The SuperMemo based type-training program has been applied since Apr 1, 1990 and appeared to be very helpful in improving my typing skills. However, no reliable quantitative data can as yet be provided concerning the following questions:

  • what is the effectiveness of the SuperMemo type-trainer in comparison to other standard type-training programs
  • what is the usefulness of the program for less or more advanced students (the quality assessment parameters were adjusted to my personal requirements)
  • what is the typical progress curve obtained with application of the program

These, and many other related questions, shall be addressed soon. Nonetheless, using the data obtained so far, one might try to answer the question if the SuperMemo repetition spacing can be applied successfully in stochastic learning. The answer is certainly yes, but an interesting conclusion can be drawn from the distribution of E-Factors in the type-trainer database (see Fig 9.1).

over 3.100%
(3.0, 3.1>00%
(2.9, 3.0>00%
(2.8, 2.9>6135%
(2.7, 2.8>3520%
(2.6, 2.7>2917%
(2.5, 2.6>169%
(2.4, 2.5>106%
(2.3, 2.4>106%
(2.2, 2.3>63%
(2.1, 2.2>53%
(2.0, 2.1>00%
(1.9, 2.0>21%
(1.8, 1.9>11%
(1.7, 1.8>00%

Fig. 9.1 – Distribution of E-Factors in the SuperMemo database of the type-training program. The distribution was taken from the 55-th day of the process.

In the Fig 9.1, it is strikingly evident that the E-Factors of the type-trainer database exhibit a clear tendency to increase. This phenomenon has not yet been observed in any of the databases of standard SuperMemo programs used in deterministic learning. There are only two possibilities: either the quality assessment is too lenient or repetitions are too frequent. The first explanation must be excluded because in two subsequent repetitions, as one can conclude from the aforementioned formulas, the quality cannot exceed 3 if the performance in the later repetition is not at least as good as that in the earlier one (to achieve QUALITY>3 the COUNT_QUALITY must be greater than 1, so the COUNT variable must be lower than 50, thus the average speed must be greater than 87% of the maximum speed, while in the preceding repetition the maximum speed could only be lower or equal, since the same percentage of maximum speed is used to interrupt the repetition). Moreover, E-Factors increase only then when the quality is greater than four. The final conclusion must be that the optimal repetition spacing in stochastic learning is less dense than the one involved in deterministic learning, i.e. the corresponding intervals are longer.

This fact could be expected considering that the repetition in stochastic learning is not a single act. This means that the synapses required to code for the practiced skill are stimulated many times during one repetition, and I cannot conceive the situation in which it would be otherwise. Far from jumping to premature conclusions, I leave the question to further research.

9.2. Drum training based on the SuperMemo method

Playing drums, as well as playing other musical instruments, can be classified as the skill requiring stochastic learning. Below I present an exemplary application of the SuperMemo method in learning selected skills that make up a professional drummer. This is to illustrate the way in which a training can be designed rather than to present any conclusive data concerning the effectiveness of such an approach (the scheme has been in use since May 10, 1990). As in all learning problems, selection of separate SuperMemo items that can be subject to properly spaced repetition process is crucial. In the considered example, individual repetitive motor tasks were used as SuperMemo items, and the training was intended to improve motor performance in a selected subclass of skills involved in playing drums.

An exemplary task used in the intervalized drum training

  • 215
  • ••^••^
  • o•o•oo
  • •o•oo•
  • o•o••o
  •  – identification number
  •  – hi-hat stress
  •  – hi-hat beat
  •  – snare beat
  •  – bass beat

The same task embedded in a regular one-note-long bar

  •       │    │     
  • │•••¦•••¦•••¦•••│
  • ••••••••^••^•••••
  • ó•ó•ó•o•o•ooó•ó•ó
  • ••••ó••o•oo•••ó••
  • ó•ó•••o•o••o••••ó
  • │•••¦•••¦•••¦•••│
  •  – task boundary
  •  – task-bed boundary and graduation
  •  – hi-hat stress
  •  – hi-hat beat
  •  – snare beat
  •  – bass beat
  •  – task-bed boundary and graduation

17 million combinations of 6-semiquaver-long drum scores involving the hi-hat, snare and bus drums were sifted for 10 constraints determining the difficulty of tasks:

  • feasibility constraints:
    1. bass stroke no more than twice running
    2. snare stroke no more than thrice running
    3. hi-hat stroke no more than four times running
    4. hi-hat stress always singular
  • intensity constraints:
    1. bass stroke at least thrice
    2. snare stroke at least twice
    3. hi-hat stroke at least four times
    4. hi-hat stress at least once
  • esthetic constraints:
    1. hi-hat stress always associated with a bass stroke
    2. snare stroke never accompanied by a bass stroke

The resulting 1307 tasks were sifted for high-resemblance combinations to arrive at final 300 tasks.

A fragment of the resulting task table


A repetition was continued until a satisfactory level of performance was achieved (according to the subjective estimation of the student). To simplify the procedures used in the administration of the learning process, tasks were grouped into three difficulty categories:

  • class A – equivalent to E-Factor 2.3
  • class B – equivalent to E-Factor 1.7
  • class C – equivalent to E-Factor 1.4

Initially, all tasks belong to the A class. In the process of repetitions the quality of retention is estimated on the following grade scale (modifications of the E-Factor category are given in the parentheses):

  • good or excellent (no penalty)
  • sufficient (changing the difficulty category from A to B or from B to C)
  • mediocre (changing the difficulty category to C)
  • insufficient (changing the difficulty category to C and resetting the process, i.e. starting the repetition from the beginning)

Repetitions of particular tasks are done in intervals calculated with the use of the formula:

I(1) = 4
I(n) = I(n-1)*EF


  • I(n) – interval after the n-th repetition
  • EF – E-Factor equal 2.3, 1.7 or 1.4 (class A, B or C)

As it was stressed in the case of the touch typing training, the repetitions for stochastic learning can be less dense than in deterministic learning. Therefore the above scheme seems to be overcautious. The training has been applied by a professional drummer for over a month now, and was very positively judged. However, it was the general regularity of the method that brought the affirmative opinion rather than the effect of the SuperMemo repetition spacing itself, which could not, in such a short period, reveal its true power. Again, for more conclusive results, longer application of the training is necessary.

Interim summary

  • The SuperMemo method can successfully be applied in the process of stochastic learning
  • Deterministic repetition spacing is either valid or too stringent for stochastic learning, i.e. application of the SuperMemo method can yield results even better than that discussed in previous chapters (greater acquisition rate)
  • Exemplary application of the SuperMemo method in touch typing and drum training were illustrated