
- •Меры информации
- •1. Тема занятия
- •2. Основные понятия и определения
- •3. Примеры решения задач
- •4. Задачи для самостоятельного решения
- •2. Условная энтропия и энтропия объединения
- •1. Тема занятия
- •2. Основные понятия и определения
- •3. Примеры решения задач
- •4. Задачи для самостоятельного решения
- •3. Передача информации по каналам связи
- •1. Тема занятия
- •2. Основные понятия и определения
- •3. Примеры решения задач
- •4. Задачи для самостоятельного решения
- •4. Эффективное кодирование
- •1. Тема занятия
- •2. Основные понятия и определения
- •3. Примеры решения задач
- •4. Задачи для самостоятельного решения
- •5. Помехоустойчивое кодирование. Построение Групповых кодов
- •1. Тема занятия
- •2. Основные понятия
- •3. Примеры решения задач
- •4. Задачи для самостоятельного решения
- •Циклические коды
- •1. Тема занятия
- •2. Основные понятия
- •3. Примеры решения задач
- •4. Задачи для самостоятельного решения
- •Список литературы
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 |
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 |
|
1 |
1 |
0,4 |
0,60
0,37
0,23 |
001 |
3 |
0,54 | |
|
011 |
3 |
0,3 | |
|
0001 |
4 |
0,4 | |
0,13 |
0101 |
4 |
0,28 | |
|
0100 |
4 |
0,24 | |
0,19 |
00001 |
5 |
0,25 | |
0,09 |
00000 |
5 |
0,2 | |
|
|
|
lср = 2,61 |
Меньшей емкости требует код, в котором lср меньше.