Хартли против Шеннона
Разбираемся, какую формулу выбирать на экзамене и почему обе — части одной картины.
Формула Хартли $i=\log_2 N$ работает только при равновероятных исходах; формула Шеннона $i=-\log_2 p$ (и энтропия $H=-\sum p_i\log_2 p_i$) охватывает любой случай, а Хартли становится её частным случаем.
Два предыдущих урока дали два инструмента. Главная практическая задача — не перепутать их на экзамене. Ошибка с выбором формулы — самая частая на этой теме. Разложим всё по полочкам и соберём единый взгляд.
Зачем это нужно
В заданиях ЕГЭ и ОГЭ вероятностный блок встречается регулярно, и формулировки маскируют, какой подход требуется. «В корзине 32 яблока» — это равновероятный случай (Хартли). «Красных шаров вдвое больше, чем синих» — уже неравновероятный (Шеннон). Умение за пару секунд распознать тип задачи экономит время и спасает от грубых ошибок.
Единый взгляд
Обе формулы — об одном и том же, просто с разных сторон. Начнём с информации одного исхода:
$$ i = -\log_2 p $$
Если все $N$ исходов равновероятны, то $p=\tfrac{1}{N}$, и формула сворачивается в Хартли:
$$ i = -\log_2 \frac{1}{N} = \log_2 N $$
А если усреднить информацию по всем исходам источника, получим энтропию:
$$ H = -\sum_{i=1}^{N} p_i \log_2 p_i $$
и при равновероятности она снова даёт $\log_2 N$. Иерархия такая: Шеннон — общий случай, Хартли — его частный случай при равных вероятностях.
Как выбрать формулу: чек-лист
| Что в условии | Какой подход | Формула |
|---|---|---|
| Все исходы равновозможны (кубик, карты, лотерея) | Хартли | $i=\log_2 N$ |
| Дана вероятность одного события | Шеннон (один исход) | $i=-\log_2 p$ |
| Разные частоты символов, нужна средняя информация | Шеннон (энтропия) | $H=-\sum p_i\log_2 p_i$ |
| Дано количество информации, найти $N$ или $p$ | обратные формулы | $N=2^{i}$ или $p=2^{-i}$ |
Разбор задач
Задача 1 (Хартли)
В непрозрачном мешке лежат 32 одинаковых на ощупь шара. Какое количество информации несёт сообщение о том, какой шар вынули?
Исходы равновероятны, $N=32$. Применяем Хартли:
$$ i = \log_2 32 = 5 \ \text{бит} $$
Ответ: 5 бит.
Задача 2 (Шеннон, один исход)
В классе 30 человек, из них 6 отличников. Учитель наугад вызвал одного ученика, и им оказался отличник. Сколько информации в этом сообщении?
Вероятность вызвать отличника $p=\tfrac{6}{30}=0{,}2$. Применяем формулу Шеннона:
$$ i = -\log_2 0{,}2 \approx 2{,}322 \ \text{бит} $$
Здесь Хартли применять нельзя: «отличник» и «не отличник» неравновероятны.
Задача 3 (энтропия)
Источник выдаёт символы X, Y, Z с вероятностями $0{,}5$, $0{,}3$ и $0{,}2$. Найти среднюю информацию на символ.
Это энтропия. Посчитаем на Python — вручную логарифмы недробных вероятностей считать неудобно.
import math
probs = [0.5, 0.3, 0.2]
assert abs(sum(probs) - 1) < 1e-9 # проверяем нормировку
H = -sum(p * math.log2(p) for p in probs)
print(f"Энтропия: {H:.4f} бит/символ")
print(f"Максимум для 3 символов: {math.log2(3):.4f} бит/символ")
Вывод:
Энтропия: 1.4855 бит/символ Максимум для 3 символов: 1.5850 бит/символ
Энтропия $1{,}4855$ бита оказалась чуть ниже максимума $\log_2 3 \approx 1{,}585$ — как и должно быть для неравновероятного источника.
Задача 4 (обратная)
Сообщение о вынутой из колоды карте несёт ровно 5 бит информации. Сколько карт в колоде, если все карты равновероятны?
Обращаем формулу Хартли: $N=2^{i}=2^{5}=32$. В колоде 32 карты.
Как это работает
Почему так важно проверять равновероятность? Потому что Хартли неявно предполагает её. Если в мешке 30 шаров, но 24 красных и 6 синих, то «вынуть красный» и «вынуть синий» — события с разной вероятностью, и формула $\log_2 2$ (по числу цветов) дала бы неверный 1 бит. Правильно считать через вероятности конкретного цвета: для синего $p=0{,}2$, информация $-\log_2 0{,}2 \approx 2{,}32$ бита, а для красного $p=0{,}8$, информация $-\log_2 0{,}8 \approx 0{,}32$ бита. Среднее (энтропия) этого источника:
$$ H = -0{,}8\log_2 0{,}8 - 0{,}2\log_2 0{,}2 \approx 0{,}722 \ \text{бит} $$
Это заметно меньше 1 бита, который ошибочно дала бы наивная «Хартли по цветам». Вот цена путаницы подходов.
Частые ошибки
- Применять Хартли к неравновероятным событиям — самая частая ошибка. Сначала проверь, равновозможны ли исходы.
- Считать $\log_2 N$ по числу типов (цветов, категорий), забывая, что их количества разные. Считать надо по вероятности конкретного исхода.
- В энтропии брать число символов $N$ вместо суммы по вероятностям $\sum p_i\log_2 p_i$.
- Терять минус в формуле Шеннона и получать отрицательную информацию.
- Округлять слишком грубо. $\log_2 0{,}2$ — это $\approx 2{,}322$, а не «примерно 2».
Итоги
- Хартли $i=\log_2 N$ — только для равновероятных исходов; это частный случай Шеннона.
- Шеннон $i=-\log_2 p$ — информация одного исхода при любой вероятности.
- Энтропия $H=-\sum p_i\log_2 p_i$ — средняя информация на символ источника.
- Обратные формулы: $N=2^{i}$ (равновероятно) и $p=2^{-i}$ (один исход).
- Алгоритм выбора: равновозможно → Хартли; дана вероятность → Шеннон; разные частоты, нужно среднее → энтропия.