# Теория информации на практике: как энтропия помогает решать Wordle

> Спикер: 3Blue1Brown | Длительность: 30:38

## Ключевые идеи

1. **Информация — это сокращение неопределённости** — каждое наблюдение ценно настолько, насколько сужает пространство вариантов. Уполовинивание — это один бит.
2. **Формула информации: I = -log₂(p)** — логарифм от обратной вероятности. Интуитивно: сколько раз пространство разрезано пополам.
3. **Энтропия = ожидаемая информация** — математическое ожидание бит по всем возможным исходам. Чем равномернее распределение, тем выше энтропия.
4. **Маловероятное = информативное** — редкие паттерны дают много бит, но на них нельзя рассчитывать. Частые паттерны предсказуемы и малоинформативны.
5. **Лучшая догадка максимизирует энтропию** — слово SLATE (~5.8 бит) лучше WEARY (~4.9 бит), потому что его распределение паттернов более плоское.
6. **Частотность букв — неточный метод** — не учитывает позиции и комбинации букв. Формальный подход через энтропию точнее.
7. **Энтропия = «плоскость» + «размер»** — 6 бит энтропии эквивалентны 64 равновероятным исходам.
8. **Жадный алгоритм даёт ~4.12 хода** — перебор 13 000 слов с максимизацией энтропии на каждом шаге.
9. **Информация складывается** — 2 бита + 3 бита = 5 бит. Это свойство логарифмов делает энтропию удобной мерой.
10. **Учёт частотности слов — ключ к улучшению** — наивный бот не различает «abyss» и экзотические слова; добавление весов по частотности улучшает эндшпиль.
11. **Термин «энтропия» — от фон Неймана** — предложен Шеннону как название для ожидаемой информации, с ироничной мотивацией: «никто не знает, что это такое».

## Транскрипт

### Что такое Wordle?

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

Автор создал бота, который играет в Wordle, максимизируя получаемую информацию на каждом шаге. Демонстрация: бот предлагает начать с CRANE, после паттерна серый-жёлтый-зелёный-серый-серый переходит к SHTIK, затем сужает варианты до двух (SHARD и SHARP) и угадывает за 3 хода. Четыре хода считается «паром», три — «бёрди».

### Первые идеи: частотность букв

Первый наивный подход — выбрать слова с самыми частыми буквами английского языка. Например, пара OTHER + NAILS покрывает 10 самых частых букв. Даже все серые ответы информативны, потому что слова без этих букв крайне редки.

Но этот метод не учитывает порядок букв: NAILS и SNAIL содержат одни буквы, но дают разную информацию. Нужен формальный количественный критерий.

### Устройство игры: 13 000 допустимых слов

Wordle принимает ~13 000 допустимых слов в качестве догадок, но ответами могут быть только ~2 300 распространённых слов (список курировала девушка создателя игры). Автор ставит задачу: создать бота, не использующего этот список, — более универсального и не «жульничающего».

### Анализ качества догадки

Для слова WEARY: если выпадет паттерн с W на месте — останется всего 58 вариантов из 13 000 (огромное сужение). Но вероятность такого паттерна — лишь 58/13 000. Самый вероятный паттерн — все серые (~14%) — наименее информативен.

Распределение вероятностей по всем 3⁵ = 243 возможным паттернам — ключ к оценке слова. Нужна мера ожидаемой информации.

### Теория информации: биты

Единица информации — бит. Наблюдение, сужающее варианты вдвое — 1 бит, вчетверо — 2 бита, в 8 раз — 3 бита. Формула: I = log₂(1/p) = -log₂(p).

Почему логарифмы? Две причины: (1) удобство для малых вероятностей — проще сказать «20 бит», чем «0.0000095»; (2) информация складывается, когда вероятности перемножаются — 2 бита + 3 бита = 5 бит.

### Энтропия: ожидаемая информация

Энтропия = Σ p(x) × (-log₂(p(x))). Для WEARY энтропия ≈ 4.9 бит, для SLATE ≈ 5.8 бит. SLATE лучше, потому что его распределение паттернов более плоское — даже худший случай (все серые) имеет вероятность лишь 6%.

Клод Шеннон разработал теорию информации в 1940-х в Bell Labs. Фон Нейман предложил назвать ожидаемую информацию «энтропией» — отчасти из-за связи со статмеханикой, отчасти ради стратегического преимущества в дебатах.

