Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Элементы теории информации в защите информации. Учебное пособие для академического бакалавриата
.pdf
6.1. Неравномерное побуквенное кодирование с помощью префиксных кодов
X={x,p(x)}. Ограничимся рассмотрением двоичного кода,
то есть A={0,1}, как наиболее интересного с практической
точки зрения. Тем более, что распространение рассмотренных моделей на более широкий класс не содержит
принципиальных трудностей.
Обозначим A* множество всех слов в алфавите A.
Неравномерным кодом над алфавитом A называется
подмножество С множества A*, объемом или мощностью
кода С называется величина С.
Если алфавит A состоит из двух символов: «точ-
ка»и «тире», то подмножество С множества A* представляет собой множество комбинаций «точек»и «тире», что
мы имеем в азбуке Морзе. Например, в азбуке Морзе часто встречающейся букве «е»соответствует «⋅»(«точка»),
а более редко встречающейся букве «ч» соответствует
комбинация «- - - ⋅». Однако если заменить, например,
«точки» нулями, а «тире» единицами, то хороший код
не будет получен. Азбука Морзе не сводится к двоичному
коду, так как использует кроме этих символов временные
паузы для разделения символов, букв в словах и самих
слов. После указанной замены нулями и единицами без
учета временные пауз разделение сообщения на буквы
и слова может выполняться неоднозначно. То есть нарушается важнейшее необходимое свойство кода, называемое однозначной декодируемостью.
Код С называется однозначно декодируемым, если
любая порождаемая им последовательность символов
из A единственным способом разбивается на отдельные
кодовые слова из множества С.
Пример 6.1.
1) С
= {00, 01, 10, 11};
1
2) С
= {1, 01, 001, 000};
2
3) С
= {1, 10, 100, 000};
3
4) С
= {0, 1, 10, 01}.
4
— 91 —

Глава 6. Теоретические основы неравномерного кодирования
Из четырех примеров кодов однозначно декодируе-
мые только первые три.
Первый код однозначно декодируемый, так как
он является равномерным.
Для декодирования второго кода достаточно, чтобы декодер, считывая символ за символом, каждый раз
проверял, не является ли данное слово элементом кода
С. Если не является, то считывается следующий символ
и выполняется указанная проверка слова и т.д. Если является, то декодер приступает к считыванию символов
следующего слова. Заметим, что в случае кода С
неодно-
2
значного декодирования быть не может в силу того, что
ни одно слово не является продолжением другого.
Код называется префиксным, если ни одно его слово
не является началом другого его слова. Префиксность
кода гарантирует его однозначную декодируемость.
Код С
не префиксный. Вместе с тем, он однозначно
3
декодируемый. Каждое его слово может быть получено
записыванием в обратном порядке соответствующего
слова кода С
слово в обратном порядке, использовать код С
. Значит, декодер может, записав принятое
2
для одно-
2
значного декодирования. Следовательно, префиксность
кода является достаточным, но не необходимым условием
его однозначной декодируемости.
Префиксные коды удобно изображать графически
в виде кодовых корневых деревьев, помеченных двоичными символами и кодовыми словами. Например, кодовое
дерево кода С
имеет следующий вид (рисунок 6.1).
2
Все вершины дерева разделяются по ярусам, количество ярусов h называется высотой дерева. На нулевом
ярусе размещена вершина, которая называется корнем
дерева. Каждая вершина x следующего яруса соединена
ребром с одной из вершин x′ предыдущего яруса, вершину
— 92 —

6.1. Неравномерное побуквенное кодирование с помощью префиксных кодов
Рисунок 6.1. Кодовое дерево кода
С
2
x называют потомком вершины x′. В случае двоичного
дерева (оно соответствует двоичному коду) из каждой
вершины исходит не более двух ребер, отсюда на i-м ярусе размещены от одной до 2
i
вершин, i=0,…,h. Вершины,
из которых ребра не исходят, называются концевыми вершинами или листьями.
Все вершины дерева за исключением листьев символами не помечаются. Символы двоичного алфавита
помечают ребра дерева, где идущее вверх ребро помечено
нулем и идущее вниз ребро помечено единицей. Таким
образом, в каждую вершину i-го яруса дерева имеется
единственный путь длины i из корня дерева, помеченный
последовательностью i двоичных символов, i=0,…,h. Листья дерева помечены кодовыми словами данного кода.
Длина кодового слова, которым помечен лист x, равна
номеру яруса (высоте h(x) листа x в дереве), на котором
расположен лист x. Высота h(D) кодового дерева D равна
длине самого длинного слова данного кода.
Двоичное дерево называется псевдополным, если
из каждой вершины исходит ровно 2 ребра за исключением листьев. Двоичное псевдополное дерево высоты h называется полным, если длина пути от корня до любого листа равна h. На i-м ярусе псевдополного дерева размещены
— 93 —

Глава 6. Теоретические основы неравномерного кодирования
l
1
ii
∑
не более 2i вершин, на i-м ярусе полного дерева размещены
i
ровно 2
h имеет 2
вершин, i=0,…,h. Полное двоичное дерево высоты
h+1
–1 вершин и 2h листьев.
Код называется древовидным, если множество его
кодовых слов совпадает с множеством меток всех листьев.
Код является древовидным тогда и только тогда, когда
он префиксный.
Далее рассматриваются только префиксные коды.
Так как цель экономного кодирования — это минимизация затрат на передачу информации, то важной характеристикой префиксного кода является средняя длина
кодового слова в коде. Определим эту величину.
Пусть ДИОС X={1,…,M}, то есть X порождает буквы
1,…,M с вероятностями p
кодирования букв источника используется код C={c
}, где длина кодового слова ci равна li, i=1,…,M, то сред-
c
M
,…,pM соответственно. Если для
1
,…,
1
ней длиной кодовых слов кода C называется величина
= M[li] =
iM
≤≤
pl
.
Важными характеристиками кода являются также
сложности кодирования и декодирования информации,
определяемые требуемым количеством вычислительных
операций и объемом необходимой памяти вычислительного устройства. При практической реализации кодирования и декодирования информации эти характеристики
необходимо сопоставить с возможностями вычислительного устройства в части производительности и объема
необходимой памяти.
Таким образом задача побуквенного неравномерного
кодирования может быть сформулирована как построение
префиксного кода с наименьшей средней длиной кодовых
слов при определенных ограничениях на сложность кодирования.
— 94 —

6.2. Неравенство Крафта
−
∑
( )
1
2
6.2. Неравенство Крафта
При рассмотрении конкретного кода возникает вопрос: нельзя ли выбрать более короткие слова для кодирования и тем самым уменьшить среднюю длину кодовых
слов? На примере кода С
фиксности кода С
нельзя уменьшить длину какого-либо
2
слова, не увеличив длину другого слова этого же кода.
Длины кодовых слов ограничиваются неравенством
Крафта.
Теорема 6.1 (неравенство Крафта).
Префиксный код порядка M с длинами кодовых слов
,…,lM существует ⇔
l
1
Доказательство. Псевдополное бинарное дерево D
высоты h с n листьями можно достроить до полного бинарного дерева высоты h, в котором пути от корня до всех
листьев имеют длину h. Это выполняется с помощью
присоединения к каждому листу x высоты h(x) дерева D
полного бинарного дерева высоты h–h(x). В результате
такого построения число листьев в полном бинарном дереве высоты h равно 2
n в дереве D. Значит, n≤2
туральное число, получаем: h ≥ log
Так как при указанном построении полного дерева
к каждому листу x высоты h(x) дерева D присоединяется
полное бинарное дерево высоты h–h(x), то вместо листа
h–h(x)
x образуется 2
листьев. Отсюда для общего числа листьев в полном бинарном дереве высоты h выполнено равенство:
Сокращаем обе части равенства на 2
видно, что при сохранении пре-
2
l
i
2
≤ 1. (6.1)
1
≤≤
iM
h
, что не меньше, чем число листьев
h
. Отсюда, учитывая, что h — на-
n.
2
h hx
−
∑
x XD
∈
( )
2
= 2h.
h
и получаем:
∑
x XD∈
— 95 —
( )
= 1. (6.2)
hx
( )

Глава 6. Теоретические основы неравномерного кодирования
1
2
l
2
2
l
21
2
ll−
2
2
l
21
2
ll−
2
2
l
3
2
l
32
2
ll−
31
2
ll−
3
2
l
32
2
ll−
31
2
ll−
3
2
l
2
l
M
1
2
ll
MM−−
2
2
ll
MM−−
1
2
llM−
2
l
M
2
l
M
1
2
ll
MM−−
2
2
ll
MM−−
1
2
llM−
Между множеством листьев бинарного кодового дерева и множеством кодовых слов имеется биекция, при
которой высота h(x) листа x в дереве совпадает с длиной кодовой комбинации, помечающей лист x. Отсюда
и из равенства (6.2) получаем неравенство (6.1).
Докажем достаточность, построив код с множеством слов, длины которых удовлетворяют неравенству
(6.1). Без существенного ущерба для общности положим
<…< l
l
1
берем на ярусе l
словом длины l
≤lM.
M–1
Возьмем полное бинарное дерево D высоты l
любую вершину и пометим ее кодовым
1
. Остальные
1
–1 вершин яруса l1 продол-
. Вы-
1
жим с помощью построения полных поддеревьев высоты
, то есть до яруса l2. Общее число вершин на ярусе l2
l
2–l1
равно
после деления его на
довым словом длины l
–
, где неравенство
Выберем на ярусе l
–
≥ 1
следует из (6.1).
любую вершину и пометим ее ко-
2
. Остальные вершины яруса l2
2
продолжим с помощью построения полных поддеревьев
высоты l
равно
после деления его на
Продолжая построение, на ярусе l
, то есть до яруса l3. Число вершин на ярусе l3
3-l2
–
–
, где неравенство
–
–
≥ 1
следует из (6.1).
получаем число
M
вершин, равное
–
это число не меньше 1, так как после деления на
–
– … –
,
не-
равенства
–
–
– … –
≥ 1
получаем неравенство, которое следует из (6.1).
Выбрав на ярусе l
, завершим построение кодового дерева.
ны l
M
вершину для кодового слова дли-
M
— 96 —

6.3. Прямая и обратная теоремы побуквенного неравномерного кодирования
1
2
l
2
2
l
21
2
ll−
3
2
l
31
2
ll−
31
2
ll−
l
Таким образом, неравенство Крафта определяет огра-
ничение снизу для длины кодовых слов.
Проиллюстрируем построение кодового дерева ри-
сунком 2 в случае l
=1, l2=2, l3=l4=3. Числа вершин в яру-
1
сах равны:
=2,
Рисунок 6.2. Построение кодового дерева согласно неравенству Крафта
–
=2;
–
–
=2.
Замечание. Неравенство Крафта распространено
на множество всех однозначно декодируемых кодов. Доказательство имеется в [6].
6.3. Прямая и обратная теоремы побуквенного
неравномерного кодирования
Теорема 6.2. Для ансамбля X={x,p(x)} с энтропией
H существует побуквенный неравномерный префиксный
код со средней длиной кодовых слов
< H+1.
Доказательство. Пусть вероятности сообщений 1,
…, M источника равны p
i, имеющей вероятность p
вое слово длины l
= –logpi, i=1,…,M. Префиксный код
i
, …, pM соответственно. Букве
1
, поставим в соответствие кодо-
i
— 97 —

Глава 6. Теоретические основы неравномерного кодирования
−
∑
1
iM
∑
∑
l
1
ii
∑
1
∑
1
∑
1iiM
∑
l
l
l
l
с таким набором длин кодовых слов существует в силу
теоремы 6.1, так как
1
≤≤
iM
l
i
2
=
2
pilog
≤
log
p
i
2
=
1
iM≤≤
1
iM
≤≤
p
= 1.
i
Оценим среднюю длину кодовых слов:
=
iM
≤≤
pl
=
iM
≤≤
p
–logpi <
i
iM
≤≤
p
i
(–logpi+1) =
=H+
p
≤≤
= H+1.
Теорема доказана.
При больших значениях энтропии полученную оценку следует считать точной, при малых значениях, например, при H=0,2 точность оценки не высока.
Для некоторых классов источников эта оценка неулучшаема, что говорит о ее точности. Например, для
двоичного источника X с вероятностями букв e и 1–e
наименьшая достижимая длина кодовых слов равна 1.
Так как H(X) стремится к 0 при e→0, то по теореме 6.2
величина
двоичных кодов оценка величины
стремится к 1 при e→0. Значит, для многих
точна.
Заметим, что достижение затрат на передачу одной
буквы источника, меньших 1, невозможно при побуквенном кодировании, ведь длина кодового слова не может
быть меньше 1. Однако при кодировании блоков информации, как показано ниже, средняя длина кодовых слов
может достигать величины, сколь угодно близкой к энтропии источника.
Обратная теорема устанавливает нижнюю границу
средней длины кодовых слов любого однозначно декодируемого кода.
Теорема 6.3. Для любого однозначно декодируемого
кода ДИОС X={x,p(x)} с энтропией H и со средней длиной
кодовых слов выполнено:
≥ H.
— 98 —

6.3. Прямая и обратная теоремы побуквенного неравномерного кодирования
l
( ) ( )
log
xX
px px
∈
∑
( ) ( )
xX
pxlx
∈
∑
( )
( )
l
( )
( )
2
lxxX−
∈
∑
( )
xX
px
∈
∑
l
( )
xX
px
∈
∑
l
l
Доказательство. Обозначив l(x) длину кодового сло-
ва сообщения x∈X, запишем разность:
H –
= –
–
=
∑
xX
∈
=
px
( )
Применяя оценку lna≤a–1, получаем при
lx
−
2
a=
H –
px
( )
≤ loge
:
lx
−
2
∑
xX
∈
px
( )
px
( )
−
=
1
log
lx
−
2
px
( )
.
= loge(
–
).
Отсюда, используя неравенство Крафта, имеем:
H –
≤ loge(1–
) = 0.
Теорема доказана.
Заметим, что для выполнения равенства
=H необходимо и достаточно, судя по доказательству теоремы 6.3,
чтобы существовал префиксный код источника сообщений 1,…,M с длинами кодовых слов l
=–logpi, i=1,…,M,
i
то есть верно следствие.
Следствие 6.4. Однозначно декодируемый код источ-
ника X с энтропией H имеет среднюю длину кодовых слов
=H ⇔ p(x)=2
–l(x)
для любого сообщения x∈X.
В условиях следствия средняя длина кодовых слов
достигает наименьшего из возможных значений. Таким
образом, в данной модели ДИОС достигаются экстремальные свойства в части экономного кодирования информации.
Однако математические модели источников сообщений, удовлетворяющие данным условиям, вряд
ли на практике являются адекватными реальным объектам.
— 99 —

Глава 6. Теоретические основы неравномерного кодирования
l
6.4. Задачи и упражнения
6.1. Является ли однозначно декодируемым код:
а) С
= {001, 0101, 100, 1101};
1
б) С
= {01, 001, 0001, 0010}?
2
6.2. Изобразите полное или псевдополное двоичное
дерево с n вершинами, где n∈{7, 9, 12, 15}.
6.3. Существует ли префиксный побуквенный код
мощности M с длинами кодовых слов l
а) M=3; (l
б) M=5; (l
в) M=6; (l
г) M=7; (l
)=(2,3,4);
1,l2,l3
,…,l5)=(1,2,3,4,5);
1
,…,l6)=(1,2,3,4,4,5);
1
,…,l7)=(1,2,4,4,5,6,6)?
1
6.4. Побуквенный код мощности M содержит кодо-
вые слова длины l
,…,lM. При какой длине l1 кодового сло-
1
ва возможна префиксность кода, если:
а) M=4; (l
б) M=5; (l
в) M=5; (l
г) M=6; (l
)=(2,3,4);
2,l3,l4
,…,l5)=(2,3,3,4);
2
,…,l5)=(1,2,3,4);
2
,…,l6)=(2,3,3,4,5,6)?
2
6.5. Дан ансамбль независимых сообщений {1,…,М}
с распределением вероятностей P
ение однозначно декодируемого кода со средней длиной l
кодовых слов:
а) M=4, P
б) M=4, P
в) M=5; P
г) M=5; P
={0,14; 0,29; 0,36; 0,21}, l=1,9;
М
={0,12; 0,27; 0,36; 0,25}, l=2,2;
М
={0,11; 0,22; 0,31; 0,12; 0,24}, l=2,2;
М
={0,13; 0,22; 0,31; 0,14; 0,20}, l=2,5?
М
6.6. Существует ли для ансамбля {a,b,c} с вероятностями букв p
, pb, pc, побуквенный неравномерный пре-
a
фиксный код со средней длиной кодовых слов
а) (p
б) (p
)=(1/3,1/3,1/3), l≤1,55;
a,pb,pc
)=(0,4;0,35;0,25), l≤2,56?
a,pb,pc
,…,lM:
1
. Возможно ли постро-
М
, где:
— 100 —
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
