Теорія інформації — Ентропія Шеннона і межі комунікації
Ентропія Шеннона, пропускна здатність каналу, стиснення даних, корекція помилок та застосування в криптографії й біології.
1. Що таке інформація?
Знакова стаття Клода Шеннона 1948 року «Математична теорія комунікації» створила теорію інформації буквально з нуля. В одній статті Шеннон визначив, що таке інформація, довів фундаментальні межі стиснення й передачі та заклав математичний фреймворк, що лежить в основі кожної цифрової системи зв'язку, яка існує.
Ключова ідея концептуально несподівана: інформація — це про несподіванку, а не про сенс. Достовірна подія не несе жодної інформації — якщо ви вже знаєте, що сонце зійде, повідомлення про те, що воно зійшло, нічого вам не додає. Рідкісна подія несе багато інформації. Це повністю відходить від інтуїтивних уявлень про «змістовний вміст» і замінює їх математично точним поняттям.
Самоінформація (або несподіванка) події з імовірністю p(x) визначається як:
Логарифм за основою 2 дає одиниці бітів — природну одиницю, оскільки чесний бінарний вибір несе рівно 1 біт. Використання основи e дає нати (натуральні одиниці), а основи 10 — гартлі. Усі вони еквівалентні з точністю до постійного множника.
Важлива властивість: інформація адитивна для незалежних подій. Якщо два чесні монети кидаються незалежно, спостереження результату обох дає 2 біти інформації — суму окремих несподіванок. Ця властивість адитивності (завдяки логарифму) робить визначення математично природним і операційно змістовним.
2. Ентропія Шеннона
Тоді як самоінформація характеризує окрему подію, ентропія Шеннона H(X) характеризує всю випадкову величину — це очікувана (середня) самоінформація, що показує середню невизначеність до спостереження результату.
Для чесної монети (p = 0,5 для кожної сторони): H = 1 біт. Для зміщеної монети з p = 0,9 для орла: H ≈ 0,47 біта — менше невизначеності, отже менше середньої інформації на кидок. Ентропія максимізується рівномірним розподілом і дорівнює точно 0, коли результат достовірний. Вона ніколи не може бути від'ємною.
Ключові взаємозв'язки між ентропіями показують, як інформація перетікає між змінними:
- Спільна ентропія H(X,Y): сумарна невизначеність щодо обох змінних разом
- Правило ланцюга: H(X,Y) = H(X) + H(Y|X) — спільна ентропія дорівнює ентропії X плюс залишкова невизначеність щодо Y за відомого X
- Взаємна інформація I(X;Y): зменшення невизначеності щодо X зі знанням Y, або, еквівалентно, скільки X і Y мають спільного
Ентропія також пов'язана з термодинамікою: формула ентропії Больцмана S = k log W має ту саму математичну структуру, що й ентропія Шеннона. Це не збіг — обидві вимірюють кількість розрізнюваних станів або конфігурацій, що лежать в основі спостережуваного макростану.
3. Кодування джерела та стиснення даних
Теорема кодування джерела Шеннона встановлює фундаментальну межу стиснення даних без втрат: неможливо стиснути джерело даних нижче за темп його ентропії H(X) бітів на символ у середньому, але завжди можна наблизитися до цього як завгодно близько. Ентропія — це справжній незвідний інформаційний вміст.
Кодування Гаффмана (1952) — найпростіший оптимальний префіксний код. Алгоритм будує бінарне дерево знизу вгору: повторно об'єднує два найменш імовірні символи в комбінований вузол, призначаючи їм бітові суфікси 0 та 1. Отриманий код призначає коротші бінарні рядки більш імовірним символам.
Приклад із символами A (p=0,5), B (p=0,25), C (p=0,125), D (p=0,125):
- Коди Гаффмана: A =
0, B =10, C =110, D =111 - Середня довжина коду: 0,5×1 + 0,25×2 + 0,125×3 + 0,125×3 = 1,75 біта
- Ентропія: H = 0,5×1 + 0,25×2 + 0,125×3 + 0,125×3 = 1,75 біта — тут точно оптимально
Арифметичне кодування кодує все повідомлення як одне число в [0, 1). Воно підтримує поточний інтервал і звужує його з кожним символом пропорційно до ймовірності символу. На відміну від Гаффмана, воно не обмежене цілобітовими кодовими словами й досягає ентропії точніше, особливо для малих алфавітів або сильно зміщених розподілів.
Lempel-Ziv-Welch (LZW) застосовує інший підхід: стиснення на основі словника, що замінює повторювані шаблони посиланнями на спільний кодову книгу. Воно працює без попереднього знання розподілу джерела (воно універсальне). LZW лежить в основі стиснення зображень GIF, формату ZIP та потоків PDF.
4. Пропускна здатність каналу та корекція помилок
Реальний канал зв'язку вносить шум: перевертання бітів, стирання та завади. Теорема Шеннона про кодування для зашумленого каналу (найглибший результат теорії інформації) стверджує щось надзвичайне: надійний зв'язок можливий за будь-якої швидкості нижче пропускної здатності каналу C, хоч би яким зашумленим був канал, — за умови використання правильного коду, що виправляє помилки. І навпаки, надійний зв'язок неможливий вище C.
Теорема Шеннона-Хартлі дає пропускну здатність для каналу з адитивним білим гаусовим шумом (AWGN):
Ця формула встановлює абсолютні межі того, чого може досягти будь-яка система зв'язку, незалежно від схеми модуляції чи обробки сигналу. Єдині важелі — смуга пропускання та потужність сигналу.
Коди, що виправляють помилки, додають контрольовану надлишковість, щоб приймачі могли виявляти й виправляти помилки:
- Коди Гаммінга: перші практичні коди, що виправляють помилки (1950). Вони можуть виявляти 2-бітові помилки й виправляти 1-бітові за допомогою мінімальної відстані Гаммінга 3 між кодовими словами. Досі використовуються в ECC-модулях (з корекцією помилок) серверної пам'яті.
- Коди Ріда-Соломона: поліноміальні коди, що чудово виправляють пакетні помилки (кілька послідовних бітових помилок). Використовуються в CD, DVD, QR-кодах та глибокому космічному зв'язку (зонди «Вояджер»). Подряпаний CD може втратити сантиметри даних і все одно програватися коректно.
- Турбо-коди та коди LDPC (з розрідженою перевіркою парності): ітеративні алгоритми декодування, що наближаються до межі Шеннона з точністю до 0,1 дБ. Турбо-коди використовуються в 4G LTE; LDPC-коди живлять 5G NR та Wi-Fi 6.
Застосування теорії інформації виходять далеко за межі зв'язку:
- Зберігання даних у ДНК: чотирилітерний алфавіт (A, T, G, C) теоретично дає 2 біти на основу; на практиці помилки біологічного синтезу/секвенування вимагають спеціалізованих кодів. Дослідники зберігали гігабайти даних у синтетичній ДНК за допомогою кодових книг, розроблених на засадах теорії інформації.
- Квантова корекція помилок: квантові біти (кубіти) декогерентизуються через шум середовища; квантові коди корекції помилок (як-от поверхневий код) захищають логічні кубіти від фізичних помилок, уможливлюючи відмовостійкі квантові обчислення.
- Криптографія: Шеннон довів, що одноразовий блокнот досягає ідеальної таємності — зловмисник не дізнається нічого про відкритий текст — коли ключ справді випадковий і має ентропію принаймні рівну ентропії повідомлення. Усе симетричне шифрування прагне наблизитися до цього ідеалу.
Досліджуйте симуляції алгоритмів
Побачте стиснення даних, сортування та алгоритми пошуку, візуалізовані в реальному часі.