### Алгоритм Wordle-бота (версия 1)

Бот перебирает все 13 000 слов, для каждого считает энтропию распределения паттернов, выбирает слово с максимальной энтропией. После получения паттерна — сужает список и повторяет. Лучшее первое слово (без учёта частотности) — TARES (~5.8 бит). Средний результат на 2 315 тестовых словах — 4.124 хода.

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

## Практические задания

### Задание 1: Вычисли информацию от простого события
Возьми монету. Бросок монеты имеет вероятность 1/2. Рассчитай информацию: I = -log₂(1/2) = 1 бит. Теперь рассчитай информацию для броска кубика (p = 1/6): I = -log₂(1/6) ≈ 2.58 бита. Проверь интуицию: результат кубика действительно «удивительнее» монеты примерно в 2.5 раза.

### Задание 2: Построй распределение паттернов для слова
Выбери любое пятибуквенное слово (например, CRANE). Возьми список из 20-30 пятибуквенных слов. Для каждого «ответа» определи паттерн цветов (серый/жёлтый/зелёный). Подсчитай, сколько ответов дают каждый паттерн. Ты получишь распределение — основу для расчёта энтропии.

### Задание 3: Рассчитай энтропию распределения вручную
Используя распределение из предыдущего задания, рассчитай энтропию: H = Σ p(x) × (-log₂(p(x))). Для каждого паттерна умножь его вероятность на количество бит информации. Сложи все произведения. Сравни результат для 2-3 разных стартовых слов.

### Задание 4: Проверь свойство максимума энтропии
Возьми два распределения: (A) четыре исхода по 1/4 и (B) четыре исхода с вероятностями 1/2, 1/4, 1/8, 1/8. Рассчитай энтропию обоих. Убедись, что равномерное (A) даёт ровно 2 бита, а неравномерное (B) — меньше.

### Задание 5: Напиши простой Wordle-бот
На Python реализуй упрощённый алгоритм: загрузи список пятибуквенных слов, для каждого кандидата рассчитай энтропию распределения паттернов, выбери слово с максимальной энтропией. Начни с маленького списка (100-500 слов) для скорости.

### Задание 6: Сравни стратегии
Составь топ-5 стартовых слов по двум критериям: (1) суммарная частотность букв и (2) энтропия паттернов. Сравни списки и объясни различия.

## Пошаговые инструкции применения

1. **Освой формулу информации**: Запомни I = -log₂(p). Потренируйся на простых вероятностях: 1/2, 1/4, 1/8.
2. **Научись считать энтропию**: H = Σ p(x) × log₂(1/p(x)). Начни с монеты и кубика.
3. **Примени к Wordle**: Для стартового слова смоделируй все паттерны ответов и подсчитай энтропию.
4. **Сравни слова по энтропии**: Рассчитай для CRANE, SLATE, AUDIO, WEARY — выбери лучшее.
5. **Реализуй жадный алгоритм**: Python-скрипт с перебором слов и максимизацией энтропии.
6. **Добавь веса частотности**: Присвой распространённым словам больший вес через корпусные данные.
7. **Протестируй**: Прогони по 2 315 ответам Wordle, цель — средний результат ≤ 4.0.
8. **Перенеси принцип в жизнь**: При принятии решений задавайте вопрос, максимально сужающий варианты.

## Лучшие цитаты

> «Паттерн с большим количеством информации по своей природе маловероятен. По сути, быть информативным — значит быть маловероятным» — 3Blue1Brown

> «Так же как вероятности любят перемножаться, информация любит складываться» — 3Blue1Brown

> «Называй это энтропией: во-первых, название уже занято в статфизике, а во-вторых — никто толком не знает, что такое энтропия, так что в споре ты всегда в выигрыше» — Джон фон Нейман

> «Это просто очень интуитивная идея — подсчитать, сколько раз вы разрезали пространство возможностей пополам» — 3Blue1Brown

> «Если энтропия равна 6 битам — это как 64 равновероятных исхода» — 3Blue1Brown

> «Даже все серые — это тоже много информации, потому что слово без этих букв найти трудно» — 3Blue1Brown

> «Наиболее вероятные исходы одновременно являются наименее информативными» — 3Blue1Brown

> «Очевидно, нам нужна лучшая стратегия для эндшпиля» — 3Blue1Brown