Объясните понятие энтропии Шеннона и взаимной информации на примере передачи текстовых сообщений через шумный канал; как эти величины задают теоретические пределы сжатия и коррекции ошибок?
Энтропия Шеннона и взаимная информация — ключевые величины теории информации, задающие пределы сжатия и коррекции ошибок при передаче текстовых сообщений через шумный канал. Что такое энтропия - Определение: для дискретного источника символов XXX с распределением p(x)p(x)p(x)H(X)=−∑xp(x)log2p(x).
H(X) = -\sum_x p(x)\log_2 p(x). H(X)=−x∑p(x)log2p(x).
Интерпретация: среднее количество бит «неопределённости» или «сюрприза» на символ. - Последствия для сжатия: - Верхняя теоретическая граница сжатия без потерь — не меньше H(X)H(X)H(X) бит в среднем на символ. - Для префиксного кода выполняется H(X)≤E[L]<H(X)+1,
H(X)\le \mathbb{E}[L] < H(X)+1, H(X)≤E[L]<H(X)+1,
где E[L]\mathbb{E}[L]E[L] — средняя длина кода (в битах). - Асимптотически для блоков длины nnn типичное множество содержит примерно 2nH(X)2^{nH(X)}2nH(X) последовательностей (AEP), поэтому можно кодировать блоки кодуя только «типичные» последовательности и достигать средней длины близкой к H(X)H(X)H(X). Пример для текста: алфавит из 26 букв даёт максимум log226≈4.7\log_2 26\approx 4.7log226≈4.7 бит/символ для равномерного распределения, но естественный язык избыточен, и при учёте контекста истинная энтропия на символ может быть заметно меньше (оценки для английского текста с учётом контекста — порядка единиц бит/символ). Взаимная информация - Определение для входа XXX и выхода канала YYY: I(X;Y)=∑x,yp(x,y)log2p(x,y)p(x)p(y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X).
I(X;Y)=\sum_{x,y} p(x,y)\log_2\frac{p(x,y)}{p(x)p(y)} =H(X)-H(X|Y)=H(Y)-H(Y|X). I(X;Y)=x,y∑p(x,y)log2p(x)p(y)p(x,y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X).
Интерпретация: среднее число бит информации о XXX, которые даёт наблюдение YYY. Уменьшает неопределённость: H(X∣Y)=H(X)−I(X;Y)H(X|Y)=H(X)-I(X;Y)H(X∣Y)=H(X)−I(X;Y). - Для шумного канала: если канал задан условными вероятностями p(y∣x)p(y|x)p(y∣x), то при выборе распределения входа p(x)p(x)p(x) взаимная информация на один прогон равна I(X;Y)I(X;Y)I(X;Y). Максимум по p(x)p(x)p(x) даёт пропускную способность (ёмкость) канала: C=maxp(x)I(X;Y).
C=\max_{p(x)} I(X;Y). C=p(x)maxI(X;Y). Пример (бинарный симметричный канал, BSC): - Канал, где бит переворачивается с вероятностью ppp. Для равномерного входа I(X;Y)=1−Hb(p),
I(X;Y)=1-H_b(p), I(X;Y)=1−Hb(p),
где бинарная энтропия Hb(p)=−plog2p−(1−p)log2(1−p)H_b(p)=-p\log_2 p-(1-p)\log_2(1-p)Hb(p)=−plog2p−(1−p)log2(1−p). Следовательно C=1−Hb(p).
C=1-H_b(p). C=1−Hb(p).
Если p=0.1p=0.1p=0.1, то C≈1−Hb(0.1)≈1−0.468≈0.532C\approx 1-H_b(0.1)\approx 1-0.468\approx 0.532C≈1−Hb(0.1)≈1−0.468≈0.532 бита на использование канала. Теоретические пределы передачи и коррекции ошибок - Теорема кодирования источника (Шеннон): можно сжимать источник до близко к H(X)H(X)H(X) бит/символ без потерь (асимптотически), но не ниже. - Теорема о пропускной способности (noisy-channel coding theorem): для любого количества каналных использований можно надежно (с произвольно малой вероятностью ошибки) передавать информацию со скоростью RRR бит/использование тогда и только тогда, когда R<CR<CR<C. Если R>CR>CR>C, вероятность ошибки не может стремиться к нулю. - Следствие (разделимость): асимптотически оптимальную схему можно строить раздельно — сначала сжать до близко H(X)H(X)H(X) бит/символ, затем применить код коррекции ошибок с кодовой скоростью RRR не превышающей CCC. Для однопроходного соответствия символов и использований канала требуется H(X)≤C
H(X)\le C H(X)≤C
(или в общем на nnn символов: требуется не менее nH(X)/CnH(X)/CnH(X)/C использований канала). - Остаточная неопределённость и нижние оценки ошибок: условная энтропия H(X∣Y)H(X|Y)H(X∣Y) — это «эквивокация» (сколько остаётся неизвестного после приёма). Fano даёт связь между H(X∣Y)H(X|Y)H(X∣Y) и вероятностью ошибки PeP_ePe: H(X∣Y)≤H(Pe)+Pelog2(∣X∣−1),
H(X|Y)\le H(P_e)+P_e\log_2(|\mathcal X|-1), H(X∣Y)≤H(Pe)+Pelog2(∣X∣−1),
что ограничивает минимально достижимую ошибку при данном I(X;Y)=H(X)−H(X∣Y)I(X;Y)=H(X)-H(X|Y)I(X;Y)=H(X)−H(X∣Y). Короткий практический вывод - Энтропия H(X)H(X)H(X) определяет, насколько можно сжать текст без потерь. - Взаимная информация I(X;Y)I(X;Y)I(X;Y) и её максимум CCC определяют, сколько бит полезной информации канал способен передать на использование; если после сжатия требуемая скорость превышает CCC, надёжная передача невозможна. - Для конкретного шумного канала (например, BSC) формулы дают численные пределы для сжатия и кодирования ошибок.
Что такое энтропия
- Определение: для дискретного источника символов XXX с распределением p(x)p(x)p(x) H(X)=−∑xp(x)log2p(x). H(X) = -\sum_x p(x)\log_2 p(x).
H(X)=−x∑ p(x)log2 p(x). Интерпретация: среднее количество бит «неопределённости» или «сюрприза» на символ.
- Последствия для сжатия:
- Верхняя теоретическая граница сжатия без потерь — не меньше H(X)H(X)H(X) бит в среднем на символ.
- Для префиксного кода выполняется
H(X)≤E[L]<H(X)+1, H(X)\le \mathbb{E}[L] < H(X)+1,
H(X)≤E[L]<H(X)+1, где E[L]\mathbb{E}[L]E[L] — средняя длина кода (в битах).
- Асимптотически для блоков длины nnn типичное множество содержит примерно 2nH(X)2^{nH(X)}2nH(X) последовательностей (AEP), поэтому можно кодировать блоки кодуя только «типичные» последовательности и достигать средней длины близкой к H(X)H(X)H(X).
Пример для текста: алфавит из 26 букв даёт максимум log226≈4.7\log_2 26\approx 4.7log2 26≈4.7 бит/символ для равномерного распределения, но естественный язык избыточен, и при учёте контекста истинная энтропия на символ может быть заметно меньше (оценки для английского текста с учётом контекста — порядка единиц бит/символ).
Взаимная информация
- Определение для входа XXX и выхода канала YYY:
I(X;Y)=∑x,yp(x,y)log2p(x,y)p(x)p(y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X). I(X;Y)=\sum_{x,y} p(x,y)\log_2\frac{p(x,y)}{p(x)p(y)}
=H(X)-H(X|Y)=H(Y)-H(Y|X).
I(X;Y)=x,y∑ p(x,y)log2 p(x)p(y)p(x,y) =H(X)−H(X∣Y)=H(Y)−H(Y∣X). Интерпретация: среднее число бит информации о XXX, которые даёт наблюдение YYY. Уменьшает неопределённость: H(X∣Y)=H(X)−I(X;Y)H(X|Y)=H(X)-I(X;Y)H(X∣Y)=H(X)−I(X;Y).
- Для шумного канала: если канал задан условными вероятностями p(y∣x)p(y|x)p(y∣x), то при выборе распределения входа p(x)p(x)p(x) взаимная информация на один прогон равна I(X;Y)I(X;Y)I(X;Y). Максимум по p(x)p(x)p(x) даёт пропускную способность (ёмкость) канала:
C=maxp(x)I(X;Y). C=\max_{p(x)} I(X;Y).
C=p(x)max I(X;Y).
Пример (бинарный симметричный канал, BSC):
- Канал, где бит переворачивается с вероятностью ppp. Для равномерного входа
I(X;Y)=1−Hb(p), I(X;Y)=1-H_b(p),
I(X;Y)=1−Hb (p), где бинарная энтропия Hb(p)=−plog2p−(1−p)log2(1−p)H_b(p)=-p\log_2 p-(1-p)\log_2(1-p)Hb (p)=−plog2 p−(1−p)log2 (1−p). Следовательно
C=1−Hb(p). C=1-H_b(p).
C=1−Hb (p). Если p=0.1p=0.1p=0.1, то C≈1−Hb(0.1)≈1−0.468≈0.532C\approx 1-H_b(0.1)\approx 1-0.468\approx 0.532C≈1−Hb (0.1)≈1−0.468≈0.532 бита на использование канала.
Теоретические пределы передачи и коррекции ошибок
- Теорема кодирования источника (Шеннон): можно сжимать источник до близко к H(X)H(X)H(X) бит/символ без потерь (асимптотически), но не ниже.
- Теорема о пропускной способности (noisy-channel coding theorem): для любого количества каналных использований можно надежно (с произвольно малой вероятностью ошибки) передавать информацию со скоростью RRR бит/использование тогда и только тогда, когда R<CR<CR<C. Если R>CR>CR>C, вероятность ошибки не может стремиться к нулю.
- Следствие (разделимость): асимптотически оптимальную схему можно строить раздельно — сначала сжать до близко H(X)H(X)H(X) бит/символ, затем применить код коррекции ошибок с кодовой скоростью RRR не превышающей CCC. Для однопроходного соответствия символов и использований канала требуется
H(X)≤C H(X)\le C
H(X)≤C (или в общем на nnn символов: требуется не менее nH(X)/CnH(X)/CnH(X)/C использований канала).
- Остаточная неопределённость и нижние оценки ошибок: условная энтропия H(X∣Y)H(X|Y)H(X∣Y) — это «эквивокация» (сколько остаётся неизвестного после приёма). Fano даёт связь между H(X∣Y)H(X|Y)H(X∣Y) и вероятностью ошибки PeP_ePe :
H(X∣Y)≤H(Pe)+Pelog2(∣X∣−1), H(X|Y)\le H(P_e)+P_e\log_2(|\mathcal X|-1),
H(X∣Y)≤H(Pe )+Pe log2 (∣X∣−1), что ограничивает минимально достижимую ошибку при данном I(X;Y)=H(X)−H(X∣Y)I(X;Y)=H(X)-H(X|Y)I(X;Y)=H(X)−H(X∣Y).
Короткий практический вывод
- Энтропия H(X)H(X)H(X) определяет, насколько можно сжать текст без потерь.
- Взаимная информация I(X;Y)I(X;Y)I(X;Y) и её максимум CCC определяют, сколько бит полезной информации канал способен передать на использование; если после сжатия требуемая скорость превышает CCC, надёжная передача невозможна.
- Для конкретного шумного канала (например, BSC) формулы дают численные пределы для сжатия и кодирования ошибок.