# Алгоритм – KYW

Алгоритм сочетает в себе FSRS-6 для долгосрочного расписания и собственный движок зубрёжки внутри сессии. Первый отвечает за то, чтобы вы возвращались к слову именно перед тем, как забудете. Второй управляет порядком карточек и динамикой повторений прямо во время занятий.

_https://keepyourwords.org/ru/about/algorithm_

Здесь описано, что именно происходит с вашим словом: в каком порядке показываются карточки, как слово переходит между этапами и по каким правилам назначается следующая встреча с ним.

### Два механизма

KYW складывается из двух независимых частей. Научная модель памяти **FSRS-6** ведёт календарь и отвечает на вопрос «в какой день вернуться к слову». Внутрисессионный движок отвечает на другой вопрос – «в каком порядке показывать карточки прямо сейчас»; он мыслит не днями, а шагами: через сколько промежуточных карточек показать слово снова. Части не пересекаются: порядок внутри занятия не двигает расписание, расписание не вмешивается в порядок.

### Порядок этапов

Занятие всегда идёт одним маршрутом: **повторение → новые слова → отработка и досрочно**. Движение только вперёд; пустой этап пропускается. Единственное исключение – кнопка «новые слова» в настройках ленты: она перепрыгивает к новым, но лишь когда просроченных повторений не осталось. Иначе просроченные слова оказались бы пропущены, а они важнее досрочной практики.

### Этап 1. Повторение: два прогона

Сюда попадает то, у чего подошёл срок. Порядок общего прогона не случайный: слова отсортированы по текущей вероятности вспомнить, слабее просевшее идёт раньше. Каждое слово показывается один раз.

Дальше начинается то, ради чего прогонов два. У слова три возможных исхода, и это три разных состояния памяти:

- **Названо с первого раза.** Обычное повторение: расписание сдвигается вперёд, ничего не обнуляется.

- **Не названо, но названо во втором прогоне.** Ошибочные слова перемешиваются и идут ещё раз – уже после того, как вы увидели правильный ответ. Если теперь слово набрано, оно засчитывается как обычное повторение, **без срыва**. Вы его не забыли, а не смогли достать сразу: одного показа хватило, чтобы вернуть.

- **Не названо дважды.** Слово из занятия не выпадает, но и не закрывается здесь: оно уходит на третий этап, после новых слов. Только там оно получит честный срыв – по худшей из ваших оценок.

Второй прогон перемешивается заново, а не повторяет порядок первого: иначе вы запоминали бы последовательность, а не слова.

Опечатка – одна перепутанная буква в достаточно длинном слове, не совпадающая ни с одним другим вашим словом – предлагается как Hard. Если оценка такой и осталась, слово идёт во второй прогон, но срывом не становится, когда вы его там наберёте.

### Этап 2. Новые слова: знакомство и круги

Сколько новых слов взять, определяет дневной лимит за вычетом уже взятых сегодня. «Сегодня» здесь не календарное: если вы не занимались дольше заданного числа часов, счётчик обнуляется и начинается новый логический день. Так удобнее тем, кто занимается ночью или в разных часовых поясах.

- **Знакомство.** Каждое новое слово показывается вместе с определением, набирать ничего не нужно. Порядок перемешан.

- **Генеральный прогон.** Все новые слова вперемешку, теперь уже с набором.

- Прогон прошёл **без единой ошибки** – этап закрыт, слова уходят в расписание.

- Были ошибки – идут **подпроходы** только по ошибочным, пока очередной подпроход не окажется чистым.

- Затем снова **полный генеральный прогон по всем словам**, включая те, что вы уже называли. И так до тех пор, пока какой-нибудь генеральный прогон не пройдёт чисто.

Смысл в пороге, а не в количестве повторений. Расписание имеет смысл строить только для слова, которое вы уже способны воспроизвести хотя бы раз – причём вперемешку с остальными, а не подряд, когда оно ещё висит в короткой памяти.

При выпуске каждое слово получает первую запись в расписании, и она зависит от того, как тяжело слово далось: учитывается число промахов за занятие, но с затуханием – первый промах весит заметно больше пятого. Иначе слово, с которым вы долго возились, получило бы неоправданно короткий первый интервал.

### Этап 3. Отработка и досрочно

Последний этап начинается с ваших провалов: сюда приходят слова, не названные в обоих прогонах повторения. Разбирают их не сразу – между провалом и разбором проходят новые слова. Это не пауза ради паузы: так проверяется, вспомните ли вы слово, когда контекст уже сменился.

К ним движок подмешивает всё, что не новое и срок чего ещё не наступил, – по возрастанию вероятности вспомнить, слабее держащееся раньше. Подмешивает не сразу: пока в работе много провалов, вероятность взять ещё не показанную карточку падает почти до нуля. Приоритет получается сам собой, из математики, а не из жёсткого порядка.

Слово отсюда не выбывает. Ответили верно – шаг растёт, и слово просто отдаляется, всплывая всё реже. Поэтому этап не кончается сам: лента останавливается тогда, когда останавливаетесь вы.

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

### Как выбирается следующая карточка

Внутри занятия у каждого слова есть шаг – через сколько промежуточных карточек показать его снова. Ответ шаг меняет: Good и Easy растягивают, Hard и Again резко сжимают, причём Again сильнее. Пока шаг короткий, слово считается «горячим».

Чем больше горячих слов накопилось, тем выше давление – и тем реже движок берёт свежие карточки, концентрируясь на том, что сыпется. Когда горячих нет, свежие идут почти всегда.

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

### Как ставится оценка

Оценка предлагается автоматически, но последнее слово за вами – четыре кнопки от «не знал» до «легко».

- Набрано верно – Good.

- Опечатка – Hard.

- Набрано другое слово – Again.

- Использована подсказка – не выше Hard.

- **Easy автоматика не ставит никогда**: это осознанное решение человека.

Если включено влияние времени, считается не общее время, а чистое припоминание: из него вычитается время на чтение определения и на набор ответа. Сравнивается оно не с чужой нормой, а с историей этой же карточки; заметно медленнее обычного – Good понижается до Hard. Выбросы (отвлеклись, ушли за чаем) отсекаются по общему 99-му перцентилю. Пока верных ответов по карточке меньше пяти, времени не доверяем вовсе.

### Статусы слова

Новое → учу → выучил. «Выучил» – это не «ответил верно несколько раз подряд», а несколько **разных дней** с чистым ответом с момента последней ошибки. Два ответа в один день считаются за один: важна выдержка между ними, а не количество. Любая ошибка обнуляет счётчик, причём после Again планка поднимается выше, чем после Hard.

«Трудное» – отдельная метка для слова, которое вы проваливаете раз за разом. Она ставится, когда слово забыто по расписанию несколько раз (по умолчанию три) и при этом остаётся для вас трудным. Считается именно повторяемость провалов: слово, которое тяжело далось в день заучивания, трудным не станет, а зрелое, которое сыплется снова и снова, – станет. Порог настраивается.

### Если занятие прервано

Незакрытая сессия закрывается по последнему состоянию: провалы повторения получают по одному срыву, недоученные новые слова – свою первую запись с учётом промахов. Слова, которые вы успели только увидеть на знакомстве, но ни разу не набирали, остаются новыми и вернутся в следующий раз.
