Файл: Бовбель, Е. И. Элементы теории информации.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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

оказы-

 

 

 

п

Р(хі) =

 

ваются различными, а

поскольку

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