Die Arbeit beschäftigt sich mit der Spaced-Repetition-Methode im informatischen Kontext, indem drei ausgewählte Algorithmen zu dieser Methode implementiert und vergleichend analysiert werden: Dazu werden im zweiten Kapitel die empirische Basis der Spaced-Repetition-Lernmethode sowie ihr Prinzip erläutert. Im dritten Kapitel wird die digitale Umsetzung der Lernmethode durch verschiedene Spaced-Repetition-Algorithmen thematisiert. Das vierte Kapitel beschreibt die eigene Java-Implementation einer API, die die im dritten Kapitel erläuterten Algorithmen umfasst, und die anschließende Anwendung der API in einer implementierten prototypischen Spaced-Repetition-Software zu Testzwecken. Im vierten Kapitel wird auf Basis der vorangegangenen Kapitel eine vergleichende Analyse der implementierten Algorithmen durchgeführt.
Die Spaced-Repetition ("verteilte Wiederholung") Lernmethode ist zwar prinzipiell das Lernen mit Karten, allerdings deutlich effizienter. Durch das Verwenden der evidenzbasierten Lernmethode kann Zeit und Aufwand gespart werden. Im digitalen Zeitalter werden im Bereich des Lernens häufig digitale Medien als Hilfsmittel hinzugezogen, da viele Lernmethoden durch entsprechende Softwares implementiert werden und so für den Benutzer einfacher anzuwenden sind. Insbesondere Softwares, die auf den Einsatz der Spaced-Repetition-Methode setzen, sind in verschiedenen Kontexten bekannt, z. B. Vokabeltrainer-Apps.
Inhaltsverzeichnis
Abbildungsverzeichnis
Quelltextverzeichnis
1 Einleitung
2 Spaced-Repetition als Lernmethode
2.1 Gedächtnisphänomen „Spacing-Effekt“
2.2 Gedächtnisphänomen „Active-Recall“
2.3 Theorie der Spaced-Repetition-Lernmethode
3 Algorithmen für die Spaced-Repetition-Methode
3.1 Algorithmus nach Leitners Lernkarteisystem
3.2 SuperMemo-Algorithmus SM-
3.2.1 Berechnung des Wiederholungsintervalls
3.2.2 Berechnung des Leichtigkeitsfaktors
3.3 Free-Spaced-Repetition-Scheduler-Algorithmus
3.3.1 Difficulty-Halflife-P(recall)-Modell
3.3.2 Stochastic-Shortest-Path-Minimize-Memorization-Cost-Algorithmus
3.3.3 Formeln für den FSRS-Algorithmus
4 Implementation einer Spaced-Repetition-API und Software
4.1 Struktur der Spaced-Repetition-API
4.2 Einsatz der API in einer prototypischen Spaced-Repetition-Software
5 Vergleichende Analyse der implementierten Algorithmen
5.1 Vergleich der Bewertungsskalen sowie Ein- und Ausgabedaten
5.2 Empirische Analyse der Effizienz
5.2.1 Gesamterinnerungsrate
5.2.2 Erfolgs- bzw. Vergessensrate
5.3 Analyse der Quelltextkomplexität
5.4 Asymptotische Laufzeitanalyse
5.5 Kritische Reflexion der Analyseergebnisse
6 Fazit
Literaturverzeichnis
Anhang
Abbildungsverzeichnis
Abbildung 1: Vergessenskurve (eigene Darstellung nach Ebbinghaus, 1995, Kap. VII. Das Behalten und Vergessen als Funktion der Zeit)
Abbildung 2: Finale Testleistung in Abhängigkeit zur Verzögerung mit und ohne Active-Recall (eigene Darstellung nach Spitzer, 1939, S. 649 f.)
Abbildung 3: Ergebnisse der Studie zu Spaced-Repetition (eigene Darstellung nach Karpicke/Bauernschmidt, 2011, S. 1254)
Abbildung 4: Lernkarteisystem nach Leitner mit größer werdenden Wiederholungsintervallen (Gatterbauer/Suciu, 2011)
Abbildung 5: Programmablaufplan für das Lernkarteisystem nach Leitner (eigene Darstellung)
Abbildung 6: Programmablaufplan für den SM-2-Algorithmus (eigene Darstellung)
Abbildung 7: Verkürztes UML-Diagramm zu der Vererbungshierarchie der implementierten Algorithmen (eigene Darstellung)
Abbildung 8: Verkürztes UML-Diagramm zur Vererbungshierarchie von AlgorithmResult (eigene Darstellung). 11 Abbildung 9: Gegenüberstellung der Bewertungsskalen sowie Ein- und Ausgabedaten der Algorithmen; Gemeinsamkeiten aller Algorithmen fett, Gemeinsamkeiten zwischen dem SM-2- und dem FSRS-Algorithmus kursiv markiert (eigene Darstellung)
Abbildung 10: Vergleich der Erfolgs- bzw. Vergessensrate zwischen dem Anki- und FSRS-Algorithmus (eigene Darstellung nach Open-Spaced-Repetition/Ye, 2023)
Abbildung 11: Resultate des Experiments von Ebbinghaus (Ebbinghaus, 1995, Kap. VII. Das Behalten und Vergessen als Funktion der Zeit) VII
Abbildung 12: Auszug aus Spitzer, 1939, S. 649 VIII
Abbildung 13: Auszug aus Spitzer, 1939, S. 650 IX
Abbildung 14: Auszug aus Karpicke/Bauernschmidt, 2011, S. 1254 X
Abbildung 15: Abflachung der Vergessenskurve durch Wiederholungen (Schimanke et al., 2014) X
Abbildung 16: Aufbau von Leitners Lernkarteisystems (Leitner, 1995, S. 65) XI
Abbildung 17: Projektion der Zeitreihendaten in ein 3D-Modell (Ye et al., 2022) XVIII
Abbildung 18: Struktur des DHP-Modells (Ye et al., 2022) XIX
Abbildung 19: Graphische Darstellung des Stochastic-Shortest-Path-Algorithmus (Ye et al., 2022) XIX
Abbildung 20: 3D-Visualisierung zur Änderung von Sine (Ye, 2022) XX
Abbildung 21: ManageView zur Verwaltung der Karteikarten in der prototypischen Spaced-Repetition-Software (eigene Darstellung) XX
Abbildung 22: LearnView zum Lernen der erstellten Karteikarten mit einem ausgewählten Spaced-Repetition- Algorithmus (eigene Darstellung) XXI
Abbildung 23: LearnView für den Algorithmus nach Leitners Lernkartei (eigene Darstellung) XXI
Abbildung 24: LearnView für den SuperMemo-Algorithmus SM-2 (eigene Darstellung) X XII
Abbildung 25: LearnView für den Free-Spaced-Repetition-Scheduler (eigene Darstellung) XXII
Abbildung 26: Konfiguration der Run/Debug Configuration in der IntelliJ IDEA (eigene Darstellung) XXV
Quelltextverzeichnis
Quelltext 1: Beispiel zur Verwendung der API durch Builder mit Fluent Interface zur Objekterzeugung (eigener Quelltext)
Quelltext 2: Konsolenausgabe des FSRS4Anki v3.13.0 Simulators (Ye, 2023)
Quelltext 3: Pseudocode zum Lernkarteisystem nach Leitner (eigener Quelltext)
Quelltext 4: Pseudocode zum SM-2-Algorithmus (Wozniak, 1990)
Quelltext 5: Pseudocode zum FSRS-Algorithmus (Ye et al., 2022)
Quelltext 6: Python-Implementation des FSRS (Open-Spaced-Repetition/Ye, 2022)
Quelltext 7: Python-Implementation des Modells für den FSRS (Open-Spaced-Repetition/Ye, 2022a)
Quelltext 8: Leitner-Algorithmus in Java (eigener Quelltext)
Quelltext 9: SM-2-Algorithmus in Java (eigener Quelltext)
Quelltext 10: FSRS-Algorithmus in Java (eigener Quelltext)
1 Einleitung
„Denn es ist nicht genug, einen guten Kopf zu haben;
die Hauptsache ist, ihn richtig anzuwenden."1 - René Descartes, 1637
Viele Menschen wenden ihren „guten Kopf“2 nicht richtig an, indem sie keine evidenzbasierten Lernmethoden zur Aneignung von Wissen nutzen. So ist die Anwendung der Spaced-Repetition („verteilte Wiederholung“) Methode zwar prinzipiell das Lernen mit Karteikarten, allerdings deutlich effizienter.
Besonders für mich als Oberstufenschüler ist die Spaced-Repetition-Lernmethode interessant, da das Lernen auf dem Tagesplan steht, oft aber wenig Zeit vorhanden ist und somit der Wunsch entsteht, den Zeitaufwand gering zu halten, aber dennoch den bestmöglichen Erfolg zu erreichen. Denn insbesondere das Auswendiglernen von Vokabeln von Fremdsprachen kann mühselig sein, wobei die Lernmethode allerdings Abhilfe schafft.
Im digitalen Zeitalter werden im Bereich des Lernens häufig digitale Medien als Hilfsmittel hinzugezogen, da viele Lernmethoden durch entsprechende Softwares implementiert werden und so für den Benutzer einfacher anzuwenden sind. Insbesondere Softwares, die auf den Einsatz der Spaced-Repeti- tion-Methode setzen, sind in verschiedenen Kontexten bekannt, z. B. Vokabeltrainer-Apps.
Die folgende Arbeit beschäftigt sich mit der Spaced-Repetition-Methode im informatischen Kontext, indem drei ausgewählte Algorithmen zu dieser Methode implementiert und vergleichend analysiert werden: Dazu werden im zweiten Kapitel die empirische Basis der Spaced-Repetition-Lernmethode sowie ihr Prinzip erläutert. Im dritten Kapitel wird die digitale Umsetzung der Lernmethode durch verschiedene Spaced-Repetition-Algorithmen thematisiert. Das vierte Kapitel beschreibt die eigene JavaImplementation einer API, die die im dritten Kapitel erläuterten Algorithmen umfasst, und die anschließende Anwendung der API in einer implementierten prototypischen Spaced-Repetition-Software zu Testzwecken. Im vierten Kapitel wird auf Basis der vorangegangenen Kapitel eine vergleichende Analyse der implementierten Algorithmen durchgeführt.
Das Ziel der Arbeit ist die Entwicklung einer Spaced-Repetition-API in Java, da bislang noch keine freie öffentliche API in Java für die Lernmethode existiert. Zudem soll schlussendlich eine Aussage darüber getroffen werden können, für welchen Anwendungsfall welcher der betrachteten Algorithmen geeignet ist und worin die Stärken sowie Schwächen der einzelnen Algorithmen liegen.
Daher lautet die Forschungsfrage: Welche Spaced-Repetition-Algorithmen existieren, wie lassen sie sich in Java implementieren und worin liegen ihre Gemeinsamkeiten sowie Unterschiede?
2 Spaced-Repetition als Lernmethode
Bei der Spaced-Repetition-Lernmethode werden die zu lernenden Karteikarten in immer größer werdenden Intervallen wiederholt, die sich an die Bewertung des Lernenden hinsichtlich seines Erinnerungsvermögens anpassen. Sofern der Inhalt der Karteikarte noch nach einem großen Intervall abgerufen werden kann, gilt er als im Langzeitgedächtnis verankert und auf eine Wiederholung kann verzichtet werden. Schlägt dagegen eine Wiederholung fehl, werden die Wiederholungsintervalle ver- kürzt.3 Die Lernmethode beruhtaufdenGedächtnisphänomenen„Spacing-Effekt“und „Active-Recall“, diejeweilsdurchwissenschaftlicheVersuche belegtsind:
2.1 Gedächtnisphänomen „Spacing-Effekt“
HermannEbbinghaus führt in den Jahren 1879/80 Selbstversuche durch, bei welchen er versucht, sinnlose Silbenreihen auswendig zu lernen. Seine Forschungsfrage lautet dabei:
„[W]enn Silbenreihen einer bestimmten Art auswendig gelernt und dann sich selbst überlassen werden, in welcher Weise werden sie, lediglich unter dem Einfluß der Zeit, [...] allmählich vergessen?“4
Die Erinnerungsverluste werden ermittelt, indem die auswendig gelernten Reihen nach bestimmten Zeitintervallen ein weiteres Mal auswendig gelernt unddie in beiden Fällen erforderlichen Zeiten miteinander verglichen werden. Dazu werden 163 Doppelversuche durchgeführt, größtenteils mit acht 13-silbigenReihen. Dabei setzt er das Lernen fort, bis er die jeweilige Reihe zweimalig fehlerfrei aufsagen konnte. Genauso lange geschieht das Wiederlernen, welches in immer größer werdenden Zeitintervallen stattfindet. Dabei wurde die Zeit gemessen ab der Beendigung des erstmaligen Lernens der ersten Reihe.5
Ebbinghaus kommt zu dem Resultat, dass „das Vergessen anfänglich sehr schnell und weiterhin langsamer geschehe“6. In seinen Ergebniswerten setzt er dabei das prozentuale Ersparnis an Lernzeit beim Wiederlernen (verglichen mit der ursprünglichen Lernzeit) mit der prozentualen Erinnerung gleich.7 Seine tabellarischen Ergebniswerte(sieheAnhangA.1.1) können in Form einer Kurve dargestellt werden:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Vergessenskurve (eigene Darstellung nach Ebbinghaus, 1995, Kap. VII. Das Behalten und Vergessen als Funk- tion der Zeit)
2.2 Gedächtnisphänomen „Active-Recall“
Das Prinzip von Active-Recall wird von C. A. Mace folgendermaßen beschrieben:
„In Bezug auf die reine Wiederholungsübung gibt es ein weiteres Prinzip von höchster Wichtigkeit: Aktive Wiederholung ist sehr viel effektiver als passive Wiederholung. [...] Es gibt zwei Wege, um weitere Wiederholungen durchzuführen. Wir können diese Liste erneut lesen: Das ist passive Wiederholung. Wir können sie uns ohne Referenzen zu dem Text ins Gehirn wieder aufrufen, bevor das Vergessen begonnen hat: Das ist aktive Wiederholung.“8
Herbert Spitzer hat 1939 ein Experiment mit 3.600 Sechstklässlern an neunverschiedenen Städten in Iowa durchgeführt. Die Schüler sollten ihnen unbekannte Artikel lesen und anschließend nach entweder einem Tag oder einer Woche einen Test beantworten, der Inhalte des gelesenen Artikels abfragt. Die Schüler wurden in zwei Gruppen eingeteilt:
- Experimentalgruppe: Sie bearbeitet nach dem Lesen einen Übungstest, durch welchen die Schüler ihr Wissen aktiv abfragen bzw. wiederholen.
- Kontrollgruppe: Sie liest den Artikel lediglich und macht daraufhin nichts bestimmtes.
Das Experiment zeigt, dass die Schüler durch nur einen Übungstest durchschnittlich 10-20 % besser abschneiden als die Schüler, die die Active-Recall-Methode nicht anwenden.9 Die Ergebnisdaten (siehe AnhangA.1.2) können in Form eines Säulendiagramms dargestellt werden:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2: Finale Testleistung in Abhängigkeit zur Verzögerung mit und ohne Active-Recall (eigene Darstellung nach Spitzer, 1939, S. 649 f.)
2.3 Theorie der Spaced-Repetition-Lernmethode
Die Spaced-Repetition-Lernmethode kombiniert die beiden Gedächtnisphänomene „Spacing-Effekt“ und „Active-Recall“ durch das aktive Abrufen der Lerninhalte in immer größer werdenden Intervallen. Durch die immer größer werdenden Intervalle vergisst das Gehirn gewisse Lerninhalte, sodass der aktive Rückrufprozess eine hohe Gehirnleistung beansprucht und dadurch die Wahrscheinlichkeit erhöht wird, dass der Lerninhalt im Langzeitgedächtnis gespeichert wird.
Insbesondere wird die Vergessenskurve nach Ebbinghaus(sieheAbbildung 1)bei dieser Lernmethode durch die Wiederholungen unterbrochenbzw. abgeflacht (sieheAnhangA.2).10
Karpicke und Bauernschmidt haben 2011 nachgewiesen, dass die Spaced-Repetition-Methode am effektivsten im Vergleich mit anderen Lernmethoden ist. 96 Versuchspersonen sollten 100 Suaheli-
Englisch Wortpaare lernen. In der Studie gibt es vier Gruppen, welche in unterschiedlichen Zeitabständen gelernt haben: Die erste Gruppe lernt die Wortpaare lediglich einmal. Bei der zweiten Gruppe müssen die Wortpaare zusätzlich einmal korrekt aktiv abgerufen werden. Bei der dritten Gruppe werden die Wortpaare zusätzlich dreimal direkt hintereinander wiederholt. Die vierte Gruppe wiederholt die Wortpaare in gewissen Zeitabständen.11
In der Studie wird deutlich, dass die vierte Gruppe mit der Spaced-Repetition-Methode am erfolgreichsten hinsichtlich des Anteils der erinnerten Wortpaare ist(sieheAnhang A.1.3):
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 3: Ergebnisse der Studie zu Spaced-Repetition (eigene Darstellung nach Karpicke/Bauernschmidt, 2011, S. 1254)
Laut Karpicke und Bauernschmidt habe die genaue Länge der Intervalle keine direkte Auswirkung auf die Speicherung der Lerninhalte im Langzeitgedächtnis.12 Allerdings führen diesbezügliche Studien zu uneinheitlichen Ergebnissen.13
3 Algorithmen für die Spaced-Repetition-Methode
Es kann lästig sein, die Spaced-Repetition-Methode ohne digitale Hilfsmittel anzuwenden, da sich der Lernende z. B. Gedanken darüber machen muss, wann er eine bestimmte Karteikarte wiederholen muss. Daher werden oft Spaced-Repetition-Algorithmen eingesetzt, z. B. in Lernsoftwares, mit welchen die virtuellen Karteikarten gelernt werden können. Es gibt verschiedene Algorithmen für die Lernmethode, im Folgenden werden die gewöhnlichsten Spaced-Repetition-Algorithmen erläutert:
3.1 Algorithmus nach Leitners Lernkarteisystem
Das Leitner-System wurde 1973 von Sebastian Leitner vorgestellt. Er sieht dabei einen Lernkarteikasten vor, der aus fünf verschieden großen Fächern besteht. Die Fächer werden immer größer, sodass das erste Fach 1 cm und das fünfte 14 cm breit ist (siehe Anhang A.3).14 Den Aufbau des Kastens beschreibt Leitner als „geistigen Verdauungskanal mit fünf verschieden großen Mägen“15.
Wenn eine Karteikarte richtig beantwortet wird, wird diese in das nächste Fach verschoben. Wird sie allerdings falsch beantwortet, wird sie zurück in das erste Fach verschoben. Wird die Karteikarte in dem fünften Fach erneut korrekt beantwortet, wird sie aus dem Kasten entnommen.16
Da die Fächer verschiedene Größen haben, sieht Leitner ein Abfragen der Karteikarten lediglich vor, wenn das jeweilige Fach voller Karteikarten ist, um „unnötige Wiederholungen radikal einzuschrän- ken“17. Da Leitner sein Lernkarteisystem als analoge Lernform vorsieht, kann das Prinzip der verschiedenen Fachgrößen für einen Algorithmus nicht übernommen werden. Stattdessen müssen statische Wiederholungsintervalle pro Fach gewählt werden, z. B.:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 4: Lernkarteisystem nach Leitner mit größer werdenden Wiederholungsintervallen (Gatterbauer/Suciu, 2011)
Auf Basis von Leitners Erläuterungen zu seinem Lernkarteisystem lässt sich ein Pseudocode (siehe Anhang A.4.1) sowie ein Programmablaufplan erstellen:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 5: Programmablaufplan für das Lernkarteisystem nach Leitner (eigene Darstellung)
3.2 SuperMemo-Algorithmus SM-2
Piotr Wozniak entwickelte den SM-2-Algorithmus für die Software SuperMemo zwischen 1987 und 1989, der heutzutage in den meisten Lernsoftwares eingesetzt wird. Insbesondere zielt der Algorithmus darauf ab, so wenig Lerninhalte wie möglich wiederholen zu müssen und zwischen den Lerninhalten auf Basis ihrer Schwierigkeit zu differenzieren.18
3.2.1 Berechnung des Wiederholungsintervalls
Für 0 <n< 2 gilt 1(1) = 1, 1(2) = 6 und für n >2 gilt I(n) = I(n — 1) * EF, wobei n die Anzahl der bisherigen Wiederholungen, I(n) die nächste Wiederholung in Tagen und EF den Leichtigkeitsfak- tor(E-Faktor)19 zur Erinnerung bzw. Abrufung des Lerninhalts angibt.20
Für den Leichtigkeitsfaktor EF, der im Verlaufe der Wiederholungen im Falle von Erinnerungsproblemen graduell abnimmt, gilt 2,5 > EF > 1,3. Dabei steht 2,5 für sehr einfach und 1,3 für sehr schwer.21 Der Grund für die Begrenzung von EF ist laut Wozniak:
„[Mir fiel]auf, dass die E-Faktoren den Wert von 1,3nicht unterschreiten sollten. Lerninhalte mit einem E- Faktor unter 1,3 wurden ärgerlich oft wiederholt und schienen immer inhärente Fehler in ihrer Formulierung zu haben (normalerweise entsprachen sie nicht dem Mindestinformationsprinzip).“22
3.2.2 Berechnung des Leichtigkeitsfaktors
Ein neuer E-Faktor EF' wird auf Basis des alten E-Faktors EF berechnet, der bei einem neuen Lerninhalt standardmäßig bei 2,5 liegt, und der Qualität der Reaktion bzw. des Erinnerungsvermögens q.23
Es gilt: EF’ = EF + (0.1 - (5 -q) * (0.08 + (5 -q) * 0.02)) , für 0 <q <5.
Dabei ist q = 0 mit einem kompletten Blackout und q = 5 mit einem perfekten Erinnerungsvermögen gleichzusetzen.24
Aus dem von Wozniak erstelltem Pseudocode (siehe Anhang A.4.2) ergibt sich der folgende Programmablaufplan, für welchen die erläuterten Formeln elementar sind:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 6: Programmablaufplan für den SM-2-Algorithmus (eigene Darstellung)
3.3 Free-Spaced-Repetition-Scheduler-Algorithmus
Der 2020 entwickelte Free Spaced Repetition Scheduler (FSRS) Algorithmus modelliert das Langzeitgedächtnis von Studenten und optimiert den Zeitaufwand der Wiederholungen. Dazu wurden 220 Millionen Daten zu dem Gedächtnisverhalten von Studenten gesammelt. Der Zeitaufwand der Wiederholungen wird durch den SSP-MMC-Algorithmus berechnet, der auf dem DHP-Modell zur Vorhersage der Gedächtniszustände basiert.25
3.3.1 Difficulty-Halflife-P(recall)-Modell
Das Difficulty-Halflife-P(recall) (DHP) Modell ist ein mathematisches Modell zur Simulation des Langzeitgedächtnisses der Benutzer, das auf Millionen von erhobenen Daten basiert. Mit diesem kann der Zustand einer Erinnerung vorhergesagt werden.26
Es verwendet die Markov-Eigenschaft „[des] stochastischen Prozesses[, die] beschreibt, dass die Wahrscheinlichkeit des Übergangs von einem Zustand in den nächstfolgenden von der weiteren ,Vorge- schichte‘ nicht abhängt“27, um die Zeitreihendaten in Zustandsvariablen und Zustandsübergangsgleichungen zu reduzieren. Das Modell verwendet vier Variablen, um die Gedächtnisleistung zu modellieren: die Halbwertszeit (misst die Gedächtnisstärke), die Abrufwahrscheinlichkeit (basierend auf dem Spacing-Effekt, siehe 2.1), das Ergebnis der Wiederholung (die Halbwertszeit erhöht sich nach erfolgreicher Wiederholung und verringert sich im Falle des Vergessens) und die Schwierigkeit (je höher die Schwierigkeit, desto schwerer festigt sich die Erinnerung im Langzeitgedächtnis).28
Die Zeitreihendaten können in einen dreidimensionalen Raum projiziert werden, wobei die letzte Halbwertszeit, die Abrufwahrscheinlichkeit und die aktuelle Halbwertszeit die Achsen darstellen. Die Schwierigkeit wird durch die Verfärbung repräsentiert (siehe Anhang A.5).29
Durch die Zustandsübergangsgleichung und den Anfangswerten zur Schwierigkeit kann die Halbwertszeit jedes Gedächtnisverhaltens berechnet werden (siehe Anhang A.6).
Das Modell berücksichtigt zwei wichtige Phänomene: Erstens nimmt die Halbwertszeit nach einer erfolgreichen Erinnerung zu und nach einer erfolglosen Erinnerung ab. Zweitens ist vergessenes Material schwieriger zu merken als erinnertes Material.30
3.3.2 Stochastic-Shortest-Path-Minimize-Memorization-Cost-Algorithmus
Der Stochastic-Shortest-Path-Minimize-Memorization-Cost -Algorithmus (SSP-MMC) setzt es sich zum Ziel, die Wiederholungskosten der Benutzer durch die Bestimmung eines optimalen Wiederholungsintervalls zu minimieren (siehe Anhang A.4.3 für Pseudocode).
Die Anzahl an Wiederholungen, die erforderlich sind, um ein Lernziel zu erreichen, ist aufgrund der zufälligen Übergänge zwischen Halbwertszeitzuständen unsicher. Im Fall des Lernziels, welches auf das Abspeichern des Lerninhalts im Langzeitgedächtnis abzielt, gibt es einen Endzustand, welcher der Zielhalbwertszeit entspricht. Es handelt sich um ein stochastisches kürzestes Pfadproblem (siehe Anhang A.7), sodass der Algorithmus kombiniert mit dem Optimierungsziel als SSP-MMC bezeichnet wird. Der Algorithmus verwendet die Bellman-Gleichung aus der stochastischen dynamischen Programmierung, um das optimale Wiederholungsintervall für jeden durch den Benutzer bewerteten Schwierigkeitsgrad des Lerninhalts zu bestimmen, wobei hinzugezogen wird, ob der Lerninhalt neu gelernt, nach einer erfolglosen Wiederholung gelernt oder nach erfolgreicher Wiederholung gelernt wird. Zur Ermittlung des Wiederholungsintervalls je nach Schwierigkeitsgrad wird die Bellman-Gleichung durch die Iteration durch alle möglichen Kombinationen gelöst.31
Die Bellman-Ford-Algorithmus dient allgemein der Findung nach dem kürzesten Weg in einem Graphen. Um zu jedem Knoten im Graphen den jeweiligen Vorgänger zu ermitteln, der auf dem günstigsten Weg erreicht werden kann, wird die Distanz zu jedem Knoten auf unendlich gesetzt. Die Distanz des Startknotens wird auf null gesetzt. Anschließend wird geprüft, ob die Kosten zum Ausgangsknoten addiert mit den Kosten der jeweiligen Kante geringer als die bekannten Kosten zum Zielknoten sind. Sofern das zutrifft, wurde ein günstigerer Weg ermittelt.32 In dem SSP-MMC-Algorithmus wird eine vereinfachte Bellman-Gleichung verwendet: Sie wird in einem gerichteten Graphen verwendet, bei dem jeder Knoten genau eine eingehende Kante hat. Zudem werden in einer Iteration anstatt von allen Knoten nur die Knoten, die für den aktuellen Schritt relevant sind, verwaltet.33
3.3.3 Formeln für den FSRS-Algorithmus
Die Bellman-Gleichung im SSP-MMC-Algorithmus, der auf dem DHP-Modell basiert, kann zu verschiedenen Variablen umgeformt werden. In den Formeln für den FSRS-Algorithmus werden die folgenden Symbole genutzt: R, die Wahrscheinlichkeit der Erinnerung, S, die Stabilität, wobei S^. die neue Stabilität nach einer erfolgreichen Wiederholung und S? die Stabilität nach dem Vergessen angibt, D, die Schwierigkeit für die D E [1; 10] gilt, und G, der Grad des Erinnerungsvermögens, der selbst durch den Benutzer eingeschätzt wird und für den G E [0; 3] gilt. Standardmäßig sind folgende 13 Gewichtungen gegeben:34
Abbildung in dieser Leseprobe nicht enthalten
Für die initiale Stabilität nach der ersten Bewertung gilt:35
Abbildung in dieser Leseprobe nicht enthalten
Für die initiale Schwierigkeit nach der ersten Bewertung gilt:36
Abbildung in dieser Leseprobe nicht enthalten
Für die neue Schwierigkeit nach einer Wiederholung gilt:37
Abbildung in dieser Leseprobe nicht enthalten
Die Formel berechnet die neue Schwierigkeit mit D' = D + w4 * (6 — 3) und wendet dann die Regression zur Mitte w5 • O0(3) + (1 — w5) * D' an, um zu verhindern, dass die Lerninhalte schwieriger eingeschätzt werden, als sie eigentlich sind, sodass der Algorithmus nicht zu viele Lerninhalte pro Tag zur Wiederholung freigibt.38
„Regression zur Mitte ist ein Phänomen in der Statistik, dass [sic!] besagt, dass wenn eine Variable in der ersten Messung einen extremen Messwert annimmt, wird der Messwert bei der zweiten Messung tendenziell näher am Mittelwert liegen. Nimmt hingegen die zweite Messung einen extremen Messwert an, wird die erste Messung tendenziell näher am Mittelwert gelegen haben.“39
Für die Wahrscheinlichkeit der Erinnerung von t Tagen seit der letzten Wiederholung gilt:40
Abbildung in dieser Leseprobe nicht enthalten
Für die neue Stabilität nach einer erfolgreichen Wiederholung gilt:41
Abbildung in dieser Leseprobe nicht enthalten
Wenn Sine für — ■ steht, gilt: Je größer D oder S, desto geringer ist Sine. Je geringer R ist, desto größer ist Sine. Sine ist immer größer als 1 (siehe Anhang A.6).42
Für die Stabilität im Falle des Vergessens bzw. nach einer gescheiterten Wiederholung gilt:
Abbildung in dieser Leseprobe nicht enthalten
Zu dem FSRS-Algorithmus existieren ein Pseudocode sowie eine beispielhafte Python-Implementation von Junyao Ye, einem der Autoren des FSRS-Algorithmus, in welchen die genannten Formeln verwendet werden (siehe Anhang A.4.3).
4 Implementation einer Spaced-Repetition-API und Software
Auf Basis der in Kapitel 3 theoretisch dargestellten Algorithmen für die Spaced-Repetition-Methode kann nun die praktische Implementation erfolgen. Die Implementation der vorangegangenen Algorithmen besteht aus zwei Teilen: Die Programmierschnittstelle (API), in welcher die Algorithmen grundlegend implementiert wurden, bildet dabei den Kern der Implementation. In einer prototypischen Spaced-Repetition-Software wurde die entwickelte API exemplarisch eingesetzt.
Die API sowie die Software wurden in der IntelliJ IDEA Entwicklungsumgebung in der Programmiersprache Java (Version 8) entwickelt. Insbesondere wurde das Build-Tool Apache Maven43 genutzt, welches Java-Projekte automatisiert. Zur verteilten Versionsverwaltung der Projektdateien wurde die Software Git verwendet. Das Projekt ist auf GitHub als Open-Source-Projekt44 veröffentlicht (siehe Anhang A.11 für Installation des Projekts). Mit Apache Maven bzw. Javadoc können aus Java-Quelltexten automatisch HTML-Dokumentationsdateien erstellt werden.45
4.1 Struktur der Spaced-Repetition-API
Die spezifischen Algorithmen müssen das Interface Algorithm implementieren, welches die Methode calc enthält, in welcher der Hauptalgorithmus implementiert wird bzw. die Rückgaben des Algorithmus berechnet werden:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 7: Verkürztes UML-Diagramm zu der Vererbungshierarchie der implementierten Algorithmen (eigene Darstellung)
Zur Verwendung der Algorithmen wird ein Builder mit Fluent Interface verwendet. Der Einsatz eines Builders mit Fluent Interface wird empfohlen, sofern ein Konstruktor mehr als drei Parameter hat oder unterschiedliche Parameterkombinationen verwendet. So ist die Verwendung der API einfacher und weniger fehleranfällig. Die Objekterzeugung erfolgt mit dem abschließenden Aufruf der Methode build. Die zuvor übergebenen Daten werden in einem Builder-Objekt gesammelt.46
Die Verwendung der API sieht folgendermaßen aus:
Abbildung in dieser Leseprobe nicht enthalten
Quelltext 1: Beispiel zur Verwendung der API durch Builder mit Fluent Interface zur Objekterzeugung (eigener Quelltext)
Die Methode calc des Interfaces Algorithm gibt ein Objekt des Typs AlgorithmResult zurück. Jede Unterklasse von AlgorithmResult implementiert verschiedene Getter-Methoden, welche die Rückgabedaten des Algorithmus darstellen. Die Unterklassen von AlgorithmResult müssen im Konstruktor das berechnete Intervall an die Oberklasse übergeben, welche über die Methode getInterval verfügt. Zudem beinhaltet sie die Methode getNextRepetitionTime zur Berechnung des Zeitpunkts der nächsten fälligen Wiederholung:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 8: Verkürztes UML-Diagramm zur Vererbungshierarchie von AlgorithmResult (eigene Darstellung)
4.2 Einsatz der API in einer prototypischen Spaced-Repetition-Software
Um die entwickelte API zu testen, wurde eine prototypische Spaced-Repetition-Software entwickelt (siehe Anhang A.12 für Installation der Software). Zur graphischen Darstellung wurden das GUI-Toolkit Swing und die Swing-Bibliothek TableLayout verwendet. Zudem wurde eine MySQL-Datenbank zur Speicherung der Karteikarten und der Karteikartendaten je nach Algorithmus eingebunden (siehe Anhang A.10).
In der graphischen Benutzeroberfläche kann zwischen den Registerkarten Karteikarten verwalten (ManageView) und Karteikarten lernen (LearnView) gewählt werden. In der ManageView können Karteikarten erstellt und gelöscht werden. In der LearnView können die erstellten Karteikarten gelernt werden, wobei ein Algorithmus ausgewählt werden muss. Die Anzahl der Knöpfe bzw. die Skala zur eigenständigen Bewertung des Erinnerungsvermögens variiert je nach Algorithmus (siehe Anhang A.9).
Der CardScheduler verwaltet eine Warteschlange mit den zu lernenden Karteikarten. Dabei wird geprüft, welche Karteikarte ihren Wiederholungszeitpunkt überschritten hat, sodass diese dem Benutzer angezeigt wird. Zudem wird im CardScheduler die Bewertung des Benutzers, erfolgt durch einen Knopf, weiterverarbeitet, wodurch die von den Algorithmen berechneten Karteikartendaten in der Datenbank gespeichert werden (siehe Anhang A.10). Der Lernfortschritt für dieselbe Karteikarte unterscheidet sich je nach ausgewähltem Algorithmus.
[...]
1 Descartes, René/Holger Ostwald: Discours de la Méthode / Bericht über die Methode: Französisch/Deutsch (Reclams Universal-Bibliothek), Reclam, 01.01.2001.
2 ebd.
3 vgl. Reismann, Stefan: Was ist Spaced Repetition Learning?, in: Netzpiloten Magazin, 23.04.2021, https://www.netzpiloten.de/was-ist-spaced-repetition-learning/ (abgerufen am 16.01.2023).
4 Ebbinghaus, Hermann: Über das Gedächtnis: Untersuchungen zur experimentellen Psychologie, Leipzig: Verlag von Duncker & Humblot, 1885, Kap. VII. Das Behalten und Vergessen als Funktion der Zeit.
5 vgl. ebd.
6 ebd.
7 vgl. ebd.
8 übersetzt nach:Mace, Cecil Alec: The Psychology of Study, New York: R.M. McBride & Co., 1932, S. 39.
9 vgl. Spitzer, Herbert F.: Studies in retention, XXX, The Journal of Eductional Psychology, Bd. 9, 12.1939.
10 vgl. Schimanke, Florian/Robert Mertens/Oliver Vornberger: Verwendung von Spaced-Repetition-Algorithmen in mobilen Lernspielen, in: DeLFI Workshops, 09.2014.
11 vgl. Karpicke, Jeffrey D./Althea Bauernschmidt: Spaced retrieval: Absolute spacing enhances learning regardless of relative spacing, in: Journal of Experimental Psychology: Learning, Memory, and Cognition, American Psychological Association (APA), Bd. 37, Nr. 5, 2011.
12 vgl. ebd., S. 1254.
13 vgl. Balota, David A./Janet M. Duchek/Jessica M. Logan: Is Expanded Retrieval Practice a Superior Form of Spaced Retrieval? A Critical Review of the Extant Literature, in: The Modern Language Journal, 2007.
14 vgl. Leitner, Sebastian: So lernt man lernen: Der Weg zum Erfolg, 4. Aufl., Freiburg im Breisgau: Verlag Herder, 1995, S. 64-66.
15 Leitner, 1995, S. 65.
16 vgl. ebd.
17 Leitner, 1995, S. 67.
18 vgl. Wozniak, Piotr: Application of a computer to improve the results obtained in working with the method, in: SuperMemo, 11.08.1990, https://www.supermemo.com/en/blog/application-of-a-computer-to-improve- the-results-obtained-in-working-with-the-supermemo-method (abgerufen am 25.01.2023).
19 „EF“ bedeutet hier easiness factor (E-Faktor).
20 vgl. ebd.
21 vgl. ebd.
22 übersetzt nach:ebd.
23 vgl. ebd.
24 vgl. ebd.
25 vgl. Ye, Junyao/Jingyong Su/Yilong Cao: A Stochastic Shortest Path Algorithm for Optimizing Spaced Repetition Scheduling, in: Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining, ACM, 14.08.2022, doi:10.1145/3534678.3539081.
26 vgl. ebd.
27 vgl. Kamps, Udo: Markov-Prozess, in: Gabler Wirtschaftslexikon, 16.02.2018, https://wirtschaftslexikon.gab- ler.de/definition/markov-prozess-38640.
28 vgl. Ye et al., 2022.
29 vgl. ebd.
30 vgl. ebd.
31 vgl. ebd.
32 vgl. Schroer, Kevin: Bellman Ford Algorithmus, in: BWL-Lexikon, o. D., https://www.bwl-lexikon.de/wiki/bell- man-ford-algorithmus/ (abgerufen am 28.02.2023).
33 vgl. Ye et al., 2022.
34 vgl. Open-Spaced-Repetition/Jarret Ye: Free Spaced Repetition Scheduler, in: GitHub, 04.10.2022, https://github.com/open-spaced-repetition/fsrs4anki/wiki/Free-Spaced-Repetition-Scheduler (abgerufen am 18.02.2023).
35 vgl. ebd.
36 vgl. ebd.
37 vgl. ebd.
38 vgl. ebd.
39 Hemmerich, Wanja: Regression zur Mitte, in: StatistikGuru, 2016, https://statistikguru.de/lexikon/regression- zur-mitte.html (abgerufen am 18.02.2023). Zitiert nach: Stigler, S. M., 1997. Regression towards the mean, historically considered. Statistical methods in medical research, S. 103-114.
40 vgl. Open-Spaced-Repetition/Ye, 2022.
41 vgl. ebd.
42 vgl. ebd.
43 Apache Maven basiert auf einem Projektobjektmodell, in welchem Informationen zu dem Projekt hinterlegt werden, wie die Build-Abhängigkeiten bzw. Bibliotheken, die automatisch verwaltet und bei Bedarf heruntergeladen werden (vgl. ComputerWeekly: Was ist Maven?, in: ComputerWeekly, 07.03.2021, https://www. co mpu- terweekly.com/de/definition/Maven (abgerufen am 22.02.2023)).
44 Das GitHub-Repository ist verfügbar unter https://github.com/nickhnsn/facharbeit-spaced-repetition.
45 Die Javadoc-Dokumentation ist verfügbar unter https://facharbeit.nickhansen.de.
46 vgl. Spichale, Kai: API-Design: Praxishandbuch für Java- und Webservice-Entwickler, 2. Aufl., Heidelberg: dpunkt.verlag GmbH, 30.04.2019.
- Citation du texte
- Nick Hansen (Auteur), 2023, Algorithmen zur Spaced-Repetition-Methode. Implementation und vergleichende Analyse, Munich, GRIN Verlag, https://www.grin.com/document/1348550
-
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X. -
Téléchargez vos propres textes! Gagnez de l'argent et un iPhone X.