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

книги из ГПНТБ / Бездудный, В. Г. Техника безопасности в шахтном строительстве

.pdf
Скачиваний:
6
Добавлен:
22.10.2023
Размер:
10.55 Mб
Скачать

Таблица 10

Соотношение нулей и единиц в восьми- и шестнадцатибуквенных кодах

Буква

Код

Число О

Число 1

 

8-буквенный

алфавит

 

А1

000

3

0

001

5

1

 

010

7

2

£

011

8

4

д 4

100

10

5

д5

101

11

7

д 6

ПО

12

9

к

111

12

12

 

16-буквенный алфавит

 

А,

0000

4

0

А2

0001

7

1

Аз

0010

10

2

А4

ООП

12

4

Ай

0100

15

5

 

0101

17

7

 

ОНО

19

9

 

0111

20

12

 

1000

23

13

 

1001

25

15

 

1010

27

17

 

1011

28

20

 

1100

30

22

 

1101

31

25

 

1110

32

28

 

1111

32

32

т. е. в таком алфавите нули встречаются в два раза чаще, чем единицы. Для N = 10 (код четырехзначный) соотношение нулей и единиц 25 к 15, т. е. нулей в 1,66 раза больше. При N = 16 наступает равенство (так как 16 = 24). При N ~ 17 (код пятизначный) соотношение нулей и единиц 52 к 33, т. е. нулей будет в 1,57 раза больше и т. д. Другими словами с увеличением числа N разница в вероятности появления 0 и I

уменьшается. Выражение log Я /log т тем точнее выражает L, чем боль­ ше N. Как видим из табл. 10, в равномерных кодах нули имеют тенден­ цию встречаться чаще, чем единицы. Разность вероятностей появления нулей и единиц с ростом N будет уменьшаться, а величина L будет при­ ближаться к отношению Я /log т, но никогда не будет ему равна.

Итак, при большом N среднее число элементарных сигналов на одну букву сообщения можно сделать сколь угодно близким к отно-

log Л7

.-

шению -г-^— .

. . .

log т

70

, Рассмотрим теперь случай поблочного кодирования, где каждый из блоков состоит из М независимых букв аъ а2, ...,ам ■Выражение для энтропии сообщения из всех букв блока, согласно правилу сложения энтропий,

Я (а 1,.оа, . . . , ам) = Я Ю + Я (а2) + • • • + Н(ам) = МН(а).

По аналогии с формулой (48) запишем выражение для средней длины такого кодового блока

 

МН

.

МН

(51)

 

log т

м <'

logт 4~ Ь

где Ьм — среднее количество букв в блоке.

 

Каждая буква,

в свою очередь,

состоит из L элементарных сим­

волов т. Поэтому

число

элементарных символов на букву сообще­

ния при блочном кодировании равно средней длине блока, деленной на число букв в блоке:

Ям

(52)

М

 

Нетрудно заметить, что L можно получить, разделив все части нера­ венства (51) на М. Тогда общее выражение среднего числа элементар­ ных символов на букву сообщения

l | s - <

i < T | 5 - + i r -

<53>

Из этого видно, что при М ->

со среднее число элементарных символов,

затрачиваемых на передачу одной буквы, неограниченно приближает-

Н

ся к величине ------. log т

Выражение (53) является основным выражением фундаментальной теоремы кодирования при отсутствии шумов. Сама теорема может быть сформулирована следующим образом:

при кодировании множества сигналов с энтропией Н в алфавите, насчитывающем т символов, при условии отсутствия шумов средняя длина кодового слова не может быть меньше, чем Н/log т. Если вероят­ ности сигналов не являются отрицательными степенями числа т, то точное достижение указанной границы невозможно; но при кодировании достаточно длинными блоками к этой границе можно сколь угодно приблизиться [47].

Для двоичных кодов при кодировании сообщений, состоящих из М буквенных блоков, можно выбрать такое М, что среднее число двоичных единиц на букву сообщения будет сколь угодно близким к log2 т. Общее число элементарных символов на все сообщение будет равно М log2m. Это позволяет для двоичных кодов основную теорему кодирования сформулировать так: при кодировании сообщений в двоич­ ном алфавите с ростом количества кодовых слов среднее число ■двоич­ ных знаков на букву сообщения приближается к энтропии источника сообщений.

71

Если вероятности появления сигналов являются целочисленными отрицательными степенями двух:

Pi = 2“ ‘ (г = 1, 2,

, т),

то среднее число двоичных знаков на букву в точности равно энтропии источника сообщений.

