Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Бовбель, Е. И. Элементы теории информации

.pdf
Скачиваний:
10
Добавлен:
19.10.2023
Размер:
6.15 Mб
Скачать

сообщением, чтобы на входе линии связи кодовые симво­ лы встречались одинаково часто.

Задача 11. Для передачи 8 равновероятных

сообще­

ний используется двоичный код. Длительности

кодовых

символов одинаковы и равны 10“ Gс. Сообщения кодиру­

ются в соответствии с табл. 12.

 

 

 

 

Т а б л и ц а 12

Показать,

что вероятности по­

 

 

явления кодовых символов оди­

Сооб­

 

Сооб­

 

наковы.

Вычислить

скорость

Код

Код

передачи сообщений.

 

щение

щение

 

Р е ш е н и е. По формуле

*1

111

Хь

011

А'о

ПО

Xq

010

*3

101

 

001

-V»

100

*8

000

£

Р { хдМц

т = - ¥

-------------•

2

ңхл N

/=1

 

где Mfj— число кодовых символов уу

в і-й кодовой ком­

бинации;

— число всех

кодовых

символов в/-й кодо­

вой

комбинации; у і =

0;

у2= 1 ;

находим

вероятность

встретить единицу на входе линии связи:

 

 

 

 

 

0,125(34-2 + 2 + 1 4-2-М -И )

_

1

 

 

 

0,125(3 + 3+ 3+3 + 3 + 3 + 3+ 3)

2

Таким образом,

Р( 1) = Р { 0) = 1/2.

 

 

 

 

Скорость передачи найдем по формуле (3.21) преды­

дущей задачи:

 

 

 

 

 

 

 

 

 

 

 

2 — 106lo g 2 = 10б

(бпт/с).

 

 

Эта

скорость передачи

максимальна

(см.

замечание к

предыдущей задаче), т. е. І — С.

 

 

 

задачи изменим

Задача 12. В условиях предыдущей

вероятности появления сообщений:

 

 

 

 

 

Р(Хі) = Р(х2) =

0,25; Р(хъ) =

Р(х<) =0,125;

 

 

Р (х5) =

Р(х6) —Р ( х 7) =

Р (хв) =

0,0625,

оставив все остальное без изменений.

 

 

 

Р е ш е н и е .

По формуле (3.19)

предыдущей задачи

 

 

 

0,25-5+0,125-3 + 0,0625-4

__ 0 fiOE-

 

 

— 0,25-6+0,125-6+0,0625-12

 

 

 

 

Я(0) =

1—Р(1) =0,375.

 

 

70

Скорость передачи сообщений определим по формуле

7 = Н(Х)

<->

где < 0 > — средняя длительность сообщения:

< " > = 2

р (х ‘)= з ѵ

/=1

Так как энтропия источника сообщений

Н(Х) =» — V Р(хі) log P(x'i) = 2,75 (бит), 1-1

ТО

7 = ~О *0 — 0,917-10° = 917000 (бит/с).

Таким образом, скорость передачи сообщений уменьши­ лась с 106 бит/с до 917000 бит/с. Это произошло потому, что при кодировании мы не учитывали изменившуюся статистику сообщений. Как ее учесть, чтобы скорость пе­ редачи сообщений стала максимально возможной, пока­ жем в следующем параграфе.

§3. Экономное кодирование сообщений

вотсутствие шума

Под кодированием будем понимать представление а различных сообщений xt , выдаваемых источником, в не­ котором стандартном кодовом алфавите, содержащем т различных символов. Если т < п , каждому возможному сообщению источника необходимо ставить в соответствие некоторую последовательность символов кодового алфа­ вита, которую назовем к о д о в ы м с л о в о м.

Если среди кодовых слов, сопоставляемых п сообще­ ниям источника, нет одинаковых и ни одно более длинное кодовое слово не содержит в начале себя более короткое, такие кодовые слова назовем н е п е р е к р ы в а е м ы м и. Если кодовые слова непер,екрываемы, по произвольной по­ следовательности кодовых слов взаимнооднозначно выде: ляется соответствующая ей последовательность сообще­ ний источника. Другими словами, в отсутствие шумов взаимная однозначность операций кодирования и декоди­ рования достигается при условии неперекрываемости ко­ довых слов.

Операция кодирования тем более экономична, чем меньшей длины кодовые слова сопоставляются сообще­ ниям. Поэтому за характеристику экономичности кода примем среднюю длину кодового слова

L = 2 Ѵ-і Р(хі)> ■

/=1

где \}<і — длина кодового слова, сопоставляемая .ѵ/ сооб­ щению.

Общие положения теории информации позволяют ука­ зать оптимальные границы для средней длины L кодовых слов, которые ни при каком кодировании не могут быть уменьшены. Установим эти оптимальные границы для L из следующих соображений. Во-первых, количество ин­ формации, несомое кодовым словом, не должно быть меньше количества информации, содержащегося в соот­ ветствующем сообщешіи, иначе при кодировании будут происходить потери в передаваемой информации. Во-вто­ рых, кодирование будет тем более экономичным, чем большее количество информации будет содержать в себе каждый кодовый символ; это количество информации максимально, когда все кодовые символы равновероят­ ны, и равно logm. При этом і-е кодовое слово будет нести

количество информации,

равное

logm:

Таким образом,

 

 

 

— lo g Р(Х[)^Щ logm,

откуда

— log P(Xj)

 

>

(3.22)

 

log т

 

 

 

Умножив обе части последнего

равенства на Р(хі) и

просуммироівав по -всем і от 1 до п, получим

 

^min

Н{Х)

 

 

log т *

Так как правая часть неравенства (3.22), как правило, не является целым числом, для достижения знака равенст-. ва в нем (с учетом экономности кода) необходимо, чтобы

log P(Xj) "

+

1,

(3.23)

log т

 

72

где квадратными скобками обозначена целая часть числа, стоящего в них. Усредняя (3.23), получаем

- щ х у

LШІП< log т

Таким образом,

ЩХ) / /

. ^

н(Х)

 

(3.24)

log т ^

min ^

log т

'

 

Осталось, однако, невыясненным, будут ли кодовые слова, удовлетворяющие неравенствам (3.24), неперекрываемы. Поэтому докажем последнее неравенствострого. _

Теорема Крафта. Если.

\><п— длины кодовых

слов, соответствующих сообщениям х\, х2,

хп, то необ­

ходимым и достаточным условием существования иеперекрываемых кодовых слов с заданными-длинами является выполнение неравенства

 

 

У, nC*k < 1 ,

 

 

(3.25>

 

 

k=i

X

 

 

 

где m — число

различных символов

в

кодовом алфа­

вите.

 

 

 

что

если

кодовые-

Н е о б х о д и м о с т ь . Докажем,

слова с заданными длинами

[xt, ...,

неперекрываемьц

то неравенство

(3.25) справедливо. Для этого обозначим

через К число кодовых слов

(среди заданных)

длиной в-

k символов.

 

 

 

 

 

І і < т \

 

 

 

 

 

/2 <

(пь— 1\) т — т2 Іхт\

 

 

 

h <

\(т

/2] т = пь3 Ілт2 12пь\

-(3.26)

./г</7гг — lxmr 1 — l2mr 2 — ... — /г_і/7г.

Эти условия являются необходимыми и достаточными для неперекрываемости кодовых слов. Разделив послед­ нее неравенство на тг, получим

2 k m ~ k < ! .

(3.27)'

Распишем сумму,

стоящую в левой

части

неравенства

(3.27):

 

 

 

 

 

 

 

 

2 1кп Г к = Іігпх+

l2m2 -f- ... -f lrmr =

 

 

k=l

 

 

 

 

 

 

= w -f" • • • Ч- ^ “b in2-f*

... -)- ш2 -p .• •

rnr —(—... —|—tnr =

'------------------ -

4

s

'

4

.I—V

/

11

раз

/2

раз

 

 

lr раз

 

 

 

= 2

т~"к

 

 

(3.28)

г

 

/ѵ*=

1

 

 

 

 

4 = п — число кодовых слов (в последней сум-

так как 2

k=\

 

 

 

 

 

(3.28)

ме возможны одинаковые слагаемые). Подставив

в (3.27), получим

 

 

 

 

 

 

 

 

V m-'uk < 1 ,

 

 

(3.29)

 

 

k—\

 

 

 

 

 

что и требовалось доказать.

 

 

 

 

Д о с т а т о ч н о с т ь .

Дано неравенство

(3.25);

требу­

ется доказать, что всегда можно найти кодовые слова с длинами [аь которые неперекрываемы.

Легко перейти от неравенства (3.29) к неравенству (3.27). Фиксируя в (3.27) верхний предел суммы /*= 1, по­

лучаем /і//г_1< 1 или

При /*=2 из (3.27) получим

второе неравенство (3.26):

 

Ілт~{ + 12т~2< 1

или

U К гіі2 — l\tn = т(т — /і).

Аналогично получим остальные неравенства (3.26), кото­ рые указывают на неперекрываемость заданных кодовых слов.

Теорема Шеннона.

При кодировании сообщений хІ5

х2, .... х п в алфавите,

насчитывающем т символов, при

условии отсутствия шумов, средняя длина кодового сло­ ва не может быть меньше, чем Н(X)/log т, где Н(Х) — энтропия сообщений. Если вероятности сообщений не яв­ ляются целочисленными отрицательными степенями числа т, точное достижение указанной границы невозможно, но при кодировании достаточно длинными группами к этой границе можно сколь угодно приблизиться.

74

Д о к а з а т е л ь с т в о . Так как для любых двух рас­ пределений вероятностей р(хк ) и q(xk) выполняется не­ равенство

(3.30)

k=i

то, взяв в качестве

 

п

'j-, І

 

 

V

т

 

получим из (3.30):

j= 1

 

 

 

 

п

 

п

///. '4

2 р{Хк) Іоgp{xk).<C— 2

р Ы log-^

/г=1

 

Л=1

!1/

 

 

 

у=1

/J

 

//

 

= log 2

"г ”'/ + 1о^ т

!х* =

/=1

пг

/е==1

 

=

+ L log т.

log V

У=і В правой части последнего равенства под знаком лога­

рифма стоит сумма, которая на основании (3.25) меньше единицы. Поэтому

H(X)^L log in

или

Н( X)

log т ’

Если вероятности появления сообщений являются цело-. численными отрицательными степенями числа т, т. е.

Р(хк)

= т ,’7'1

(3.31)

энтропия таких сообщений

 

 

п

 

log Р{хк) — — ^

птГ^ь log m~v'b=L login,

/ѵ’ = 1

k=i

 

откуда

П(Х)

 

J

(3.32)

~~

log m *

 

75

Наконец, предположим, что условие (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

Соседние файлы в папке книги из ГПНТБ