В теории информации дано дискретное распределение вероятностей P={0.5,0.25,0.125,0.125}: найдите энтропию, постройте оптимальный префиксный код (Хаффмана) и обсудите, как изменится эффективность кодирования при наличии шума в канале с указанной вероятностью ошибок

2 Окт в 17:06
11 +1
0
Ответы
1

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

P = {p1=0.5, p2=0.25, p3=0.125, p4=0.125}.

H = −∑ p_i log2 p_i =
= −0.5·log2 0.5 − 0.25·log2 0.25 − 0.125·log2 0.125 − 0.125·log2 0.125
= 0.5·1 + 0.25·2 + 2·(0.125·3) = 0.5 + 0.5 + 0.75 = 1.75 бит/символ.

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

Построение (объединяем два наименьших 0.125+0.125→0.25, затем 0.25+0.25→0.5 и т.д.). Один возможный оптимальный код:

A (p=0.5): 0 (длина 1) B (p=0.25): 10 (длина 2) C (p=0.125): 110 (длина 3) D (p=0.125): 111 (длина 3)

Средняя длина L = 0.5·1 + 0.25·2 + 0.125·3 + 0.125·3 = 1.75 бита/символ, т.е. L = H (в данном случае достигается равенство, потому что вероятности — степени 1/2).

3) Влияние шума (вероятность ошибок в канале)

Короткие замечания и формулы (e — вероятность ошибки бита):

Энтропия источника не меняется из‑за шума: H = 1.75 бит/символ — это мера неопределённости источника.Если не применять канальное кодирование (т.е. посылать Huffman‑биты «как есть»), то вероятность корректной приёма кодового слова длины l равна (1−e)^l (при независимых ошибках битов). Тогда вероятность корректного приёма символа:
P_correct = 0.5(1−e) + 0.25(1−e)^2 + 0.25(1−e)^3.
Соответственно P_error = 1 − P_correct.
Примеры:
e = 0.01 → P_correct ≈ 0.9826, P_error ≈ 0.0174 (≈1.74% ошибок символов).e = 0.10 → P_correct ≈ 0.8348, P_error ≈ 0.1652 (≈16.5%).Важный практический момент: при переменной длине кодовых слов одиночная битовая ошибка может нарушить синхронизацию и испортить несколько следующих символов. Поэтому в реальном канале обычно добавляют канальное кодирование (код исправления ошибок) или синхронизирующие маркеры.С точки зрения теории информации: чтобы обеспечить надёжную передачу источника через шумный канал, суммарная скорость информации после сжатия должна быть меньше пропускной способности канала C. Для бинарного симметричного канала (BSC) с битовой вероятностью ошибки e:
C = 1 − H2(e) (бит/канал‑использование), где H2(e) = −e log2 e − (1−e) log2(1−e).
Если средняя длина Huffman = 1.75 бита/символ, то минимальное число использований канала на символ при применении оптимального канального кодирования ≈ 1.75 / C.
Примеры:
e = 0.01: H2(0.01) ≈ 0.08065, C ≈ 0.91935 ⇒ нужно ≈ 1.75/0.91935 ≈ 1.90 канал‑использ/символ.e = 0.10: H2(0.10) ≈ 0.4690, C ≈ 0.5310 ⇒ нужно ≈ 1.75/0.531 ≈ 3.29 канал‑использ/символ.

Выводы практического смысла:

Huffman даёт идеальную компрессию для данного распределения (L = H). При наличии шума необходимо вводить избыточность (канальные коды), чтобы обеспечить надёжность; это снижает эффективную пропускную способность и увеличивает число бит/символ, передаваемых по каналу. Если канал очень шумный (малый C), то потребуется много канальных символов на один исходный символ, либо падёт надёжность приема; альтернативы — использовать совместное source–channel кодирование, синхронизирующие маркеры или выбирать коды, устойчивые к ошибкам.

Если хотите, могу:

посчитать точную вероятность ошибок символов для конкретного значения e, которое вы укажете; показать альтернативные варианты кода или оценить эффект использования простого исправляющего кода (например, повторение, код Хэмминга) для заданного e.
2 Окт в 17:41
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир