Энтропия Шеннона: измерение информационного содержания

simulation intermediate ~10 min
Загрузка симуляции...

Формула

H = -\sum_{i=1}^{N} p_i \cdot \log_2(p_i)
H_{\max} = \log_2(N)
\text{Redundancy} = 1 - \frac{H}{H_{\max}}
H \leq \bar{L} < H + 1 \quad \text{(Huffman bound)}
В 1948 году Клод Шеннон задал обманчиво простой вопрос: как измерить информацию? Его ответ — энтропия — стал фундаментом цифровой эпохи. Энтропия Шеннона H = −Σ p_i·log₂(p_i) измеряет среднюю «неожиданность» сообщения. Подбрасывание честной монеты несёт ровно 1 бит энтропии: каждый исход одинаково неожидан. Смещённая монета с 90% орлов несёт лишь 0,47 бит на подбрасывание — результат в основном предсказуем, и каждый бросок передаёт меньше информации. Ключевое прозрение состоит в том, что информация фундаментально связана с неопределённостью. Сообщение, которое сообщает то, что вы уже знали, не несёт информации. Сообщение, разрешающее подлинную неопределённость, несёт максимум информации. Энтропия точно это количественно определяет. Для источника с N равновероятными символами энтропия достигает максимума log₂(N) бит. Любое отклонение от равномерности снижает энтропию. Английский текст с его неравномерными частотами букв (E встречается в 13% случаев, Z — лишь в 0,07%) имеет энтропию значительно ниже теоретического максимума — и именно поэтому английский текст поддаётся сжатию. Этот симулятор позволяет создавать произвольные распределения вероятностей и наблюдать, как реагирует энтропия. Следите, как концентрация вероятности на меньшем числе символов снижает энтропию, увеличивает избыточность и изменяет оптимальные длины кодов, присвоенных кодированием Хаффмана. Поток символов внизу делает абстрактное конкретным: источники с высокой энтропией выглядят случайными, тогда как источники с низкой энтропией демонстрируют видимые закономерности.

Частые вопросы

Что такое энтропия Шеннона?

Энтропия Шеннона — математическая мера среднего информационного содержания (или неопределённости) источника сообщений. Определяется как H = −Σ p_i·log₂(p_i), где p_i — вероятность каждого символа, и показывает минимальное число бит, необходимое для кодирования одного символа. Клод Шеннон ввёл её в статье 1948 года «Математическая теория связи», основав область теории информации.

Почему энтропия измеряется в битах?

Использование логарифма по основанию 2 даёт энтропию в битах, поскольку каждый бит представляет двоичный выбор. Один бит разрешает неопределённость подбрасывания честной монеты. Формулировка через log₂ напрямую показывает минимальное число двоичных разрядов для кодирования каждого символа. Натуральные логарифмы дают энтропию в «натах», что используется в физике и машинном обучении.

Какова связь между энтропией и сжатием данных?

Теорема Шеннона о кодировании источника доказывает, что ни один алгоритм сжатия без потерь не может сжать данные ниже H бит на символ в среднем. Кодирование Хаффмана и арифметическое кодирование приближаются к этому теоретическому пределу. Разница между несжатым размером и H·N (где N — длина сообщения) представляет максимально достижимое сжатие.

Какова энтропия английского текста?

Энтропия английского текста составляет приблизительно 4,7 бит на символ при учёте частот отдельных букв, но снижается до 1,0–1,5 бит при учёте структуры слов, грамматики и контекста. Шеннон оценил это через эксперименты, где люди предсказывали следующий символ. Максимум для 26 букв составляет log₂(26) ≈ 4,7 бит, так что английский использует примерно 25% своей теоретической ёмкости.

Источники

View source on GitHub