Источник генерирует знак x1 и x2 с вероятностями р(x1)=0,33 и р(x2)=0,67. построить коды шеннона – фано и хаффмана для для последовательности из трех знаков. каково среднее число символов на знак? сравнить с энтропией.

efrakoff efrakoff    1   02.09.2019 21:20    2

Ответы
Sofiya1509 Sofiya1509  03.08.2020 14:49
Строить коды для алфавита из двух символов немного странно - и так понятно, что получатся 0 и 1, и все эти кодирования бессмысленны.

Код Шеннона - Фано: делим знаки на две части, чтобы суммарные вероятности появления символов частей были максимально близки (тут в каждой части всего один символ - иначе никак). Одной приписываем 0, другой 1. На этом всё кончилось.

Код Хаффмана: выбираем два символа с наименьшими вероятностями, у одного постфикс 0, у другого 1. Объединяем в одну вершину, и она осталась одна. Конец.

В среднем 1 символ - 1 бит.
Энтропия -∑ p ㏒₂ p = -0.33 log 0.33 - 0.67 log 0.67 = 0.915 бит на символ.

Учитывая, что энтропия всегда не превосходит среднюю длину кода, тут сошлось.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика