В канале связи алфавит {A,B} вероятности p(A)=0.9, p(B)=0.1. Рассчитайте энтропию источника, предложите простой префиксный код (например, код Хаффмана), оцените среднюю длину кода и объясните практические следствия для сжатия и надёжности передачи при шумном канале

6 Окт в 10:38
13 +1
0
Ответы
1

1) Энтропия источника
p(A)=0.9, p(B)=0.1. Энтропия в битах:
H = −0.9 log2 0.9 − 0.1 log2 0.1
log2 0.9 ≈ −0.152003, log2 0.1 ≈ −3.321928,
поэтому
H ≈ 0.9·0.152003 + 0.1·3.321928 ≈ 0.13680 + 0.33219 ≈ 0.46899 ≈ 0.469 бита/символ.

2) Простой префиксный код (Хаффман)
Для двух символов оптимальным (минимальная средняя длина среди префиксных кодов с целочисленными длинами) будет код длины 1 для каждого: например
A → 0
B → 1
Это префиксный (и одновременно оптимальный для одного символа) код.

Средняя длина такого кода:
L = 0.9·1 + 0.1·1 = 1.0 бита/символ.

Редундантность (избыточность) = L − H ≈ 1.0 − 0.469 ≈ 0.531 бита/символ.

3) Улучшение с помощью блочного кодирования
Если кодировать блоки из n символов и применять Хаффмана или арифметическое кодирование, средняя длина на символ стремится к H при n → ∞. Пример для n=2:
последовательности и их вероятности: AA 0.81, AB 0.09, BA 0.09, BB 0.01.
Хаффман даёт, например, длины {AA:1, BA:2, AB:3, BB:3} ⇒ средняя длина на пару ≈ 1.29 бита ⇒ на символ ≈ 0.645 бита/символ.
Это уже лучше 1.0, но ещё больше H; при больших блоках можно приблизиться к 0.469 б/симв. Практически арифметическое/энтропийное кодирование даёт почти достижение H с небольшими накладными расходами.

4) Практические следствия для сжатия и надёжности в шумном канале

Потенциал сжатия: теоретически можно сжать до ≈0.469 бита/симв. в среднем; с простым однобуквенным кодом мы остаёмся на 1 б/симв, т.е. большая неиспользованная избыточность. Для эффективного сжатия использовать арифметическое кодирование или Хаффман на больших блоках.Надёжность передачи при шуме:
Сжатые данные менее избыточны и более чувствительны к ошибкам каналa: одиночная ошибка в потоке переменной длины может привести к рассинхронизации и к большим разрушениям декодируемого потока.Поэтому при передаче по шумному каналу обычно сначала сжимают, а затем добавляют избыточность для коррекции ошибок (канальное кодирование). Теорема Шеннона: надёжная передача возможна, если ёмкость канала C (бит/канал) > скорость источника (энтропия) H. То есть, чтобы передавать без ошибок при произвольно малой вероятности ошибки, нужно C > 0.469 бита/симв (в соответствующих единицах), иначе нельзя.Альтернативно можно применять схемы с совместным кодированием источника и канала или использовать не полностью сжимающие схемы (оставлять некоторую избыточность) для облегчения выравнивания и обнаружения ошибок.Практические рекомендации:
Для компрессии: применять блочное/арифметическое кодирование, если нужно близко к оптимуму.Для передачи по шумному каналу: после сжатия применять надёжное канал-кодирование (например, LDPC, Turbo-коды) или использовать схему с явным синхронизирующим/защитным маркером, чтобы избежать распада декодирования при возникновении ошибок.При очень неоднородном распределении (как здесь) можно также рассмотреть неравномерную защиту: чаще встречающиеся символы могут требовать меньшей защиты, редкие — большей, в зависимости от критичности ошибок.

Кратко: H ≈ 0.469 б/симв; простой префиксный код даёт L=1 б/симв; блочное/арифметическое кодирование позволяет снизить L ближе к H; но при шумном канале сжатие требует последующего канал-кодирования, иначе надёжность падает.

6 Окт в 11:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир