Qu'est-ce que l'algorithme SM-2 ?

L'algorithme SM-2 est le plus utilisé des algorithmes de répétition espacée. Conçu en 1985 par Piotr Wozniak, il calcule l'intervalle avant la prochaine révision en fonction de la qualité de la réponse précédente.

L'algorithme SM-2 (SuperMemo 2) est l'algorithme de répétition espacée le plus largement utilisé dans les applications d'apprentissage. Conçu par Piotr Wozniak en 1985 dans le cadre du projet SuperMemo, il calcule l'intervalle avant la prochaine révision en fonction de la qualité de la réponse précédente, sur une échelle de 0 à 5.

Histoire et créateur

Piotr Wozniak, étudiant polonais en biologie moléculaire, cherche dans les années 1980 une méthode pour mémoriser efficacement des milliers de termes scientifiques. Il développe le premier algorithme SM-0 sur papier, puis l'améliore à chaque itération.

L'algorithme SM-2, publié en 1987 dans sa thèse, est la version qui s'impose. Wozniak le rend public, ce qui permet à des dizaines d'applications de l'implémenter (Anki, Mnemosyne, SuperMemo bien sûr, et plus récemment Kalc pour le calcul mental). Wozniak continue depuis à publier des versions améliorées (SM-15, SM-17, SM-18) mais SM-2 reste le standard de facto par sa simplicité.

Les paramètres clés

Pour chaque carte, SM-2 maintient trois variables :

À chaque révision, l'algorithme calcule le nouvel intervalle selon ces formules :

L'EF est ajusté après chaque révision : EF' = EF + (0.1 − (5 − q)(0.08 + (5 − q)(0.02))). Plus la réponse est bonne, plus l'EF augmente.

Limitations et variantes modernes

SM-2 a trois limitations connues :

  1. Notation à 6 niveaux trop fine pour beaucoup d'utilisateurs. Anki et Kalc simplifient souvent à 3 ou 4 boutons (« raté », « difficile », « bon », « facile »).
  2. Pas d'apprentissage par utilisateur : SM-2 utilise des paramètres fixes, alors que les courbes d'oubli varient selon les personnes et les types de contenu.
  3. Pas de prise en compte de la charge journalière : si l'apprenant rate une journée, SM-2 ne recalibre pas les intervalles.

Les algorithmes modernes comme FSRS (2023) ou les versions récentes de SuperMemo (SM-17, SM-18) corrigent ces limitations en utilisant du machine learning sur l'historique de réponses de l'utilisateur.

Pourquoi SM-2 reste utilisé après 40 ans ? Parce qu'il est simple à implémenter, donne déjà 80 % du gain théorique d'un algorithme parfait, et fonctionne sans données massives sur l'utilisateur. Pour la plupart des cas d'usage, le ratio simplicité/efficacité est imbattable.

Pratique algorithme sm-2 dans Kalc

L'application Kalc te fait travailler ce concept à travers des exercices ciblés, avec un système de répétition espacée qui consolide ta mémorisation à long terme.

Télécharger Kalc

Questions fréquentes

Quelle est la différence entre SM-2 et FSRS ?

FSRS (Free Spaced Repetition Scheduler), publié en 2023, utilise un modèle de machine learning entraîné sur des millions d'historiques de révisions Anki. Il s'adapte à la courbe d'oubli individuelle de chaque utilisateur, là où SM-2 utilise des paramètres fixes. FSRS donne en moyenne 10 à 20 % de gain de rétention par rapport à SM-2.

Quelles applications utilisent SM-2 ?

Anki (de loin l'application de SRS la plus utilisée au monde), Mnemosyne, RemNote, ainsi que de nombreuses applications spécialisées dont Kalc pour le calcul mental. SuperMemo, l'application originale de Piotr Wozniak, utilise quant à elle des versions plus récentes (SM-17, SM-18).

Pourquoi appelle-t-on cet algorithme « SM-2 » ?

Parce qu'il s'agit de la deuxième version publiée par Wozniak après SM-0 (papier) et SM-1 (très simplifié). Wozniak a continué à itérer (SM-3, SM-4, jusqu'à SM-18 actuellement), mais SM-2 a marqué le coup d'arrêt où l'algorithme est devenu suffisamment bon pour être utilisé largement.