1. Введение: Что такое информация?
Слово «информация», которое мы произносим каждый день, очень трудно определить с научной точки зрения. Новости, сообщения от друзей, последовательность оснований ДНК или радиоволны из космоса — все это содержит информацию. Однако, чтобы работать с ними математически в общих рамках, необходим объективный и количественный показатель.
Человек, который взялся за эту грандиозную задачу и заложил основу современного цифрового общества, — математик и инженер Клод Шеннон (Claude Shannon). Не будет преувеличением сказать, что его статья 1948 года «Математическая теория связи» (A Mathematical Theory of Communication) в одиночку создала совершенно новую дисциплину — теорию информации (Information Theory).
В этой статье мы подробно рассмотрим, как Шеннон математически определил «информацию», и какое значение имеет ее центральная концепция, энтропия Шеннона, для технологий сжатия данных и связи.
2. Общая модель коммуникации
Шеннон на время отделил значение (семантику) информации и сосредоточился на самой «передаче» информации. Предложенная им общая модель системы связи представлена на диаграмме Mermaid ниже.
graph LR
A["Источник информации<br>Information Source"] --> B["Передатчик<br>Transmitter"]
B -->|"Передаваемый сигнал"| C(("Канал связи<br>Channel"))
C -->|"Принимаемый сигнал"| D["Приемник<br>Receiver"]
D --> E["Адресат<br>Destination"]
N["Источник шума<br>Noise Source"] -.-> C
В этой модели главная проблема коммуникации сводится к следующему: «Как точно и эффективно передать сообщение через канал связи с наличием шума?»
3. Математическое определение количества информации
Самый фундаментальный вопрос в теории информации: «Когда мы узнаем, что произошло определенное событие, сколько информации мы получаем?»
Шеннон рассматривал количество информации как «степень удивления».
- Когда происходит частое событие (событие с высокой вероятностью), удивление невелико, и получаемое количество информации мало.
- Когда происходит редкое событие (событие с низкой вероятностью), удивление велико, и получаемое количество информации велико.
Пусть вероятность наступления события $ x $ равна $ P(x) $, тогда собственная информация (Self-Information) $ I(x) $, содержащаяся в этом событии, определяется следующим образом:
$$ I(x) = - \log_2 P(x) = \log_2 \frac{1}{P(x)} $$Если в качестве основания логарифма используется $ 2 $, единицей измерения количества информации является бит (bit). Например, количество информации события выпадения орла при подбрасывании монеты с равной вероятностью выпадения орла и решки ($ P = 0.5 $) равно:
$$ I(\text{Орел}) = - \log_2(0.5) = 1 \text{ bit} $$Это совпадает с интуитивным пониманием «1 бита информации».
4. Энтропия Шеннона
Собственная информация — это количество информации для отдельного события, но как узнать, сколько информации в среднем генерируется всем источником информации?
Здесь появляется энтропия (Entropy). Когда источник информации $ X $ генерирует $ n $ различных символов $ x_1, x_2, \dots, x_n $ с вероятностями $ P(x_1), P(x_2), \dots, P(x_n) $, энтропия $ H(X) $ источника информации $ X $ определяется как математическое ожидание собственной информации.
$$ H(X) = - \sum_{i=1}^{n} P(x_i) \log_2 P(x_i) $$(Однако, в случае $ P(x_i) = 0 $ считается, что $ 0 \log_2 0 = 0 $)
Интуитивное значение энтропии
Энтропия $ H(X) $ представляет собой степень неопределенности, которой обладает источник информации.
- Когда совершенно невозможно предсказать, какой символ появится (все вероятности равны), энтропия достигает максимума.
- Когда всегда появляется один и тот же символ (вероятность одного равна $ 1 $, а остальных $ 0 $), неопределенность исчезает, и энтропия равна $ 0 $.
Давайте вычислим изменение энтропии при изменении вероятности выпадения орла $ p $, используя следующий код на Python.
| |
Построив этот график, мы увидим, что при $ p = 0.5 $ энтропия достигает своего максимального значения $ 1 $, что указывает на состояние полной непредсказуемости.
5. Теорема кодирования источника: пределы сжатия данных
Энтропия — это не просто абстрактная концепция. Шеннон доказал, что эта энтропия определяет абсолютный предел сжатия данных. Это теорема кодирования источника (первая теорема Шеннона).
Утверждение теоремы очень простое: «Какой бы алгоритм сжатия без потерь ни использовался, средняя длина кода данных, генерируемых источником информации, не может быть меньше энтропии $ H(X) $ этого источника.»
$$ L \ge H(X) $$( $ L $ — средняя длина кода)
Другими словами, энтропия указывает на «существенный размер самой информации», и это означает, что математически невозможно сжать данные за пределами этого барьера, независимо от того, насколько хороши алгоритмы ZIP или gzip.
Код Хаффмана (Huffman Coding)
В качестве конкретного метода приближения к пределу энтропии Дэвид Хаффман, развивая идеи Фано, коллеги Шеннона, разработал код Хаффмана.
Присваивая короткие битовые последовательности часто встречающимся символам и длинные битовые последовательности редко встречающимся символам, минимизируется общая средняя длина кода. Ниже приведен пример простого построения кода Хаффмана на Python.
| |
6. Теорема кодирования канала: пределы безошибочной связи
Продемонстрировав пределы сжатия данных, Шеннон затем взялся за «канал связи с шумом». При наличии шума некоторые данные инвертируются или теряются. Чтобы справиться с этим, мы добавляем к данным избыточность, чтобы можно было исправлять ошибки (коды с исправлением ошибок).
Однако, чем больше избыточности мы добавляем, тем ниже становится фактическая скорость (rate) передаваемой информации. Так с какой скоростью и насколько точно мы можем передавать информацию в условиях шума?
Ответом на этот вопрос является теорема кодирования канала (вторая теорема Шеннона).
Шеннон доказал, что канал связи имеет свою собственную пропускную способность канала (Channel Capacity) $ C $. И удивительно, он утверждал следующее:
«Если скорость передачи информации $ R $ меньше пропускной способности канала $ C $ ( $ R < C $ ), то при соответствующем кодировании вероятность ошибки можно сделать сколь угодно близкой к нулю.»
Типичной формулой для вычисления пропускной способности канала $ C $ является теорема Шеннона-Хартли для канала с аддитивным белым гауссовым шумом (AWGN).
$$ C = B \log_2 \left( 1 + \frac{S}{N} \right) $$Где:
- $ C $ : Пропускная способность канала (bits per second)
- $ B $ : Пропускная способность (Hz)
- $ S $ : Мощность сигнала (Watt)
- $ N $ : Мощность шума (Watt)
- $ \frac{S}{N} $ : Отношение сигнал/шум (Signal-to-Noise Ratio)
Эта теорема служит ориентиром, показывающим достижимый теоретический предел (предел Шеннона) в проектировании всех цифровых систем связи, таких как современный Wi-Fi, мобильная связь 5G и спутниковая связь.
7. Заключение
Теория информации, созданная Клодом Шенноном, математически строго определила нематериальную вещь под названием «информация» и открыла дверь в цифровую эпоху. Энтропия Шеннона — это не просто абстрактное понятие, она показывает абсолютный предел алгоритмов сжатия данных, а пропускная способность канала определила направление эволюции Интернета и беспроводной связи, которыми мы пользуемся каждый день.
Мы можем транслировать видео на наших смартфонах и получать четкие изображения космоса от далеких зондов, потому что существует прочная математическая основа, называемая теорией информации. Концепция энтропии продолжает распространяться на более широкие области, например, обсуждается ее связь с термодинамической энтропией в физике и она играет важную роль в машинном обучении (например, потери перекрестной энтропии).
Глубокое понимание природы данных и знание их пределов по-прежнему будут оставаться самым важным подходом при проектировании более совершенных систем информационных коммуникаций будущего.
