Объясните понятие энтропии Шеннона на конкретном примере источника символов с неравномерным распределением вероятностей (например, p(a)=0.5, p(b)=0.25, p(c)=0.125, p(d)=0.125) и покажите, как это влияет на оптимальное кодирование

21 Ноя в 10:47
2 +2
0
Ответы
1
Коротко — что такое энтропия и как она влияет на кодирование, на конкретном примере.
Определение: энтропия источника XXX с распределением p(x)p(x)p(x) — среднее количество информации в символе
H(X)=−∑xp(x)log⁡2p(x). H(X) = -\sum_x p(x)\log_2 p(x).
H(X)=x p(x)log2 p(x).

Дано: p(a)=0.5, p(b)=0.25, p(c)=0.125, p(d)=0.125p(a)=0.5,\; p(b)=0.25,\; p(c)=0.125,\; p(d)=0.125p(a)=0.5,p(b)=0.25,p(c)=0.125,p(d)=0.125.
Вычислим вклад каждого символа:
−p(a)log⁡2p(a)=−0.5log⁡20.5=0.5, - p(a)\log_2 p(a) = -0.5\log_2 0.5 = 0.5,
p(a)log2 p(a)=0.5log2 0.5=0.5,
−p(b)log⁡2p(b)=−0.25log⁡20.25=0.5, - p(b)\log_2 p(b) = -0.25\log_2 0.25 = 0.5,
p(b)log2 p(b)=0.25log2 0.25=0.5,
−p(c)log⁡2p(c)=−0.125log⁡20.125=0.375, - p(c)\log_2 p(c) = -0.125\log_2 0.125 = 0.375,
p(c)log2 p(c)=0.125log2 0.125=0.375,
−p(d)log⁡2p(d)=0.125⋅3=0.375. - p(d)\log_2 p(d) = 0.125\cdot 3 = 0.375.
p(d)log2 p(d)=0.1253=0.375.
Сумма даёт энтропию
H(X)=0.5+0.5+0.375+0.375=1.75 bits. H(X)=0.5+0.5+0.375+0.375=1.75\ \text{bits}.
H(X)=0.5+0.5+0.375+0.375=1.75 bits.

Влияние на кодирование: теоретически средняя длина любого префиксного (безамбигуозного) кода Lˉ\bar{L}Lˉ удовлетворяет
H(X)≤Lˉ<H(X)+1. H(X) \le \bar{L} < H(X) + 1.
H(X)Lˉ<H(X)+1.
Для частот, которые являются степенями 1/21/21/2 (диадические), можно построить префиксный код с целочисленными длинами, дающий Lˉ=H(X)\bar{L}=H(X)Lˉ=H(X).
Построим оптимальный (Хаффмана) код для данного распределения: сначала объединяем ccc и ddd (оба по 0.1250.1250.125), затем объединяем их с bbb (0.250.250.25), затем с aaa (0.50.50.5). Один возможный префиксный код:
a↦0,b↦10,c↦110,d↦111. a \mapsto 0,\quad b \mapsto 10,\quad c \mapsto 110,\quad d \mapsto 111.
a0,b10,c110,d111.
Длины кодов: l(a)=1, l(b)=2, l(c)=3, l(d)=3l(a)=1,\; l(b)=2,\; l(c)=3,\; l(d)=3l(a)=1,l(b)=2,l(c)=3,l(d)=3. Средняя длина
Lˉ=0.5⋅1+0.25⋅2+0.125⋅3+0.125⋅3=1.75 bits. \bar{L} = 0.5\cdot1 + 0.25\cdot2 + 0.125\cdot3 + 0.125\cdot3 = 1.75\ \text{bits}.
Lˉ=0.51+0.252+0.1253+0.1253=1.75 bits.
Здесь Lˉ=H(X)\bar{L}=H(X)Lˉ=H(X), то есть код оптимален и без избыточности, потому что распределение диадическое.
Сравнение с равномерным 4-символьным источником: при равномерном распределении Huniform=−4⋅14log⁡214=2H_{\text{uniform}} = -4\cdot\frac14\log_2\frac14 = 2Huniform =441 log2 41 =2 bits, т.е. неравномерность снизила среднюю длину на 2−1.75=0.252 - 1.75 = 0.2521.75=0.25 bits в среднем на символ.
Вывод: энтропия даёт нижнюю границу средней длины кода; для диадических вероятностей можно добиться равенства Lˉ=H \bar{L}=H Lˉ=H. В общем случае оптимизация кодов (например, Хаффмана) стремится приблизить Lˉ\bar{L}Lˉ к H(X)H(X)H(X).
21 Ноя в 11:31
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир