Разбор алгоритма

Алгоритм SM-2 Объяснён

SM-2 — это алгоритм планирования, который решает, когда вы снова увидите карточку. Он был разработан в 1987 году Петром Возьняком для SuperMemo, позже стал алгоритмом, лежащим в основе Anki, и именно его WeaveWords использует для планирования каждого повторения слов. Он достаточно прост, чтобы рассчитать вручную, что отчасти объясняет, почему он десятилетиями остаётся стандартным выбором для приложений интервального повторения.

Входные данные: единая оценка качества

После повторения карточки SM-2 спрашивает только одно: насколько хорошо вы её помнили? Традиционно оценивается от 0 до 5 (WeaveWords использует ту же шкалу от 1 до 5), где приблизительно:

  • 0–2 — вы не вспомнили (провал)
  • 3 — вы вспомнили, но с трудом
  • 4–5 — вы вспомнили легко

Это единственное число управляет всем остальным, что делает алгоритм.

Три числа, которые SM-2 отслеживает для каждой карточки

Для каждой карточки SM-2 хранит три значения:

  • Счётчик повторений (n) — сколько раз подряд вы успешно вспоминали карточку.
  • Коэффициент лёгкости (EF) — множитель, начинающийся с 2,5, отражающий, насколько «лёгкой» кажется вам карточка. Он не опускается ниже примерно 1,3.
  • Интервал (I) — количество дней до следующего повторения.

Как рассчитывается интервал

При успешном вспоминании (качество ≥ 3):

  • Первое успешное повторение: интервал = 1 день
  • Второе успешное повторение: интервал = 6 дней
  • Каждое следующее повторение: интервал = предыдущий интервал × коэффициент лёгкости

Так, карточка с коэффициентом лёгкости 2,5, которую успешно повторяли несколько раз подряд, быстро увеличивает свой интервал — 1 день, 6 дней, 15 дней, 38 дней и так далее — потому что каждый успех служит доказательством того, что вам не нужно видеть её так часто.

При неудачном вспоминании (качество < 3) счётчик повторений сбрасывается до нуля, а интервал возвращается к 1 дню — вы увидите карточку снова уже завтра, независимо от того, насколько далеко она была отложена.

Как корректируется коэффициент лёгкости

Сам коэффициент лёгкости обновляется после каждого повторения на основе оценки качества, приблизительно так:

EF' = EF + (0.1 − (5 − q) × (0.08 + (5 − q) × 0.02))

Проще говоря: оценка карточки на 5 (без усилий) немного повышает её коэффициент лёгкости, поэтому в будущем интервалы будут расти быстрее. Оценка на 3 (с трудом) снижает коэффициент лёгкости, поэтому карточка продолжает возвращаться чаще даже после того, как вы её «прошли». Именно поэтому две карточки, которые вы технически обе выучили, могут иметь очень разную частоту повторений — SM-2 отслеживает не только то, помните ли вы, но и сколько усилий это потребовало.

Почему это важно для изучения словарного запаса

Практический эффект для изучающего язык: слова, которые даются легко, быстро уходят с пути, а слова, которые постоянно вызывают трудности, остаются в интенсивной ротации, пока это не изменится. Вам никогда не нужно вручную решать, что повторять — алгоритм автоматически перераспределяет время повторения в сторону ваших слабых мест, каждый день.

Попробуйте сами: откройте интерактивный калькулятор SM-2 и посмотрите, как меняются лёгкость и интервалы с каждой оценкой.

Посмотрите планирование SM-2 в действии

WeaveWords реализует планирование SM-2 для каждой карточки, которую вы добавляете — бесплатно, со встроенными переводами и примерами от ИИ.

Начать бесплатно