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

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

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

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

Добавлен: 18.10.2024

Просмотров: 105

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

К недостаткам кодирования большими блоками следует отнести то, что расшифровка сообщения не может быть осуществлена, пока в дешифраторе не накопится весь блок. А это фактически равно отстава­ нию принятого сообщения относительно источника на время накопле­ ния блока в дешифраторе.

Оптимальный код для русского алфавита

 

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

 

 

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

 

Буква

первого

второго

третьего

четверто­ го

пятого

шестого

седьмого

ВОСЬМОГО

девятого

 

 

 

 

 

 

|

 

 

 

 

Пробел

0,175

0

0

0

— — — — — —

О

0,090

0

0

1

Е

0,072

0

1

0

0

— — — — —

А

0,062

0

1

0

1

— — — — —

И

0,062

0

1

1

0 — — '— — —

Т

0,053

0

1

1

1

 

Н

0,053

1

0

0

0

С

0,045

1

0

0

1

0

__

р

0,040

1

0

0

1

1

в

0,038

1

0

I

0

л

0,035

1

0

1

1

0

к

0,028

1

0

1

1

1

— — — —

м

0,026

1

1

0

0

0

д

0,025

1

1

0

0

1

0

п

0,023

1

*

0

0

1

1

У

0,021

1

1

0

1 -

0

 

R

0,018

1

1

0

1

1

0

ы

0,016

1

1

0

1

1

1

3

0,016

1

1

1

0

0

0

ъ ,ь

0,014

1

1

1

0

0

1

Б

0,014

1

1

1

0

1

0

Г

0,013

1

1

1

0

1

1

Ч

0,012

1

1

1

1

0

0

Й

0,010

1

1

1

1

0

1

0

X

0,009

1

1

1

1

0

1

1

ж

0,007

1

1

1

1

1

0

0

ю

0,006

1

1

1

1

1

0

1

ш

0,006

1 •

г

1

1

1

1

0'

0

Ц

0,004

1

1

1

1

1

1

0

1

щ

0,003

1

1

1

1

1

1

1

0

э

0,002

1

1

1

1

1

1

1

1

0

ф

0,002

1

1

1

1

1

1

1

1

1

Таблица 15

Числознаков кодовомв

слове

 

5

1

!

3

0,525

30,270

40,288

4

0,248

4

0,248

4

0,212

40,212

50,225

5 0,200

40,152

50,175

5 0,140

50,130

60,150

6 0,138

50,105

60,108

6

0,096

6

0,096

6

0,084

6

0,084

6

0,078

60,072

70-070

7

0,063

7

0,049

70,042

80,042

8 0,032

80,024

90,018

9 0,018

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

83


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

Построение ОНК по методу Шеннона — Фано справедливо как для построения вторичных алфавитов с числом качественных призна­

ков

т = 2,

так и т >

2 (в последнем случае кодируемые символы

при

каждом

разбиении

делятся на от-групп с возможно равными

суммарными вероятностями). Но данная методика обладает некоторой неоднозначностью для случаев, когда код невозможно разбить на

группы с равными вероятностями. В таких случаях для

одного и то­

го же распределения

вероятностей появления символов

первичного

алфавита могут быть получены разные коды.

 

Пример 7. Построим код для передачи сообщений, составленных из алфавита с

распределением

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

Л х = 0,18;

Л2 = 0 ,1 8 ; Лз = 0,18; Л4 = 0 ,1 8 ;

Л&= 0,1; Л6 =

0,09; Л7 =

0,09.

 

 

 

Проведем построение по методу Шеннона — Фано. Результаты построения при­

ведены в табл. 16.

 

 

 

 

Средняя длина кодового слова: для I варианта

 

 

N

 

 

 

 

 

LCP1 = 2

