Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
§ 1.13. Оптимальные неравномерные кодыВ этом параграфе будет описан метод построения оптимальных однозначно декодируемых неравномерных кодов для дискретных ансамблей сообщений Рассмотрим вначале простейший случай, когда вероятности сообщений ансамбля являются целыми отрицательными степенями числа
В этом случае существует оптимальный D-ичный однозначно декодируемый код, для которого средняя длина кодовых слов
Известен следующий метод построения такого дерева (метод Шеннона-Фано): 1. Подразделить множество сообщений на D подмножеств, так, чтобы вероятности каждого из подмножеств были одинаковыми, произвольным образом перенумеровать подмножества. Для всех сообщений из
— кодовый алфавит. 2. Каждое из подмножеств рассматривать как некоторое новое множество сообщений. Выполнить на Пример 1.13.1. Неравномерный код, приведенный в примере 1.10.1, получен методом Шеннона-Фано. Процесс построения кода показан в табл. 1.13.1. Здесь первое и второе подмножества, получающиеся при разбиениях, обозначены через I и II соответственно, причем всем первым подмножествам соответствует символ 0, а вторым — 1. Таблица 1.13.1 (см. скан) Рассмотрим теперь общий случай, когда сообщения в ансамбле X имеют произвольные вероятности. Мы ограничимся рассмотрением префиксных кодов, так как любой набор длин кодовых слов однозначно декодируемого кода может быть получен и на префиксном коде. Ниже будут даны условия, которым должен удовлетворять оптимальный префиксный код, а затем будет показано, как построить код, удовлетворяющий этим условиям. Будет рассмотрен только двоичный случай Лемма 1.13.1. В оптимальном коде слово, соответствующее наименее вероятному сообщению, имеет наибольшую длину. Доказательство. Пусть — длина слова, кодирующего сообщение
Предположим, что в оптимальном коде
что противоречит предположению об оптимальности исходного кода. Лемма 1.13.2. В оптимальном двоичном префиксном коде два наименее вероятных сообщения кодируются словами одинаковой длины, одно из которых оканчивается нулем, а другое единицей. Доказательство. Обозначим через Рассмотрим новый ансамбль X, состоящий из
Любой декодируемый префиксный код для ансамбля X можно превратить в декодируемый код для ансамбля X приписыванием к кодовому слову, кодирующему сообщение Лемма 1.13.3. Если оптимален однозначно декодируемый префиксный код для ансамбля X, то оптимален полученный из него префиксный код для ансамбля Доказательство. Обозначим через
где использовано то обстоятельство, что длины
Из (1.13.6) следует, что Таким образом, задача построения оптимального префиксного кода сводится к задаче построения оптимального префиксного кода для ансамбля, содержащего на одно сообщение меньше. В этом ансамбле снова можно выделить два наименее вероятных сообщения и, объединяя их, получить новый ансамбль, содержащий теперь уже на два сообщения меньше, чем исходный. Очевидно, что таким образом можно дойти до ансамбля, содержащего всего два слова, оптимальным кодом для которого является просто 0 для одного сообщения и I для другого. Описанный метод построения оптимального префиксного кода называется методом Хаффмена. Пример 1.13.2. Рассмотрим ансамбль, состоящий из 7 сообщений, вероятности которых равны 0,3; 0,2; 0,15; 0,15; 0,1; 0,05; 0,05. В следующей таблице показаны 6 последовательных шагов, на каждом из которых происходит образование нового ансамбля с помощью склеивания наименее вероятных сообщений предыдущего ансамбля. Как видно из этого примера, процесс склеивания приводит к дереву и, следовательно, к однозначно декодируемому коду. Таблица 1.13.2 (см. скан) Средняя длина кодовых слов равна 2,6. Нижняя граница согласно теореме 1.12.1 равна 2,354. Кода со средней длиной меньшей, чем 2,6, не существует. Движению вверх по дереву сопоставлен символ 1, движению вниз — символ 0.
|
1 |
Оглавление
|