¿Qué es el algoritmo SM-2?

Algoritmo SM-2 explicado : el método de repetición espaciada diseñado por Piotr Wozniak en 1985, usado por Anki, Kalc y la mayoría de apps de memorización.

El algoritmo SM-2 (SuperMemo 2) es el algoritmo de repetición espaciada más ampliamente utilizado en las aplicaciones de aprendizaje. Diseñado por Piotr Wozniak en 1985 en el marco del proyecto SuperMemo, calcula el intervalo antes de la próxima revisión en función de la calidad de la respuesta anterior, en una escala de 0 a 5.

Historia y creador

Piotr Wozniak, estudiante polaco de biología molecular, busca en los años 1980 un método para memorizar eficazmente miles de términos científicos. Desarrolla el primer algoritmo SM-0 en papel, luego lo mejora con cada iteración.

El algoritmo SM-2, publicado en 1987 en su tesis, es la versión que se impone. Wozniak lo hace público, lo que permite a decenas de aplicaciones implementarlo (Anki, Mnemosyne, SuperMemo por supuesto, y más recientemente Kalc para el cálculo mental). Desde entonces, Wozniak sigue publicando versiones mejoradas (SM-15, SM-17, SM-18) pero SM-2 sigue siendo el estándar de facto por su simplicidad.

Los parámetros clave

Para cada tarjeta, SM-2 mantiene tres variables :

En cada revisión, el algoritmo calcula el nuevo intervalo según estas fórmulas :

El EF se ajusta tras cada revisión : EF' = EF + (0.1 − (5 − q)(0.08 + (5 − q)(0.02))). Cuanto mejor sea la respuesta, más aumenta el EF.

Limitaciones y variantes modernas

SM-2 tiene tres limitaciones conocidas :

  1. Calificación de 6 niveles demasiado fina para muchos usuarios. Anki y Kalc simplifican a menudo a 3 o 4 botones (« fallado », « difícil », « bien », « fácil »).
  2. Sin aprendizaje por usuario : SM-2 usa parámetros fijos, mientras que las curvas de olvido varían según las personas y los tipos de contenido.
  3. Sin consideración de la carga diaria : si el aprendiz salta un día, SM-2 no recalibra los intervalos.

Los algoritmos modernos como FSRS (2023) o las versiones recientes de SuperMemo (SM-17, SM-18) corrigen estas limitaciones usando machine learning sobre el historial de respuestas del usuario.

¿Por qué SM-2 sigue usándose 40 años después? Porque es simple de implementar, ya da el 80 % de la ganancia teórica de un algoritmo perfecto, y funciona sin datos masivos sobre el usuario. Para la mayoría de los casos de uso, la relación simplicidad/eficacia es imbatible.

Preguntas frecuentes

¿Cuál es la diferencia entre SM-2 y FSRS?

FSRS (Free Spaced Repetition Scheduler), publicado en 2023, usa un modelo de machine learning entrenado en millones de historiales de revisiones de Anki. Se adapta a la curva de olvido individual de cada usuario, mientras que SM-2 usa parámetros fijos. FSRS da en promedio 10 a 20 % más de ganancia de retención respecto a SM-2.

¿Qué aplicaciones usan SM-2?

Anki (de lejos la aplicación SRS más usada del mundo), Mnemosyne, RemNote, así como numerosas aplicaciones especializadas entre las que se cuenta Kalc para el cálculo mental. SuperMemo, la aplicación original de Piotr Wozniak, usa versiones más recientes (SM-17, SM-18).

¿Por qué se llama « SM-2 » este algoritmo?

Porque es la segunda versión publicada por Wozniak después de SM-0 (papel) y SM-1 (muy simplificado). Wozniak siguió iterando (SM-3, SM-4, hasta SM-18 actualmente), pero SM-2 marcó el momento en el que el algoritmo se volvió suficientemente bueno para ser usado ampliamente.