1 (Ол =

4 • 0,36 +

2 - 0,54 + 0,3 = 2,82;

 

г=1

для II варианта

Lcpll = 1,62 -f 0,36 -f 0,3 + 2 • 0,27 = 2,82.

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

Пример 7 иллюстрирует тот факт, что при построении оптимальных кодов буквы кодируемого алфавита не всегда удается однозначно разбить на части с равной суммарной вероятностью. Однако если построение оптимального кода ведется правильно, то средняя длина кодового слова при любых вариантах разбиения будет оставаться одинаковой. Кроме того, из приведенного примера видно, что для од­ ного и того же алфавита по одной и той же методике полечены два, хотя и равноценных, но все же различных кода. Этой неоднозначности при построении оптимального неравномерного кода можно избежать, если использовать методику, предложенную Хаффменом [40].

Хаффмен показал, что для получения минимально возможной длины кода основания т с числом взаимонезависимых букв первичного алфавита N

 

 

N

 

 

7-ср =

2 I (l)Pi

 

 

 

i=i

 

необходимо и достаточно выполнение следующих условий:

1) если выписать

символы

в порядке

убывания вероятностей

Pi > Рь то ПРИ * < } 1 (0 < 1 (/);

 

кодовых слова равны по

2) два последних,

но не больше чем т,

длительности

и отличаются

лишь значениями последнего знака, т. е.

Inп, ~ ••• —

Ini = In, где

2 ■ < я0 • < N\

84


Построение поливариантного оптимального кода

 

Т а б л и ц а !5

 

 

Вариант

Буква

 

Вероятность

Кодовое слово

Номер разбиения

 

Аг

 

. 0,18

00

 

 

 

 

 

 

2

 

А,

 

0,18

010

 

I

 

 

 

 

3

А,

'

0,18

011

 

 

 

 

 

 

 

 

1

 

Л

 

0,18

10

 

 

 

 

 

 

2

 

А»

 

0,10

110

 

 

 

 

 

 

3

 

A ,

 

.0,09

1110

 

 

 

 

 

 

4

 

Л7

 

0,09

■1111

 

 

Аг

 

0,18

000

3

 

 

 

 

 

 

Аг

 

0,18

001

 

 

 

 

 

 

2

 

А,

 

0,18

01

 

 

 

 

 

 

1

и

а 4

 

0,18

100

 

 

 

 

 

3

 

 

 

 

 

 

А,

 

0,10

101

 

 

 

 

 

 

2

Ав

0,09

н о

 

'

>У<

 

 

'o

 

 

 

о

 

3

3) любая возможная последовательность lN — 1 кодовых сло должна либо сама быть кодовой комбинацией, либо иметь своим пре­ фиксом разрешенную комбинациюх.1

1 Доказательства необходимости и достаточности этих условий приведены в работе [40].

85


Исходя из данных условий, Хаффмен предложил следующий метод построения ОН К. Символы первичного алфавита выписывают в поряд­ ке убывания вероятностей. Последние п0 символов, где 2 < п , < т и N — п0/ш — 1 — целое число, объединяют в некоторый новый сим­ вол с вероятностью, равной сумме вероятностей объединяемых сим­ волов. Последние символы с учетом образованного символа вновь объединяют и получают новый, вспомогательный, символ. Опять выпи­ сывают символы в порядке убывания вероятностей с учетом вспомога­ тельного символа' и т. д. до тех пор, пока вероятности т оставшихся сим­ волов после N n j m — 1-го выписывания не дадут в сумме 1. На прак­ тике обычно не производят многократного выписывания вероятностей символов, а обходятся элементарными геометрическими построениями, которые будут рассмотрены ниже.

Рассмотрим пример применения метода Хаффмена для кодирова­ ния текстового сообщения, приведенный в работе Пирса [25]. В этом примерена сравнительно коротком тексте показаны корректирующие способности, заложенные в коде, обладающем свойством префикса.

Пример 8. Построим ОНК для передачи сообщения, составленного из следую­ щих слов

 

Слово

Вероятность

the (артикль) . . . .

 

man (человек) . . .

 