Выводы: 1. Чем длиннее первичное кодовое слово, тем точнее ве­

личина

характеризует среднюю длину кодового слова.

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

3. Из какого бы числа букв ни состоял алфавит, целесообразно коди­ ровать сообщения не побуквенно, а поблочно.

Задачи к теме 8

1. Построить код для 32-буквенного алфавита с минимальной длиной кодовых слов, если в текстах буквы встречаются с равными вероятностями, а число качествен­ ных признаков т = 2. Чему будет равна длина кодовых слов при т = 8; т = 16?

2.Чему равна минимальная средняя длина кодового слова для передачи ук­ раинских текстов без учета взаимозависимости между буквами алфавита? 1

3.Какое минимальное число вопросов необходимо задать собеседнику, чтобы угадать любое число из 240, если собеседник отвечает только «Да» и «Нет»?

4.Определить минимальную среднюю длину коАовых слов при передаче анг­ лийских текстов: равновероятным алфавитом, неравновероятным алфавитом, с уче­ том 2, 3, 5 и 8-буквенных сочетаний 12, если сообщение кодируется 20-буквенными блоками?

5. Требуется передать четыре сообщения двоичным кодом и кодом Морзе.

Вкаком случае длина кодовых слов будет меньше?

6.Чему равна минимальная длина кодовых слов для передачи 16, 128, 57, 10, 432 сообщений в восьмеричном и двоичном кодах?

7.Чему равна средняя длина кодового слова сообщений, составленных из алфа­

вита Л, В, С, D, если РА = 0,1; Рв = 0,2; Рс = 0,3; PD = 0,4?

8. Требуется передать 10 арабских "Цифр в двоичном коде; 5, 17, 31, 32, 33, 127, 128, 129, 1135, 4500. Представить эти цифры в двоичном коде. Для каких цифр вели-

logN

чина | 0~ — будет точнее выражать длину кодового слова?

9. Найти верхнюю и нижнюю границы минимальной средней длины кодовых блоков, если они составлены из восьмибуквенных слов по 2, 3, 4, 5, 8, 31, 32, 33 слова в блоке. Доказать, что верхняя и нижняя границы сближаются с удлинением блока.

Т е м а 9

I ОПТИМАЛЬНОЕ КОДИРОВАНИЕ

Основная теорема кодирования для каналов связи без шумов доказы­ вает лишь принципиальную возможность построения оптимальных

1 Для подсчета энтропии см. табл. 2.

2 См. задачу 4, тема 6.

72

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

Одним из основных положений этой теоремы является то, что при кодировании сообщения, разбитого на /V-буквенные блоки, можно, выбрав N достаточно большим, добиться того, чтобы среднее число двоичных элементарных сигналов, приходящихся на одну букву ис­

ходного сообщения,

было сколь угодно близким к Я /log т. Разность

L-

Н

меньше, чем больше Я , а Я достигает макси­

logm будет тем

мума при равновероятных и взаимонезависимых символах, отсюда вытекают основные свойства оптимальных кодов:

минимальная средняя длина кодового слова оптимального кода обеспечивается в том случае, когда избыточность каждого кодового слова сведена к минимуму (в идеальном случае — к нулю);

кодовые слова (алфавит) оптимального кода должны строиться из равновероятных и взаимонезависимых символов.

Из свойств оптимальных кодов вытекает первый принцип опти­ мального кодирования: выбор каждого кодового слова (независимо от того, означает оно букву или цифру) необходимо производить так, чтобы содержащееся в нем количество информации было' максималь­ ным, т. е. чтобы при любых значениях предыдущих кодовых слов выби­ раемое кодовое слово с одинаковой вероятностью принимало значение О или 1 («Да» или «Нет»). Второй принцип оптимального кодирования заключается в том, что кодовым словам, имеющим большую вероят­ ность, присваиваются более короткие кодовые обозначения.

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

1) множество из М сообщений располагают в порядке убывания вероятностей;

2) первоначальный ансамбль кодируемых сигналов разбивают на две группы таким образом, чтобы суммарные вероятности сообщений обеих групп были по возможности равны;

3) первой группе присваивают символ 0, второй группе — сим­ вол 1;

4) каждую из групп делят на две подгруппы так, чтобы их сум­ марные вероятности были по возможности равны;

5) первым подгруппам каждой из групп вновь присваивают О, а вторым — 1, в результате чего получают вторые цифры кода. Затем каждую из четырех подгрупп вновь делят на равные (с точки зрения суммарной вероятности) части и т. д. до тех пор, пока в каждой из подгрупп останется по одной букве.

