Дано распределение символов в сообщении: A:0.5, B:0.3, C:0.2. Вычислите энтропию источника, предложите оптимальный префиксный код (например, по алгоритму Хаффмана), оцените среднюю длину кода и объясните связь между энтропией и предельной сжимаемостью по теореме Шеннона

8 Окт в 11:36
8 +2
0
Ответы
1

1) Энтропия источника HXXX

H = -∑ pxxx log2 pxxx = -0.5⋅log20.5+0.3⋅log20.3+0.2⋅log20.20.5·log2 0.5 + 0.3·log2 0.3 + 0.2·log2 0.20.5log20.5+0.3log20.3+0.2log20.2 = 0.5·1 + 0.3·1.7369656 + 0.2·2.3219281
≈ 0.5 + 0.5210897 + 0.4643856
≈ 1.4855 бит/символ.

ОкруглённоH≈1.4855б/симв.Округлённо H ≈ 1.4855 б/симв.ОкруглённоH1.4855б/симв.

2) Оптимальный префиксный код HuffmanHuffmanHuffman

Построим Хаффмана: объединяем наименьшие вероятности B0.30.30.3 и C0.20.20.2 → узел 0.5, затем с A0.50.50.5.
Код одноизоптимальныхрешенийодно из оптимальных решенийодноизоптимальныхрешений:
A → 0
B → 10
C → 11

Это префиксный код ниодинкоднеявляетсяпрефиксомдругогони один код не является префиксом другогониодинкоднеявляетсяпрефиксомдругого.

3) Средняя длина кода L

L = ∑ pxxx · lxxx = 0.5·1 + 0.3·2 + 0.2·2 = 0.5 + 0.6 + 0.4 = 1.5 бит/символ.

Избыточность: L − H ≈ 1.5 − 1.4855 = 0.0145 бит/символ оченьмалаочень малаоченьмала.

4) Связь с теоремой Шеннона о сжатии безшумовбез шумовбезшумов

Энтропия H — фундаментальный нижний предел средней длины кодирования: для любого удаляемогоудаляемогоудаляемого префиксного или однозначно декодируемого кода справедливо L ≥ H вбитах/символв битах/символвбитах/символ. Для кодов, кодирующих символы по одному, Хаффман даёт оптимальное целочисленное длинавцелыхбитахдлина в целых битахдлинавцелыхбитах решение, и выполняется неравенство
H ≤ L < H + 1.

Теорема о безошибочном кодировании ShannonShannonShannon: кодируя блоки длины n тоестьгруппируяnсимволоввместето есть группируя n символов вместетоестьгруппируяnсимволоввместе и используя оптимальные блоковые схемы или арифметическое кодирование, можно добиться средней длины на символ L_n/n, которая при n → ∞ приближается к H произвольно близко. То есть предел сжимаемости равен H: нельзя в среднем кодировать меньше чем H бит/символ, но можно приближаться к H сколь угодно близко, увеличивая блоки или применяя континуальные методы арифметическоекодирование,энтропийныекодерысучётомисточникаарифметическое кодирование, энтропийные кодеры с учётом источникаарифметическоекодирование,энтропийныекодерысучётомисточника.

Итого: для данного распределения H ≈ 1.4855 б/симв; оптимальный префиксный код ХаффманХаффманХаффман даёт L = 1.5 б/симв, что почти достигает теоретического минимума H.

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