to (к)

(бежит........................) . . . .

 

runs

 

house (дом )................

0,04

likes (нравится) . . . . .

horse

(лошадь) . . . . .

0,03

sells

(продает) . . . . .

0,02

Во второй колонке этой таб­ лицы представлены вероятности появления каждого слова, неза­ висимо от появления другого слова.

Слова-блоки можно рас­ сматривать как некоторые сим­ волы, тогда энтропия на каждое слово-блок

Н = — (р1 logaPj + PglogjPa-f-

+ ‘ • + Ps l°g2 Рв) =

= —(0,5 log3 0,5+0,15 log2 0,15-f-

-f- • • • -f- 0,02 log2 0,02).

Рис. 21. К построению оптималь­ ного кода по методике Хаффмена.

Построение оптимального кода по методике Хаффмена представлено на рис. 21. Сначала находят слова с наименьшими вероятностями: sells (0,02) и horse (0,03). Затем проводят от них линию к точке, в которой вероятность появления либо слова

86


sells, либо слова horse равна 0,05. Далее, берут два слова с вероятностями 0,04 (likes) и 0,04 (house) и получают новую точку с . вероятностью 0,08. Теперь наименьшими вероятностями обладают точки, соответствующие вспомогательным символам с ве­ роятностями 0,05 и 0,08. Соединяем их линиями с новой точкой, соответствующей вспомогательному символу с вероятностью появления 0,13. Продолжают так до тех пор, пока линии от основных и вспомогательных символов не сольются в точке, даю­ щей суммарную вероятность, равную 1.

Построение оптимального кода

Хаффмена

 

Таблица 17

Блок

Вероятность

OHK

Число знаков в

' « Pi

кодовом слове

the

0,50

1

1

0,50

man

0,15

001

. 3

0,45

to

0,12

011

3

0,36

runs

0,10

010

3

0,30

house

0,04

00011

5

0,20

likes

0,04

00010

5

0,20

horse

0,03

00001

5 .

0,15

sells

0,02

00000

5

0,10

Обозначив каждую верхнюю линию рис. 21 цифрой 1, а нижнюю — цифрой O', получим ОНК, который для каждого слова представляет собой последовательность нулей и единиц, встречающихся по пути к данному слову от конечной точки (1,00).

Полученные коды представлены в табл.

17.

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

ния соответственно равны:

 

N

 

Lcp= 2

МОЛ =2,26;

N

(=1

Н = 2

Pi l°ga Pi — 0,5 log2 0,5 + 0,15 log2 0,15-1-------f- 0,02 log2 0,02=2,21 бит/символ.

;= 1

Нетрудно убедиться в том, что, кодируя по методу Шеннона — Фано, мы на­ шли бы ту же среднюю длину кодового слова. При этом, найденные коды имели бы вид: 0; 100; 101; 110; 11100; 11101; 11110; Ill'll.

Полученные коды (табл. 17) могут быть однозначно декодированы на приемном конце благодаря тому, что ни один из них не является началом другого, т. е. эти коды обладают свойством префикса. Более того, такой код может автоматически восста­ новить-правильное содержание даже в том случае, когда декодирование началось не сначала сообщения или код был принят с ошибкой. Например, прием сообщения the man sells the house to the man the horse runs to the man начался после первой вер­ тикальной линии1

the

man

sells

the

house

I

001

00 000

1

0 001

1

to

the

likes

man . the

man

the

horse

runs

001

1

001

1

00001

010

to

the

man

the

horse

runs

to

the

man

 

 

 

Oil

1

001

 

 

 

to

the

man

 

 

 

Как видим, сообщение восстановилось уже после третьего слова.

1 Процесс декодирования начинается с того, что находится кратчайшая после­ довательность цифр, которая в этом коде обозначает слово. Так, в нашем примере после первой пунктирной линии кратчайшая последовательность нулей и единиц соответствует слову likes, затем слову man и т. д.

87