Рассмотрим несколько конкретных примеров построения оптималь­ ных кодов.

73

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

Так как вероятности данного ансамбля сообщений равны pi = р2 = ... = р8 =

с=2~3и порядок их расположения не играет роли,то расположим их так, как показано в табл. 11. Затем разбиваем данное множество сообщений на две равновероятные группы. Первой группе в качестве первого символа кодовых слов присваиваем О, а второй — 1. Во второй колонке табл. 11 записываем четыре нуля и четыре единицы. После чего разбиваем каждую из групп еще на две равновероятные подгруппы. За­ тем каждой первой подгруппе присваиваем 0, а второй — 1 и записываем в третью колонку табл. 11. Далее, каждую из четырех подгрупп разбиваем на две равновероят­ ные части и первой из них присваиваем 0, а второй — 1, Таким образом, в четзертой колонке табл. 11 появятся значения третьего символа кодовых слов.

Согласно основной теореме кодирования среднее число двоичных знаков на букву кода в достаточно длинной последовательности кодов равно энтропии источни-

 

 

 

Таблица 11

Построение оптимального кода для сообщения, состоящего из восьми

равновероятных букв

 

 

 

 

Кодовое слово, полученное после разбиения

Буква

 

 

 

 

первого

второго

третьего

к

0

0

0

А»

0

0

1

Аз

а

1

0

А4

0

1

1

а5

1

0

0

Ае

1

■ 0

1

А?

1

1

0

а8

1

1

1

ка сообщений. Для рассматриваемого примера энтропия источника сообщений

Н = log2 N = log2 8 = 3 бит/символ,

а среднее число двоичных знаков на букву кода

N

