From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

SuperMemo Desktop
Developer(s)SuperMemo World, Dr Piotr Wozniak
Stable release
version 18.041hp / March 28, 2020; 2 months ago (2020-03-28)
Written inDelphi
Operating systemWindows, Windows Mobile, Palm OS
Size48.1 MB
TypeAccelerated learning and memory software

SuperMemo (from "Super Memory") is a learning method and software package developed by SuperMemo World and SuperMemo R&D with Piotr Woźniak in Poland from 1985 to the present.[1] It is based on research into long-term memory, and is a practical application of the spaced repetition learning method that has been proposed for efficient instruction by a number of psychologists as early as in the 1930s.[2]

The method is available as a computer program for Windows, Windows CE, Windows Mobile, (Pocket PC), Palm OS (PalmPilot), etc. Course software by the same company (SuperMemo World) can also be used in a web browser or even without a computer.[3]

The desktop version of SuperMemo (since v. 2002) supports incremental reading, as well as traditional creation of question and answer flashcards[4].

Software implementation[edit]

The SuperMemo program stores a database of questions and answers constructed by the user. When reviewing information saved in the database, the program uses the SuperMemo algorithm to decide what questions to show the user. The user then answers the question and rates their relative ease of recall - with grades of 1 to 5 (1 is the hardest, 5 is the easiest) - and their rating is used to calculate how soon they should be shown the question again. While the exact algorithm varies with the version of SuperMemo, in general, items that are harder to remember show up more frequently.[5]

Besides simple text questions and answers, the latest version of SuperMemo supports images, video, and HTML questions and answers.[6]

Since 2002, SuperMemo has had a unique set of features that distinguish it from other spaced repetition programs, called incremental reading. Whereas earlier versions were built around users entering information they wanted to use, using IR, users can import text that they want to learn from. The user reads the text inside of SuperMemo, and tools are provided to bookmark one's location in the text and automatically schedule it to be revisited later, extract valuable information, and turn extracts into questions for the user to learn. By automating the entire process of reading and extracting knowledge to be remembered all in the same program, time is saved from having to manually prepare information, and insights into the nature of learning can be used to make the entire process more natural for the user. Furthermore, since the process of extracting knowledge can often lead to the extraction of more information than can actually be feasibly remembered, a priority system is implemented that allows the user to ensure that the most important information is remembered when they can't review all information in the system.[7]


The specific algorithms SuperMemo uses have been published, and re-implemented in other programs.

Different algorithms have been used; SM–0 refers to the original (non-computer-based) algorithm, while SM-2 refers to the original computer-based algorithm released in the 1987 (used in SuperMemo versions 1.0 through 3.0, referred to as SM-2 because SuperMemo version 2 was the most popular of these).[8] Subsequent versions of the software have further optimized the algorithm.

Piotr A. Wozniak, the developer of SuperMemo algorithms, released the description for SM-5 in a paper titled Optimization of repetition spacing in the practice of learning. Little detail is specified in the algorithms released later than that.

In 1995, SM-8, which capitalized on data collected by users of SuperMemo 6 and SuperMemo 7 and added a number of improvements that strengthened the theoretical validity of the function of optimum intervals and made it possible to accelerate its adaptation, was introduced in SuperMemo 8.[9]

In 2002, SM-11, the first SuperMemo algorithm that was resistant to interference from the delay or advancement of repetitions was introduced in SuperMemo 11 (aka SuperMemo 2002). In 2005, SM-11 was tweaked to introduce boundaries on A and B parameters computed from the Grade vs. Forgetting Index data.[10]

In 2011, SM-15, which notably eliminated two weaknesses of SM-11 that would show up in heavily overloaded collections with very large item delays, was introduced in Supermemo 15.[11]

In 2016, SM-17, the first version of the algorithm to incorporate the two component model of memory, was introduced in SuperMemo 17.[12]

The latest version of the SuperMemo algorithm is SM-18, released in 2019.[13]

Description of SM-2 algorithm[edit]

The first computer-based SuperMemo algorithm has 3 inputs, being the repetition number, easiness factor, and inter-repetition interval. The repetition number is fairly self-explanatory, the easiness factor is a measure of how easy recall of an answer was, and inter-repetition interval describes the time (in days) between repetitions.

