Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория информации / раб тетрадь ТИ.doc
Скачиваний:
258
Добавлен:
23.02.2015
Размер:
302.08 Кб
Скачать

4. Эффективное кодирование

1. Тема занятия

Рассматриваются оптимальные коды и методики эффективного кодирования Шеннона-Фэно и Хаффмена. Оценивается эффективность оптимальных неравномерных кодов (ОНК).

2. Основные понятия и определения

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

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

Оптимальные (или эффективные) коды– коды с практически нулевой избыточностью. Оптимальные коды имеют минимальную среднюю длину кодовых слов.

Минимальная длина кодового слова Lmin=H(x)/logm, гдеH(x) – энтропия источника , аm– число символов кода (вторичного алфавита).

Код остается эффективным при

Для оценки эффективности кодирования определяют коэффициент статического сжатияКсс=Hmax(x)/lсри коэффициент относительной эффективностиКоэ=H(x)/lср.

3. Примеры решения задач

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

Решение.

L=log2N/log2mN– общее число передаваемых сообщений

m– качественный признак алфавита

1) L1 = log2 16/log2 2 = 4; L2 = log2 128/log2 2 = 7; L3 = log2 57/log2 2 = 5,83, округляем до 6; L4 = log2 10/log2 2 = 3,32, L4 = 4; L5 = log2 432/log2 2 = log2 6+ log2 72 = 2,58 + 6,61 = 8,74, L5 = 9.

2) L1 = log2 16/log2 8 ≈ 1.3, L1 = 2; L2 = log2 128/log2 8 = 2,33, L2 = 3; L3 = log2 57/log2 8 = 1,94, округляем до 2; L4 = log2 10/log2 8 = 1,1, L4 = 2; L5 = log2 432/log2 8 = 8,74/3, L5 = 3.

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

Решение.

N = log2 240/log2 2 = log2 24+ log2 10 = 4,58 + 3,32 = 7,9. Так как число 7,9 вопросов нельзя задать, то число вопросов будет 8.

Задача 4.3. Закодировать оптимальным кодом последовательность из трех символов А, В, С с вероятностями соответственноpA= 0,7;pB= 0,2;pC= 0,1. Сравнить относительную эффективность при посимвольном кодировании, при кодировании по два и по три символа. Вычислить соответствующие коэффициенты статического сжатия и относительной эффективности.

Решение.

Случай кодирования

Буква

Вероятность

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

li

pili

10

1

A

0,7

0

1

0,7

B

0,2

10

2

0,4

C

0,1

10

2

0,2

lср = 1,3

2

AA

0,49

0

1

0,49

AB

0,14

100

3

0,42

BA

0,14

101

3

0,42

CA

0,07

1100

4

0,28

AC

0,07

1101

4

0,28

BB

0,04

1110

4

0,16

CB

0,02

11110

5

0,1

BC

0,02

111110

6

0,12

CC

0,01

111111

6

0,12

∑ pi = 1

lСР=2,39

H = -(0,7 log2 0,7 + 0,2 log2 0,2+ 0,1 log2 0,1) = 0,360 + 0,464 + 0,332 = 1,156 бит/символ;

Hмакс=log23 = 1,584бит/символ;

Кс.с.1= 1,584/1,3 ≈ 1,215;

Ко.э.1= 1,156/1,3 ≈ 0,86.

Hмакс = log2 9 = 3,169;

H = -(0,49 log2 0,49 + 2·0,14 log2 0,14+…+ 0,01log20,01) = 0,504 + 2·0,268 + 0,185 + 2·0,112+ 0,066 = 2,309бит/символ;

Кс.с.2= 3,169/2,39 = 1,321;

Ко.э.2= 2,309/2,39 = 0,96.

Аналогично поступаем с блоком из трех букв

Задача 4.4. Дан алфавит со следующим распределением вероятностей: р1= 0,4;p2= 0,18;p3= 0,1;p5= 0,07;p6= 0,06; р7= 0,05; р8= 0,04. Построить оптимальные коды методом Шеннона – Фано и методом Хаффмена. Определить, какой код требует меньшей емкости канала связи.

Вероятность

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

li

pili

0,4

00

2

0,8

0,18

01

2

0,36

0,10

101

3

0,3

0,10

100

3

0,3

0,07

1100

4

0,28

0,06

1101

4

0,24

0,05

1110

4

0,2

0,04

1111

4

0,16

∑ pi = 1

lср = 2,64

Вероятность

Дерево

Код

li

pili

1,0

0,4

1

1

0,4

0,60

0,37

0,23

0,18

001

3

0,54

0,10

011

3

0,3

0,10

0001

4

0,4

0,13

0,07

0101

4

0,28

0,06

0100

4

0,24

0,19

0,05

00001

5

0,25

0,09

0,04

00000

5

0,2

lср = 2,61

Меньшей емкости требует код, в котором lср меньше.

Соседние файлы в папке Теория информации