Хартли против Шеннона

Разбираемся, какую формулу выбирать на экзамене и почему обе — части одной картины.

Формула Хартли $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}$ (один исход).
  • Алгоритм выбора: равновозможно → Хартли; дана вероятность → Шеннон; разные частоты, нужно среднее → энтропия.
Проверьте себя
1. В мешке 25 одинаковых на ощупь шаров. Какое количество информации несёт сообщение о номере вынутого шара?
Alog₂ 25 ≈ 4,64 бита
B25 бит
C5 бит
D1/25 бита
2. В классе 40 учеников, 10 из них носят очки. Наугад выбрали ученика — он оказался в очках. Сколько информации в этом сообщении?
Alog₂ 40 ≈ 5,32 бита
B−log₂ 0,25 = 2 бита
C1 бит, ведь варианта два: очки или нет
D10 бит