Дано распределение символов в сообщении: A:0.5, B:0.3, C:0.2. Вычислите энтропию источника, предложите оптимальный префиксный код (например, по алгоритму Хаффмана), оцените среднюю длину кода и объясните связь между энтропией и предельной сжимаемостью по теореме Шеннона
ОкруглённоH≈1.4855б/симв.Округлённо H ≈ 1.4855 б/симв.ОкруглённоH≈1.4855б/симв.
2) Оптимальный префиксный код HuffmanHuffmanHuffman
Построим Хаффмана: объединяем наименьшие вероятности B0.30.30.3 и C0.20.20.2 → узел 0.5, затем с A0.50.50.5. Код одноизоптимальныхрешенийодно из оптимальных решенийодноизоптимальныхрешений: A → 0 B → 10 C → 11
Это префиксный код ниодинкоднеявляетсяпрефиксомдругогони один код не является префиксом другогониодинкоднеявляетсяпрефиксомдругого.
Избыточность: 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.
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.5⋅log20.5+0.3⋅log20.3+0.2⋅log20.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 б/симв.ОкруглённоH≈1.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.