Tuesday 1 February 2011

Lessons from SuperMemo

In the Reinfeld Experiment, the repetition intervals that worked best for me were 1 day, 2 days, 4 days, 8 days...  This repetition schedule is similar to that underlying the SuperMemo learning system, which was developed by Piotr Wozniak in Poland.  Most standard learning systems (e.g. the Leitner system) are based on the idea of presenting the questions that are causing difficulty more often than those that are not - but this is problematic for chess problems - where you will be spending more time on the difficult ones anyway.  The SuperMemo software also presents the questions that are causing difficulty more often, but that is not fundamental to the method.

SuperMemo was designed to facilitate the memorisation of factual information in the form of simple questions and answers.  Learning chess tactics differs from this task in many important ways.  For reasons that will become apparent, I do not believe the SuperMemo software is suitable for learning chess tactics.  Nonetheless, the research underlying SuperMemo provides very useful insights, and is potentially even more relevant to tasks that lie part way between simple memory tasks and learning chess tactics, such as learning chess endgames.

In 1985 and 1986, Wozniak conducted an illuminating experiment comparing repetitions at fixed and expanding intervals:

http://www.supermemo.com/english/ol/beginning.htm

In this experiment, 195 questions (English irregular verbs) and answers (simple present, simple past and past participle forms) were divided into three batches of equal difficulty: A, B and C.  For each batch, the items were memorised in one session by repeating them until they were all answered correctly.   Six further repetitions were then performed on each batch, after the repetition intervals given by the table below:

Repetition  Batch A    Batch B    Batch C
    1       18 days    1 day      5 days
    2       18 days    5 days     5 days
    3       18 days    9 days     5 days
    4       18 days    24 days    5 days
    5       18 days    44 days    5 days
    6       18 days    70 days    5 days
 Totals     108 days   153 days   30 days

(For each of these repetitions, any questions that were answered incorrectly were repeated until they were all answered correctly.)  The error rate dropped most quickly with batch C, and most slowly with batch A.  After 300 days, the error rates were approximately 10%, 15% and 45% for batches A, B and C respectively.  The widely spaced equal repetitions gave the lowest error rate after 300 days, but the success rate for the earlier repetitions with the expanding intervals would have been higher, and the time taken for these repetitions correspondingly lower.  Nonetheless, it is very interesting that the widely spaced repetitions of batch A did so well.

In 1985, Wozniak conducted an experiment to find the shortest repetition intervals that were consistent with a memory loss of less than 5%.  For this experiment, he used questions and answers in the form of English word and Polish equivalent.  He set his first repetition interval to 1 day, which his previous experience suggested was a good choice, and tried various values for the next three intervals.  (Again, any questions that were answered incorrectly were repeated until they were all answered correctly, for each of the repetitions.)  He chose the largest intervals which kept the memory loss below 5%, which turned out to be 7 days, 16 days and 35 days.  He noticed that the intervals were approximately doubling from one repetition to the next, and decided to successively double the subsequent intervals between each repetition.  After two years of using these intervals, he concluded that this assumption was reasonably accurate.

SuperMemo goes through all the questions that are scheduled for repetition, asking the user to answer each one in turn.  The user tries to recall each answer before looking at it, and grades the quality of his recall on a scale of 0-5.  The SuperMemo 2 algorithm is:

1. Split the knowledge into smallest possible items.
2. With all items associate an E-Factor equal to 2.5.
3. Repeat items using the following intervals:
   I(1):=1
   I(2):=6
   for n>2: I(n):=I(n-1)*EF
   where:
   I(n) - inter-repetition interval after the n th repetition (in days),
   EF - E-Factor of a given item
   If interval is a fraction, round it up to the nearest integer.
4. After each repetition assess the quality of repetition response in 0-5 grade scale:
   5 - perfect response
   4 - correct response after a hesitation
   3 - correct response recalled with serious difficulty
   2 - incorrect response; where the correct one seemed easy to recall
   1 - incorrect response; the correct one remembered
   0 - complete blackout.
5. After each repetition modify the E-Factor of the recently repeated item according to the formula:
   EF:=EF+(0.1-(5-q)*(0.08+(5-q)*0.02))
   where:
   q - quality of the recall in the 0-5 grade scale.
   If EF is less than 1.3 then let EF be 1.3.
6. If the quality recall was lower than 3 then start repetitions for the item from the beginning without changing the E-Factor (i.e. use intervals I(1), I(2) etc. as if the item was memorized anew).
7. After each repetition session of a given day repeat again all items that scored below four in the quality assessment. Continue the repetitions until all of these items score at least four.

In SuperMemo 2, the repetition intervals for the first two repetitions are fixed, but the ratio of subsequent repetition intervals depends on the quality of recall - questions that the user finds easy are repeated more often than those that he finds hard.  The ratio of successive repetition intervals varies between 1.3 and 2.5.  (Despite this statement, the algorithm above allows EF to grow without limit if q is always 5.  I do not know whether a limit on EF was in fact imposed.)  However, when solving chess problems, you will already be spending a lot more time on the problems that you get wrong, and repeating them more often aggravates this situation.  In the Reinfeld Experiment, I tried doing one repetition less during the first week on the problems that had given me the least trouble, but this was not a success.  Spending more time on the hardest problems will, in itself, make you remember these problems more clearly, so extra repetitions are not usually necessary.  Furthermore, learning to solve easy problems quickly is at least as important as being able to solve difficult ones eventually.  Dan Heasman has conjectured that repetition is of greater benefit for simple problems than for complicated ones, and he may be right.  If you have a lot of difficulty solving a complex problem, crossing it off the list is often the best course of action.  (I did this with a few problems in the Reinfeld Experiment.)  However, if we are solving lots of very simple problems with a strict time limit for each problem, it might be worthwhile to make the intervals between subsequent repetitions depend on the time taken solving the problem, and whether you got answer right.  (If you get it right first time in under 5 seconds, you may not want to repeat it all.)

If the quality of recall drops below 3 (i.e. the answer was incorrect), SuperMemo restarts the repetition process.  This measure is clearly inappropriate for a chess problem that is too difficult and complex for you, but would make more sense if you failed on a simple problem.

At the end of each session, SuperMemo repeats the questions that the user got wrong (or got right with serious difficulty), and goes on repeating any that he continues to get wrong, until he gets them all right.  I have tried revisiting the chess problems on which I have failed at the end of short sessions, while they are still fresh in my mind, and it seemed to help, but it is questionable whether it was worth the time spent.  I did not consider using this technique in the Reinfeld Experiment, largely because I needed long sessions to get the work done, and I was usually tired by the end of a session.  (Not something I would necessarily recommend!)

In SuperMemo 5, the repetition intervals are set using a more complicated method.  The first two intervals are typically much larger than in SuperMemo 2.  For a level of difficulty at which subsequent intervals successively double, the first two intervals are 6 and 18 days.  (These intervals are very close to the one week and two weeks that I used for learning mathematical physics twenty years earlier.)  The knowledge acquisition rate for SuperMemo 5 is said to be more than twice that for SuperMemo 2, as a result of the wider intervals.  In the Reinfeld Experiment, I found that the learning process was much easier and faster if I spaced the early repetitions more closely even than in SuperMemo 2.  More early practice is needed for the chess problems both because of their greater complexity, and because of the need to be able to solve them quickly.  Later versions of SuperMemo have further refinements, but they seem to be specific to simple learning tasks.

1 comment: