ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.10.2024
Просмотров: 59
Скачиваний: 0
Наконец, предположим, что условие (3.31) не выполняет ся. В этом случае для достижения нижней границы (3.32) кодовое слово необходимо сопоставлять не каждому со общению, а группе сообщений.
Пусть группа содержит k сообщений. Таких |
различ |
||||||
ных групп пк>. Если сообщения хі независимы, |
энтропия |
||||||
множества указанных групп равна kH(X). |
|
|
|||||
Так как целые числа, |
определяемые |
неравенствами |
|||||
log m |
с |
1A |
- |
. |
'pg^y») + |
1 |
(3.33) |
|
|
log m |
|
|
где P ( y k) — вероятность осуществления /е-й группы сооб щений из пк возможных групп, удовлетворяют теореме Крафта, то группам уи. можно сопоставить кодовые слова длиной (і£. Умножив обе части неравенств (3.33) на P(tjk) и просуммировав по всем k от 1 до /г*, получим
log m ^ k^ log m |
(3.34) |
|
где Lk—: средняя длина кодовых слов, сопоставляемых группам сообщений уь; H(Y)— энтропия множества групп Ук‘ Разделив (3.34) на k с учетом того, что H(Y)=kH(X). получим:
ЩX) ^ |
Lk ^ |
ЩХ) |
1 |
log m ^ |
k |
log ni ' |
k |
При достаточно большом k из последнего неравенства средняя длина кодового слова L = Lkjk, приходящегося на одно сообщение Xk,
ЩХ) |
(3.35) |
|
log//г.* |
||
|
что и требовалось доказать.
Только что доказанная теорема не дает явных рецеп тов для нахождения кодовых слов со средней длиной H(X)/\ogm. Поэтому она является теоремой существо вания.
Важность этой теоремы состоит в том, что она опреде ляет предельно возможную экономность кода, позволя ет оценить, насколько тот или иной конкретный код бли зок к самому экономному, и, наконец, придает прямой физический смыслодному из основных понятий теории информации — энтропии множества сообщений как мини мальному числу двоичных символов (см. 3.35, т = 2), приходящихся в среднем на одно сообщение.
76
Хотя теорема о кодировании не указывает конкретный способ построения оптимальныхкодов, однако из нее вы текает, что для достижения минимальной средней длины кодового слова необходимо стремиться к тому, чтобы ко довые символы были равновероятными и статистически независимыми друг от друга. Приведем два известных способа построения кодов, которые позволяют прибли зиться к равновероятности и независимости кодовых сим волов.
1. Код Шеннона — Фано. Для составления этого кода все сообщения х t (i = 1,2, ..., п) выписываются в порядке убывания их вероятностей (табл. 13).
х і |
P ( x t) |
Разбиение сообщений на подгруппы |
||||
Хі |
0,35 " |
1 |
1 |
— |
— |
— |
х% |
0,15 . |
1 |
0 |
— |
— |
— |
X* |
0,13 |
0 |
1 |
1 |
— |
— |
А |
||||||
Х \ |
Ѳ,09 |
0 |
1 |
0 |
— |
— |
ХЬ |
0,09 |
0 |
0 |
1 |
1 |
— |
Х і |
0,08 |
0 |
0 |
1 ■ |
0 |
— |
Хі |
• 0,05 |
0 |
0 |
0 |
1 |
— |
*3 |
0,04 |
0 |
0 |
0 |
0 |
1 |
*9 |
0,02 |
0 |
0 |
0 |
0 |
6 |
Таблица 13
Код |
h |
|
11 |
2 |
|
10 |
2 |
|
011 - |
3 |
|
\ |
3 |
|
о о |
||
|
||
ООП |
4 |
|
0010 |
4 |
|
0001 |
4 |
|
00001 |
5 |
|
00000 |
5 |
Записанные так сообщения затем разбиваются на две по возможности равновероятные подгруппы. Всем сообще ниям, входящим в первую подгруппу, приписывают циф ру 1 в качестве первого кодового символа, а сообщениям, входящим во вторую подгруппу,— цифру 0. Аналогичное деление на подгруппы продолжается до тех пор, пока в каждую подгруппу не попадет по одному сообщению.
Убедимся, что таким образом найденный код весьма
близок к оптимальному. В самом деле, энтропия сообще- 6
ний Н(Х) = —'2lP(xi)\ogP(xi)^2J5, а средняя длина ко- /«1
77
|
6 |
|
дового |
слова L = ' £ i w P ( x0 =2,84, |
что находится в со- |
|
/=і |
|
ответствии с оптимальным характером этого кода. . |
||
2. |
Код Хаффмана. Для получения кода Хаффмана все |
|
сообщения выписывают в порядке |
убывания вероятно |
стей. Две наименьшие вероятности объединяют скобкой (табл. 14) и одной из них приписывают кодовый символ 1, а другой 0. Затем эти вероятности складывают, ре зультат записывают в промежутке между ближайшими вероятностями. Процесс объединения двух сообщений с наименьшими вероятностями продолжают до тех пор, пока суммарная вероятность двух оставшихся сообщении не станет раиной единице. Код для каждого сообщения строится при записи двоичного числа справа налево путем
обхода |
по линиям вверх направо, начиная с вероятности |
|||||||
сообщения, для которого строится код. |
|
|
|
|||||
Средняя длина кодового слова при кодировании ме-* |
||||||||
тодом Хаффмана (см. табл. |
15) L =2,82, |
что несколько |
||||||
меньше, чем в методе Шеннона — Фано (L = 2,84). |
||||||||
В заключение приведем процедуру кодирования в том* |
||||||||
виде, в котором ее впервые предложил Шеннон. |
|
|||||||
Пусть сообщения имеют |
следующее |
распределение- |
||||||
вероятностей: |
|
|
|
|
|
|
|
|
Хі |
Хі |
х2 |
х.х |
хА |
хъ |
х{і |
х7 |
Л'8 |
P(xt) |
1.4 |
1 '4 |
1/8 |
18 |
18 |
1/16 |
1/32 |
132 |
Каждому сообщению xt: поставим в соответствие чис ло Qi, определяемое следующим образом:
Qx = |
0; |
|
|
|
|
Qi = Р{ХіУ, |
|
|
|
|
|
Qz = |
i) + |
P M ; |
|
|
|
Qn — P(xl) + |
P{xi) + ••• + |
P(xn—l). |
|
||
Так как все P(xt) |
отличны от нуля, |
все числа Q t |
оказы- |
||
|
|
|
п |
Р(хі) = 1» |
|
ваются различными, а |
поскольку |
2 |
то все |
||
|
|
|
і = |
1 |
|
Qi < 1 .
Представим эти числа в виде двоичной дроби. Так как
Qi < 1, то
Qi = <7—L2 1 + (J_2 2 2 + <7_з 2—3 + ...
7.8
.79
Разложение каждого Qt продолжается до тех пор, пока число членов разложения \ц не окажется в пределах
Iog Р(хі) ^ w ^ 1 + 1о§ Р{Хі) *
Остальные члены разложения отбрасываются. Таким об разом, каждому сообщению xt сопоставляется двоичное число (код) у 1г содержащее ^ членов: Qi~q__x<7_2?_3 ...
q = уі, где Рі определяется выражением (*).
Поясним процедуру коди розап ия на предложейиом выше примере. Результаты расчетов сведем в табл. 15.
|
|
|
|
|
Т а б л и ц а 15 |
|
•ѵ/ |
P(x.) |
l0Sp('-/) |
ч |
Q; |
Qi |
Код |
|
|
|
||||
Хі |
1/2 |
0 |
2 |
0 |
0-0+... |
00 |
X2 |
1/4 |
2 |
0 |
1/4 |
1/2-0 + 1/4-1 + 1/8-0+... |
01 |
4* |
||||||
*s |
1/8 |
3 |
3 |
2/4 |
1/2-1+1/4-0+1/8-0+... |
100 |
X4 |
1/8 |
3 |
3 |
5/8 |
1/2-1 + 1/4-0+1/8-1+... |
101 |
*5 |
1/8 |
3 |
3 |
6/8 |
1/2-1 + 1/4-1+1/8-0+... |
110 |
Хб |
1/16 |
4 |
4 |
7/8 |
1/2-1 + 1/4-1-1-1/8-1 + 1/16-Ѳ+... |
1110 |
X"i |
1/32 |
5 |
5 |
15/16 |
1/2 - 1+1/4 - 1+ 1/8 - 1 -f-1/16-1 + |
11110 |
|
1/32i |
5 |
|
31/32 |
+ 1/32-0+... |
|
xa |
5 |
1/2-1 + 1/4-1 + 1/8-1 + 1/16-1 + |
11111 |
|||
|
|
|
|
|
-j-1/32 • 1-{-... |
|
Задача 1. Независимые сообщения Х\, х% ,ѵ3, Х\ появ ляются соответственно с вероятностями 1/2, 1/4, 1/8, 1/8 и кодируются по методу Шеннона — Фано: 0,10, ПО, 111. Показать, что в получающейся последовательности кодо вых слов символы «0» и «1» встречаются с равными ве роятностями.
Р е ш е н и е . Вероятность символа «0» определим как отношение среднего числа сим-волов «0» в кодовых словах к средней длине кодового слова:
£ «оР(хі)
р/Пч = |
/Й_________________ 1/2-1+1/4-1 + 1/8-1 |
_ |
7/8 |
_ |
1 |
|
yü) |
■ L |
1/2-1 + 1/4.2+Т /8-3+1/8-3 |
“ |
14/8 |
” |
2* |
Аналогично Р (1)'=1/2, что и требовалось-показать. Задача 2. Источник независимо друг от друга выраба
тывает два различных сообщения Х\ и х<і с вероятностями
80