Дана дискретная распределённая случайная величина с возможными значениями {a,b,c,d} с частотами {0.5,0.25,0.15,0.1}. Вычислите энтропию источника в битах, постройте оптимальный префиксный код (например, по алгоритму Хаффмана), оцените среднюю длину кода и объясните, что показывает разница между энтропией и средней длиной

26 Сен в 20:29
21 +1
0
Ответы
1

Даны p(a)=0.50, p(b)=0.25, p(c)=0.15, p(d)=0.10.

1) Энтропия (в битах)
H = −Σ p_i log2 p_i =
-0.5·log2 0.5 − 0.25·log2 0.25 − 0.15·log2 0.15 − 0.1·log2 0.1 =
0.5 + 0.5 + 0.4105448 + 0.3321928 ≈ 1.7427 бит/символ.

2) Оптимальный префиксный код (Хаффман)
Склеиваем наименьшие вероятности: 0.15+0.10=0.25, затем 0.25+0.25=0.5 и т.д. Получаем дерево с длинами:
l(a)=1, l(b)=2, l(c)=3, l(d)=3.

Один возможный код (префиксный):
a: 0
b: 10
c: 110
d: 111

3) Средняя длина кода
L = Σ p_i l_i = 0.5·1 + 0.25·2 + 0.15·3 + 0.10·3 = 1.75 бит/символ.

4) Что показывает разница H и L
Разница (избыточность, redundancy) R = L − H ≈ 1.75 − 1.7427 = 0.00726 бит/символ (≈0.42% относительн.). Это показывает неэффективность кода по сравнению с теоретическим нижним пределом (энтропией). Для префиксных кодов с целыми длинами выполняется неравенство H ≤ L < H + 1; алгоритм Хаффмана даёт оптимальную среднюю длину среди префиксных (целочисленных) кодов, поэтому оставшаяся разница обусловлена в основном требованием целочисленных длин кодовых слов (и структурой распределения). При блоковом кодировании (кодирование групп символов) можно приблизить среднюю длину ещё ближе к H.

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