Дана дискретная распределённая по символам алфавита A: P(a)=0.5, P(b)=0.25, P(c)=0.25. Вычислите энтропию источника, минимальную среднюю длину кодового слова по неограниченному префиксному коду и оцените пропускную способность канала с шумом, задаваемым вероятностью инверсии бита p; обсудите влияние корреляций между символами на сжатие
2) Минимальная средняя длина кода при неограниченном префиксном (двоичном) коде По неравенству Шеннона–Крафта для префиксных кодов H ≤ L < H+1. Здесь распределение является «диадическим» (вероятности = степени 1/2), поэтому оптимальный Хаффманов код даёт точное совпадение H и средняя длина: пример Хаффмана: a — код длины 1, b и c — коды длины 2 ⇒ L = 0.5·1 + 0.25·2 + 0.25·2 = 1.5 бит/символ. То есть минимальная средняя длина = 1.5 б/симв = H.
3) Пропускная способность канала с инверсией бита p (BSC) Для двоичного симметричного канала с вероятностью ошибки p пропускная способность C = 1 − H2(p) (бит/канал. использование), где H2(p) = −p log2 p − (1−p) log2(1−p) — биномиальная (битовая) энтропия. Пример: при p = 0.1 H2(0.1) ≈ 0.469 ⇒ C ≈ 0.531 бит/использование.
Чтобы передать источник с энтропией H через канал с пропускной способностью C без потерь в пределе больших блоков, нужно в среднем не менее H/C использований канала на символ. Для наших H = 1.5: число использований ≥ 1.5 / (1 − H2(p)). При p = 0 (без шума) C = 1 ⇒ ≥ 1.5 использований/символ (т.е. в среднем 1.5 бит/симв, как и кодирование). При p > 0 потребуется больше использований (и канал-кодирование).
4) Влияние корреляций между символами на сжатие
Если символы независимы (iid), минимальная средняя длина равна энтропии одного символа H(X). При наличии корреляций (марковские или более общие зависимости) важна энтропия на символ в пределе (энтропийная скорость) H̄ = lim (1/n) H(X1..Xn). Корреляции обычно снижают энтропийную скорость по сравнению с энтропией одного символа при снятии условной неопределённости, то есть дают возможность дополнительно сжимать (пример: предсказание следующего символа по предыдущим уменьшает неопределённость).Практически это реализуется контекстными моделями, арифметическим/ентропийным кодированием, LZ‑алгоритмами и т.д.: при учёте длинных контекстов средняя длина на символ стремится к H̄.Корреляции источника не меняют пропускную способность канала (C — свойство канала), но влияют на требуемый кодовый/канальный коэффициент: чем ниже H̄, тем меньше канал-ресурсов нужно для безошибочной передачи (H̄/C использований/символ).
Выводы:
H = Lmin = 1.5 бит/симв для данного распределения.Канальная пропускная способность BSC: C = 1 − H2(p); число канал.исп. на символ ≥ 1.5/C.Корреляции между символами дают дополнительную возможность сжатия за счёт уменьшения энтропийной скорости; нейтральны для величины C.
Кратко и по пунктам.
1) Энтропия источника
H = −∑ p(x) log2 p(x) = −[0.5·log2 0.5 + 0.25·log2 0.25 + 0.25·log2 0.25]
= 0.5·1 + 0.25·2 + 0.25·2 = 1.5 бит/символ.
2) Минимальная средняя длина кода при неограниченном префиксном (двоичном) коде
По неравенству Шеннона–Крафта для префиксных кодов H ≤ L < H+1. Здесь распределение является «диадическим» (вероятности = степени 1/2), поэтому оптимальный Хаффманов код даёт точное совпадение H и средняя длина:
пример Хаффмана: a — код длины 1, b и c — коды длины 2 ⇒
L = 0.5·1 + 0.25·2 + 0.25·2 = 1.5 бит/символ.
То есть минимальная средняя длина = 1.5 б/симв = H.
3) Пропускная способность канала с инверсией бита p (BSC)
Для двоичного симметричного канала с вероятностью ошибки p пропускная способность
C = 1 − H2(p) (бит/канал. использование),
где H2(p) = −p log2 p − (1−p) log2(1−p) — биномиальная (битовая) энтропия.
Пример: при p = 0.1 H2(0.1) ≈ 0.469 ⇒ C ≈ 0.531 бит/использование.
Чтобы передать источник с энтропией H через канал с пропускной способностью C без потерь в пределе больших блоков, нужно в среднем не менее H/C использований канала на символ. Для наших H = 1.5:
число использований ≥ 1.5 / (1 − H2(p)).
При p = 0 (без шума) C = 1 ⇒ ≥ 1.5 использований/символ (т.е. в среднем 1.5 бит/симв, как и кодирование). При p > 0 потребуется больше использований (и канал-кодирование).
4) Влияние корреляций между символами на сжатие
Если символы независимы (iid), минимальная средняя длина равна энтропии одного символа H(X). При наличии корреляций (марковские или более общие зависимости) важна энтропия на символ в пределе (энтропийная скорость) H̄ = lim (1/n) H(X1..Xn). Корреляции обычно снижают энтропийную скорость по сравнению с энтропией одного символа при снятии условной неопределённости, то есть дают возможность дополнительно сжимать (пример: предсказание следующего символа по предыдущим уменьшает неопределённость).Практически это реализуется контекстными моделями, арифметическим/ентропийным кодированием, LZ‑алгоритмами и т.д.: при учёте длинных контекстов средняя длина на символ стремится к H̄.Корреляции источника не меняют пропускную способность канала (C — свойство канала), но влияют на требуемый кодовый/канальный коэффициент: чем ниже H̄, тем меньше канал-ресурсов нужно для безошибочной передачи (H̄/C использований/символ).Выводы:
H = Lmin = 1.5 бит/симв для данного распределения.Канальная пропускная способность BSC: C = 1 − H2(p); число канал.исп. на символ ≥ 1.5/C.Корреляции между символами дают дополнительную возможность сжатия за счёт уменьшения энтропийной скорости; нейтральны для величины C.