1 = 2 / (0Рг = 0 ,1 2 5 - 3 .8 = 3 ,

где 1ц) — длина i-й кодовой комбинации; рг — вероятность появления t-ro символа комбинации длиной в /(*>

' Таким образом, 11 L, т. е. код является оптимальным для данного ансамбля сообщении.

Вывод: для ансамблей равновероятных сообщений оптимальным является равномерный код.

74

Пример 3. Построим оптимальный код сообщения, в котором вероятности появ­

ления букв подчиняются закону

т. е. буквы данного сообщения могут быть

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

Таблица 12

Построение оптимального кода для сообщения, состоящего из неравновероятных букв

Вероятность Буква появления

буквы

Кодовое слово после разбиения

перво­ го

второ­ го

треть­ его

чет­ вер­ того

пято­ го

шес­ того

WPi

 

 

Код, в котором вероятности появления букв

 

 

 

подчиняются закону pi =

(ту)

;

^Pi

 

1

 

 

1/2

0

 

 

 

_

1

0,5

X

'

1/4

1

0

 

:—

2

0,5

 

 

1/8

1

1

 

0

3

0,375

X

 

1/16

1

1

 

1

0

4

0,25

Л

 

1/32

1

1

 

1

1

0

 

5

0,15625

Ав

 

1/64

1

1

 

1

1

 

 

0

6

0,09175

 

 

Код;

в котором

вероятности появления букв

 

 

 

подчиняются закону р; =

(тр)

;

2pj

=

1

 

 

v

1/4

0

 

0

 

 

 

 

 

2

0,5

 

 

1/4

0

 

1

 

2

0,5

 

 

1/8

1

 

0

0

3

0,375

 

 

1/8

1

 

0

1

3

0,375

 

 

1/16

г

 

1

0

0

 

4.

0,25

 

 

1/16

1

 

1

0

1

 

4

0,25

 

 

1/16

1

 

1

1

0

 

4

0,25

 

 

1/16

1

 

1

1

1

 

 

4

0,25

 

 

Код с произвольным распределением

вероятностей

 

 

 

 

 

появления букв

 

 

 

 

 

 

 

0,5

0

 

0

 

 

 

 

 

1

0,5

 

 

0,25

1

 

 

2

0,5

 

 

0,098

1

 

1

0

0

 

4

0,392

 

 

0,052

1

 

1

0

1

 

4

0,208

 

 

0,04

1

 

1

1

0

 

4

0,16

 

 

0,03

1

 

1

1

1

0

5

0,15

 

 

0,19

1

 

1

1

1

 

 

0

6

0,114

 

 

0,011

1

 

1

1

1

 

 

1

6

0,66

75

Построение ведем по общей методике. Оптимальный код для данных условий представлен в табл. 12. Среднее число двоичных знаков на букву кода

N

(0 pi =

0,5 + 0,5 + 0,375 + 0,25 + 0,15625 + 0,09175 = 1,8730,

L = ' £ l

I

 

 

 

 

а энтропия источника

сообщений

 

 

 

Н — (Р\ log3 Pi + р2 log2 р2 +

• • • +

ре log2 р„) =

= 0,5 +

0,5 +

0,375 + 0,2487 + 0,1554 +

0,0909

= 1,8700 бит/символ.

Некоторое расхождение в тысячных объясняется тем, что в данном коде. 2 р + 1,

i

т. е. данный ансамбль сообщений не является полной группой событий (2pi яз 0,984). Однако чем длиннее будет выбранный ряд значений Л,-, тем ближе 2р£ будет к 1, тем ближе будет значение L к энтропии источника сообщений.

Таким образом, Н фактически равно L, т. е. код является оптимальным для дан­ ного ансамбля сообщений.

Вывод: Число элементарных символов на букву сообщения с распре­

делением вероятностей появления букв по закону Р{ = (-^-) возрастает в порядке убывания вероятностей как натуральный ряд чисел (1, 2,

3,..., М),

если i = l , 2, 3, ..., М.

Код,

рассмотренный в данном примере, удобен при декодировании,

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

Пример 4.

Построим оптимальный код сообщения, в котором вероятности появ­

ления букв подчиняются закону рг = 2~ ni, но 2рг =

1.

 

 

Код, удовлетворяющий данным условиям, строим по общей методике. Оптималь­

ный код представлен в табл. 12. Среднее число двоичных

знаков на букву

кода и

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

 

 

N

 

 

 

 

 

L = 2

I W Pi = 2 • °’5 + '2 • 0,375 + 4 • 0,25 =

2,75; бит/символ.

 

i

N

 

 

 

 

 

 

 

 

 

Н — — 2i Pi l°g2 Pi =

2 • 0,85 log2 0,85 +

2-0,125 log2 0,125 +

 

+ 4 • 0,0625 log2 0,0625 =

1 + 2 • 0,375 + 4 • 0,25 = 2,75 бит/символ.

Таким образом, H = L, так как удовлетворяется условие pt = 2 ~ ‘Ulf

где п

целое число, а

2 р; — 1.

 

 

 

 

 

i

 

 

 

 

Вывод. Кодовые слова одинаковой вероятности появления имеют равную длину.

На основании рассмотренных выше примеров, можно сказать, что оптимальными будут те коды, у которых средняя длина кодовой комбинации при заданном основании кода является минимальной и мало отличается от энтропии Источника сообщений. Коды с неравно­ мерным распределением символов, имеющие минимальную среднюю длину кодового слова, называются оптимальными неравномерными ко­ дами (ОНК).Максимально эффективными будут те ОНК, у которых

N

logs т 2 / ^ ( 0 = /ср = Я,

76

где т и N — символы соответственно вторичного и первичного алфа­ витов.

Для двоичных кодов

 

 

N

N

 

 

 

 

 

2 I (0 Pi =

— h

 

Pi log» Pi,

(54)

 

 

г—1

t=l

 

 

так

как log2 2

1. Очевидно,

что

равенство (54)

удовлетворяется

. при

условии

 

 

 

 

 

/(l) = — l0g2 pi = l0ga 1

Pi

Величина /,• точно равна Н, если pt == 2~"г, где п любое число. Если п не является целым числом для всех значений букв первичного алфавита, то /ср > Я и согласно основной теореме'кодирования при­ ближается к энтропии источника сообщений по мере укрупнения кодируемых блоков.

Эффективность ОНК оценивают при помощи коэффициента ста­ тистического сжатия

______ Iog2 N_____

Ясс =

ср

log2 т 2 Pih

i=1

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

к -

н

Л о .э —

1

" >

Чр

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

Для наиболее общего случая неравновероятных и взаимонезависимых символов 1

 

 

 

 

N

 

 

If

_

 

2 Pi 1°8з Pi

 

 

i—1

 

Л о .э

 

дг

 

 

 

logs т 2 P ih)

 

 

 

 

 

i—l

 

Пример 5.

Построим ОНК для

передачи сообщений, в которых вероятности

появления букв

первичного алфавита

равны: Ai =

0,5; Аг — 0,25; Аз = 0,098;

Л4 = 0,052; Аь — 0,04; А е — 0,03; Л7 =

0,019; Л8 = 0,011; и определим коэффициен­

ты статистического сжатия и относительной эффективности.

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

1 Для случая неравновероятных и взаимозависимых символов

н = ~ 2

2 PiP Ш ай ^ёзР Ф раф

<

/

77

алфавита были получены в результате статистических исследований). Затем символы алфавита располагают в порядке убывания вероятностей и производят последова­ тельные разбиения на группы с возможно близкими суммарными значениями вероят­ ностей, присваивая каждый раз верхней группе символов значение 0, а нижней — 1.

Построение кода для условий, заданных в данном примере, представлено в табл. 12. Определяем Н, Ксс и К03‘-

 

 

8

 

 

 

 

 

 

Н =

2 Pi l°g-2Pi =

— (0,5 log2 0,5 + 0,25 log2 0,25 + 0,098 ■log2 0,098 +

 

 

i=1

 

 

 

 

 

 

+

0,052 log2 0,052 +

0,04 log2 0,04 +

0,03 iog2 0,03 +

0,019 log2 0,019 +

+

0,011 log20,011) =

0,5 +

0,5 +

0,3284 + 0,2217 +

0,1875 + 0,1517 -|-

 

 

-j- 0,1086 +

0,0715 =

2,0676 бит/символ;

 

 

 

B max

 

Iog2 8

 

 

 

 

 

CX_

*cp

8

0

 

 

 

 

 

 

 

2

 

■0,5• 1 +

0,25• 2 + 0,098■4 + 0,052 • 4 +

0,04 • 4 +

0,03 • 5 + 0,019• 6 4* 0,011 • 6

 

 

К

 

 

2,0676

0,98.

 

 

 

 

 

2,09

 

В предыдущей теме был математически обоснован тот факт, что средняя длина кодового слова передаваемого сообщения по мере укрупнения кодируемых блоков будет уменьшаться, а код — прибли­ жаться к оптимальному. Попробуем теперь уяснить это.

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

н

фициент сжатия р = — (см. тему 6), уменьшается избыточность

•“ max

D = 1 — р, код приближается к оптимальному. В случае декоррелированных сообщений значительноупрощается вычисление энтропии:

N

Н = — 2 p(Bi)log2p(Bj) бит/блок,

i=1

'

где р (В,) — вероятность появления одного

из блоков. Энтропия на

символ

 

1"

Н= — -дг 2 Р iBi) log2 Р (Bi) бит]символ,

/=1

где N — число символов в блоке.

78

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

Так, тремя разрядами мы передаем и пять, и восемь сообщений.

Факти­

чески на передачу пяти сообщений достаточно L =

log2 т =

log2 5 =

= 2,32

символа. Избыточность от округления D =

k-— - [J,

1 —

~ ~

~ 0.3 [k — округленное значение ропт =

Семью раз­

рядами можно передать и 65, и 128 сообщений. Фактически на пере­ дачу 65 сообщений необходимо L — log2 65 = 6,02 символа. Однако, как известно, 65 сообщений в двоичном коде не может быть передано менее чем семью символами, т. е. избыточность от округления D —

б02

=1 ------у - = 0,14. Аналогично для 100 сообщений

Ропт

logs 100

= 6,64;

=

7;

 

0,05;

 

 

l°g2 2

 

 

 

 

 

для 1000

сообщений

 

 

 

 

 

1^опт =

J gvfQ” =

9,96; k = 1 0 ;

D =

10 — 9,96

= 0,04 и т. д.

 

 

log2 2

 

 

 

10

 

Совершенно очевидно, что избыточность от округления будет умень­ шаться по мере укрупнения блоков. Следовательно, код будет при­ ближаться к оптимальному.

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

Пример 6. Построим ОНК для передачи сообщения, алфавит которого состоит из двух букв — А и В с вероятностями рА — 0,89 и рд = 0,11, при кодировании пр

одному (I случай), два (II случай) и три (III случай) символа в блоке (табл. 13). Определяем средние числа двоичных знаков на букву кода и энтропии источни­

ков сообщений при кодировании по одному Lj, Н^, два

Lu, Л п и три Lni, Нп1

символа в блоке:

1 Е= 2 I (0 Pi = 0,89 + 0,11 =

1;

 

 

Я, = — 2

Pi l°g2 Pi = ~ (0,89 log2 0,89 + 0,11 log2 0,11) =

 

i=

0,3503 -j- 0,1496 = 0,499 бит!символ',

Lu = 2 < (0 Pi = 0.792 + 0,196 -f 0,294 +

0,036 = 1,318;

 

i

 

 

Hu = - 2

Pi bg2 Pi = - (0,792 log2 0,792 + 2 •0,098 log2 • 0,098 + 0,012) =

i

 

 

 

=

0,2664 +

0,3284 + 0,3284 + 0,076 = 0,9948 бит/символ-,

79

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