Otwórz aplikację

SuperMemo: Pierwsza aplikacja, która naprawdę działa (1990)

SuperMemo: Pierwsza aplikacja, która naprawdę działa (1990)

SuperMemo to metoda nauki i rodzina programów komputerowych stworzona przez polskiego badacza Piotra Woźniaka, po raz pierwszy wydana na MS-DOS w 1987 roku. Powszechnie uznaje się je za pierwsze oprogramowanie spaced repetition — pierwszy program, który nie tylko wyświetlał ćwiczenia, ale dla każdej pojedynczej informacji obliczał optymalny moment kolejnej powtórki na podstawie modelu ludzkiego zapominania. Jego wczesny algorytm, znany jako SM-2, został opublikowany otwarcie i stał się faktycznym standardem całej branży: w zaadaptowanych wariantach działa do dziś w Anki, Mnemosyne i niezliczonych innych aplikacjach fiszkowych. Jeśli PLATO (1960) dał nauce języków wspomaganej komputerowo interaktywność, to SuperMemo dało jej model pamięci — pierwszą praktyczną odpowiedź na krzywą zapominania opisaną przez Hermanna Ebbinghausa w 1885 roku.

Woźniak i eksperymenty z 1985 roku

Na początku lat 80. Woźniak był studentem w Poznaniu z problemem znanym każdemu uczącemu się języka: starannie gromadzone angielskie słownictwo nieustannie mu umykało. Od 1982 roku prowadził papierowe bazy angielskich par słów, a niezadowolony z powtarzania ich na chybił trafił — zaczął mierzyć własną pamięć. Latem 1985 roku przeprowadził eksperyment, od którego wszystko się zaczęło: pracując na stronach liczących około czterdziestu par słów, sprawdzał, jak długa może być przerwa przed powtórką, zanim przypominanie zacznie zawodzić. Wniosek był prosty, ale brzemienny w skutki: po każdej udanej powtórce następny odstęp można znacząco wydłużyć bez zwiększania ryzyka zapomnienia.

Rezultatem była procedura „na papierze i ołówku”, nazywana retrospektywnie algorytmem SM-0: powtórz nowy materiał po mniej więcej jednym dniu, potem po siedmiu, szesnastu i trzydziestu pięciu, a dalsze odstępy w przybliżeniu podwajaj. Woźniak uczył się z tym papierowym systemem przez dwa lata. W 1987 roku uzyskał dostęp do swojego pierwszego peceta — Amstrada PC 1512 — i w grudniu tego samego roku napisał pierwszą wersję komputerową: SuperMemo 1.0 dla DOS. Przeniesienie metody do oprogramowania zmieniło rzecz fundamentalną: zamiast planować powtórki całych stron słownictwa, program mógł planować każdą informację z osobna, według tego, jak dobrze akurat ona była zapamiętana.

SM-2: współczynnik łatwości dla każdej fiszki

Algorytm z pierwszych DOS-owych wersji SuperMemo — opisany szczegółowo w pracy magisterskiej Woźniaka Optimization of Learning (1990) i opublikowany później w całości na stronie SuperMemo — stał się znany jako algorytm SM-2 i jest rozbrajająco prosty. Każda fiszka dostaje własny „współczynnik łatwości” (E-Factor), liczbę startującą od 2,5. Po każdej powtórce uczący się ocenia swoje przypomnienie w skali od 0 do 5, a ocena koryguje współczynnik łatwości w górę lub w dół. Pierwszy odstęp wynosi jeden dzień, drugi sześć dni; każdy kolejny to poprzedni odstęp pomnożony przez współczynnik łatwości danej fiszki. Fiszka, której nie udało się przypomnieć, wraca na początek cyklu i pojawia się szybko.

Mówiąc po ludzku: odstępy rosną mniej więcej wykładniczo, łatwy materiał odpływa daleko w przyszłość, a trudny wraca często — i każda fiszka kończy z osobistym harmonogramem powtórek wyprowadzonym z rzeczywistych wyników uczącego się. Na tym polega cała sztuczka — i działa, bo przybliża kształt krzywej zapominania: każda powtórka we właściwym momencie trochę bardziej spłaszcza krzywą, więc coraz dłuższe przerwy stają się bezpieczne. SM-2 nie sprawia, że zapamiętywanie przestaje wymagać wysiłku; sprawia, że wysiłek trafia w momenty, w których przynosi najwięcej.

Otwarty algorytm, który stał się standardem branży

Woźniak opublikował formułę SM-2, zamiast jej strzec — i ta decyzja ukształtowała wszystko, co nastąpiło później. Gdy w latach 2000. pojawiło się open-source’owe oprogramowanie do fiszek, jego autorzy nie musieli wymyślać własnego planera powtórek — zaimplementowali SM-2 według opublikowanego opisu. Klasyczny scheduler Anki to zmodyfikowany SM-2; Mnemosyne używa innego wariantu SM-2; podobnie postąpiły setki komercyjnych i akademickich narzędzi do nauki. Według większości ocen SM-2 jest najszerzej wdrożonym algorytmem planowania powtórek w historii — rzadki przypadek studenckich badań z lat 80., które stały się niewidzialną infrastrukturą globalnej samoedukacji.

Szeroki rozgłos przyszedł w 2008 roku, gdy Gary Wolf opisał Woźniaka w magazynie Wired w artykule „Want to Remember Everything You’ll Ever Learn? Surrender to This Algorithm” — portrecie badacza, który całe swoje życie, łącznie ze snem, podporządkował optymalizacji pamięci.