A grade is given by the pupil, and with that, the variables are modified in the following way:

If the grade given is greater than equal to 3, indicating a correct answer:

  • If repetitions = 0
    • interval = 1
  • If repetitions = 1
    • interval = 6
  • If repetitions > 1
    • interval = interval * easiness
  • repetitions = repetitions + 1
  • easiness = easiness + (0.1 - (5 - grade) * (0.08 + (5 - grade) * 0.02)

If the grade given is less than equal to 3, indicating an incorrect answer:

  • repetitions = 0
  • interval = 1

If easiness goes below 1.3, raise it to 1.3

Criticism of SM3+[edit]

The SM-2 algorithm uses the performance on a card to schedule only that card, while SM-3 and newer algorithms use card performance to schedule that card and similar cards. The additional optimizations sometimes yield perverse results – answering "hard" on a card may yield an interval longer than answering "easy" on a card – and are criticized as reducing the robustness of the algorithm, making it more sensitive to variations – non-uniform difficulty of cards (a problem in versions 4 to 6, according to Woźniak), inconsistencies in studying, and so forth.[14]

Woźniak disagreed with the criticism,[15] but in practice the other factors affecting study make differences less important.

Non-SuperMemo implementations[edit]

Some of the algorithms have been reimplemented in other, often free programs such as Anki, Mnemosyne, and Emacs Org-mode's Org-drill. See full list of flashcard software.

The SM-2 algorithm has proven most popular in other applications, and is used (in modified form) in Anki and Mnemosyne, among others. Org-drill implements SM-5 by default, and optionally other algorithms such as SM-2.


  1. ^ Wolf, Gary (2008), "Want to Remember Everything You'll Ever Learn? Surrender to This Algorithm", Wired Magazine
  2. ^ Spitzer, Herbert F. (December 1939). "Studies in Retention" (PDF). Journal of Educational Psychology. 30 (9): 641–656. doi:10.1037/h0063404. ISSN 0022-0663.
  3. ^ Biedalak K., Murakowski J., Woźniak P.: Using SuperMemo without a computer – Paper and pencil method
  4. ^ Purdy, Kevin (2010), "Use Incremental Reading to Memorize Large Batches of Data", Lifehacker
  5. ^ Wolf, Gary (April 21, 2008). "Want to Remember Everything You'll Ever Learn? Surrender to This Algorithm". Wired. ISSN 1059-1028. Retrieved January 30, 2019.
  6. ^ "SuperMemo: What's new in SuperMemo 17?". Retrieved January 30, 2019.
  7. ^ "SuperMemo Guru: Minimum Definition of Incremental Reading". Retrieved December 3, 2019.
  8. ^ 3. Account of research leading to the SuperMemo method, 3.1. The approximate function of optimal intervals and 3.2. Application of a computer to improve the results obtained in working with the SuperMemo method, P. A. Woźniak, Optimization of learning, Master's Thesis, University of Technology in Poznan, 1990.
  9. ^ "SuperMemo Algorithm - SuperMemo Help". Retrieved May 1, 2019.
  10. ^ "SuperMemo Algorithm - SuperMemo Help". Retrieved May 1, 2019.
  11. ^ "SuperMemo Algorithm - SuperMemo Help". Retrieved May 1, 2019.
  12. ^ "Algorithm SM-17". Retrieved May 1, 2019.
  13. ^ "Algorithm SM-18". Retrieved May 9, 2020.
  14. ^ What spaced repetition algorithm does Anki use?, "If you are very consistent in your studies and all cards are of a very similar difficulty, this approach can work quite well. However, once inconsistencies are introduced into the equation (cards of varying difficulty, not studying at the same time every day), SM3+ is more prone to incorrect guesses at the next interval – resulting in cards being scheduled too often or too far in the future. "Furthermore, as SM3+ dynamically adjusts the "optimum factors" table, a situation can often arise where answering "hard" on a card can result in a longer interval than answering "easy" would give. The next times are hidden from you in SuperMemo so the user is never aware of this."
  15. ^ "History of spaced repetition". Retrieved May 7, 2019.

External links[edit]