Spaced repetition algorithms aim to support the process of [[Spaced repetition|spaced repetition]] for effective memory consolidation whilst optimise the timing of review. That is, by effectively predicting when the learner is about to forget a piece of knowledge and thereby timing its review, the algorithm can minimise the number of reviews necessary. The algorithms come into support learning after the creation of flashcards, where assumptions are taken that allow us to treat [[Education as an optimisation problem|education as an optimisation problem]]. Therefore, improvements solely to algorithms are not enough to support the use of spaced repetition, rather there needs to be support in the way that people come to incorporate spaced repetition into their lives - such as [[Wiki/cards/Incremental reading|incremental reading]]. Current algorithms primarily rely on the users self-reported difficulty of a flashcard to decipher timing without analysis of specific content, dependencies between flashcards or using information about others engagement for shared decks. Though developments with local LLMs may offer opportunities to harness the LLMs latent knowledge about memory type difficulties to better adjust spacing parameters, such as a new word when language learning being likely to trigger proactive [[Memory interference|memory interference]] with your native tongue could be accounted for by increasing the difficulty parameter (speculated as of 27/9/2025). ## Algorithms There are many algorithms, particularly by [[Piotr Woźniak]]. ### SM-2 I had made a video explaining the SM2 spaced repetition algorithm which used to be the main driver of Anki, but now [[FSRS]] is preferred. ![](https://www.youtube.com/watch?v=dF5rY3xQeAQ) ### FSRS ![[FSRS]]