Badania nie zatrzymały się na SM-2. Kolejne wersje SuperMemo poszły dalej: SM-4 (1989) był pierwszym algorytmem, który adaptował się do użytkownika, SuperMemo 6 (1991) dopasowywało rzeczywiste krzywe zapominania do danych uczącego się, a SM-17 (2016) i SM-18 (2019) przebudowały planowanie na dwuskładnikowym modelu pamięci, rozróżniającym stabilność śladu pamięciowego od jego chwilowej przywoływalności. Poza SuperMemo problem podjął open-source’owy algorytm FSRS (2022), dopasowujący parametry metodami uczenia maszynowego, dodany do Anki w 2023 roku jako alternatywny scheduler. Mimo to prosty SM-2 pozostaje koniem roboczym całej dziedziny.

SuperMemo dziś

Zrzut ekranu z programu SuperMemo 6

W 1991 roku Woźniak i jego przyjaciel ze studiów, Krzysztof Biedalak, założyli w Poznaniu firmę SuperMemo World, by skomercjalizować metodę. Oprogramowanie było finalistą konkursu „Software for Europe” na targach CeBIT w 1992 roku, a firma wydawała później kursy językowe na CD-ROM-ach i w internecie. Dziś marka obejmuje platformę edukacyjną supermemo.com oraz program desktopowy SuperMemo 18, działający na algorytmie SM-18. Od 2000 roku wersja desktopowa oferuje też incremental reading — wymyśloną przez Woźniaka technikę równoległego czytania tysięcy artykułów, polegającą na wycinaniu fragmentów i wprowadzaniu ich do kolejki powtórek.

Sam Woźniak w dużej mierze wycofał się z biznesu do pracy badawczej. Publikuje obszernie o pamięci, śnie i uczeniu się — w tym o praktykowanym przez siebie od lat śnie swobodnym (free-running sleep) — a swoje teksty udostępnia otwarcie na supermemo.guru. Dla rzetelności warto dodać historyczny przypis: samo powtarzanie w odstępach jako odkrycie naukowe jest znacznie starsze niż SuperMemo, a wkładem Woźniaka nie było odkrycie efektu rozłożenia powtórek w czasie, lecz pierwsza działająca maszyneria obliczeniowa, która wprowadziła go do codziennej praktyki.

Co z tego wynika dla nauki języka

Słownictwo to ta część nauki języka, w której zapominanie boli najbardziej: tysiące drobnych, podobnych do siebie elementów, z których każdy blaknie we własnym tempie. Dokładnie ten problem rozwiązało SuperMemo. Planer w stylu SM-2 gwarantuje, że żadne słowo nie zginie po cichu — każda fiszka wraca dokładnie wtedy, gdy zaczyna się wymykać — a jednocześnie utrzymuje dzienną porcję powtórek w ryzach, bo dobrze opanowany materiał odsuwa się na odstępy liczone w miesiącach i latach. Praktycznie każde poważne narzędzie do nauki słownictwa zbudowane od tamtej pory — od Anki po współczesne systemy spaced repetition w aplikacjach językowych, w tym Taalhammer — planuje powtórki algorytmem wywodzącym się z SM-2. Czego SuperMemo nie mogło zapewnić, to masowej skali i wygody; te przyszły, gdy smartfony włożyły planer powtórek do każdej kieszeni — ekspansja, której symbolem jest Duolingo (2011).

Najczęściej zadawane pytania

Czy SuperMemo naprawdę było pierwszą aplikacją spaced repetition?

Samo powtarzanie w odstępach jest starsze: Ebbinghaus opisał krzywą zapominania w 1885 roku, Cecil Alec Mace przeprowadził pierwsze praktyczne eksperymenty w 1932 roku, a Sebastian Leitner spopularyzował w latach 70. papierowe pudełko na fiszki. SuperMemo (1987) było pierwszą implementacją programową — pierwszym programem, który wyliczał indywidualny harmonogram powtórek każdej informacji z rzeczywistych wyników uczącego się. Dlatego historie oprogramowania spaced repetition zwyczajowo zaczynają się właśnie od niego.

Czy algorytm SM-2 jest nadal używany?

Tak. Klasyczny scheduler Anki, Mnemosyne i duża część aplikacji fiszkowych wciąż działają na SM-2 lub jego bliskich wariantach — niemal cztery dekady po jego powstaniu. Istnieją nowsze algorytmy — własne SM-17/SM-18 SuperMemo oraz open-source’owy FSRS, dostępny w Anki jako opcja od 2023 roku — ale prostota SM-2, opublikowana specyfikacja i dziesięciolecia praktycznej weryfikacji utrzymują go w roli faktycznego standardu.

Czy SuperMemo jeszcze istnieje?

Tak. Założona w Poznaniu w 1991 roku firma SuperMemo World prowadzi platformę edukacyjną supermemo.com, a program desktopowy SuperMemo 18 nadal zawiera najnowszy algorytm Woźniaka, SM-18, wraz z techniką incremental reading. Sam Woźniak wciąż publikuje badania o pamięci, uczeniu się i śnie.

Źródła:

  1. Piotr A. Woźniak, Optimization of Learning, praca magisterska, Politechnika Poznańska, 1990: https://super-memory.com/english/ol.htm
  2. Algorithm SM-2 — SuperMemo: https://super-memory.com/english/ol/sm2.htm
  3. General history of SuperMemo — super-memory.com: https://super-memory.com/english/history.htm
  4. Gary Wolf, “Want to Remember Everything You’ll Ever Learn? Surrender to This Algorithm”, Wired, 2008: https://www.wired.com/2008/04/ff-wozniak/
  5. SuperMemo — Wikipedia: https://en.wikipedia.org/wiki/SuperMemo
  6. “What spaced repetition algorithm does Anki use?” — Anki FAQs: https://faqs.ankiweb.net/what-spaced-repetition-algorithm
  7. “The true history of spaced repetition” — supermemo.com: https://www.supermemo.com/en/blog/the-true-history-of-spaced-repetition