- •Теория информации Учебное пособие
- •Введение
- •1. Информационные характеристики источников сообщений
- •Энтропия как мера неопределенности физической системы
- •1.2 Энтропия сложной системы
- •Сложение энтропии независимых систем
- •Условная энтропия
- •1.3. Количественные аспекты информации
- •1.4. Количество информации, как мера снятой неопределенности
- •1.5. Объем информации
- •1.6. Взаимная информация
- •Упражнения
- •Решение
- •Лабораторная работа Свойства энтропии
- •2. Неопределенность непрерывных случайных величин
- •2.1. Энтропия непрерывной случайной величины х
- •2.2. Количество информации для непрерывных систем
- •2.3. Принцип экстремума энтропии и экстремальные распределения
- •Подставим (2.9) в (2.6)
- •При взятии интеграла учтем, что имеется соответствующий табличный интеграл
- •Сравнительная оценка сообщений, передаваемых по нормальному закону и равновероятному закону распределений
- •2.4. Епсилон энтропия (ε-энтропия )
- •3. Передача информации по каналам связи
- •3.1. Источники сообщений
- •3.2. Избыточность информации
- •3.3. Передача информации по каналу связи. Пропускная способность канала
- •Матрица для нахождения условной вероятности
- •Матрица условных вероятностей имеет вид
- •3.4. Пропускная способность непрерывных каналов связи
- •Скорость передачи информации будет равняться
- •Тогда , (3.8) где p мощность сигнала, а n мощность помехи
- •3.5. Согласование скорости выдачи информации, выдаваемой источником, с пропускной способностью канала связи
- •3.6. Согласование оконечных устройств с каналами связи
- •Упражнения
- •Лабораторная работа
- •4. Кодирование информации
- •4.1. Префиксные коды
- •Коды 1,2,3 не обладают свойством префикса, а код 4 обладает.
- •4.2. Основные теоремы кодирования
- •4.3. Оптимальное кодирование
- •4.4. Код Шеннона – Фано
- •Средняя длина полученного кода будет равна
- •4.5. Блочное кодирование
- •4.6. Код Хаффмана
- •4.7. Совмещенный способ построения кода Хаффмана Совмещенный способ построения кода Хаффмана представляет объединение двух процессов: обычного алгоритма построения и метода дерева.
- •Лабораторная работа
- •5. Сжатие информации
- •5.1. Основные понятия
- •5.2. Методы сжатия без потерь
- •Кодирование длин серий (rle - кодирование)
- •Коды Фибоначчи
- •Методы энтропийного сжатия
- •Метод арифметического сжатия
- •Методы контекстного моделирования
- •Словарные методы сжатия
- •5.3. Методы сжатия с потерями
- •6. Помехоустойчивое кодирование
- •6.1 Коды с обнаружением ошибок
- •Код с проверкой на четность.
- •Код Грея записывается следующим образом
- •Обратный переход из кода Грея в двоичный код
- •6.2. Корректирующие коды
- •6.3. Код Хемминга
- •Проверяем ее
- •6.4. Техническая реализация кода Хэмминга
- •6.5 Циклические коды
- •Декодирование циклических кодов
- •Аппаратурная реализация циклических кодов.
- •Пусть на вход подается комбинация 1101001
- •Теперь пусть на вход подается комбинация с ошибкой 1100001
- •Упражнения
- •Лабораторная работа
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 7
- •Задание 8
- •Задание 9
- •Задание 10
- •Задание 11
- •Задание 12
- •Задание 13
- •Задание 14
- •Задание 15
- •Задание 16
- •Задание 17
- •Задание 18
- •Задание 19
- •Задание 20
- •Список литературы
- •Оглавление
4.3. Оптимальное кодирование
Одно и то же сообщение можно закодировать различными способами. Оптимально закодированным будем считать такой код, при котором на передачу сообщений затрачивается минимальное время. Если на передачу каждого элементарного символа (0 или 1) тратиться одно и то же время, то оптимальным будет такой код, который будет иметь минимально возможную длину.
Пример 1.
Пусть
имеется случайная величина
X(x1,x2,x3,x4,x5,x6,x7,x8),
имеющая восемь состояний с распределением
вероятностей
Для кодирования алфавита из восьми букв без учета вероятностей равномерным двоичным кодом нам понадобятся три символа:
Это
000, 001, 010, 011, 100, 101, 110, 111
Чтобы ответить, хорош этот код или нет, необходимо сравнить его с оптимальным значением, то есть определить энтропию
Определив избыточность L по формуле L=1-H/H0=12,75/3=0,084, видим, что возможно сокращение длины кода на 8,4%.
Возникает вопрос: возможно ли составить код, в котором на одну букву будет, в среднем приходится меньше элементарных символов.
Такие коды существуют. Это коды ШеннонаФано и Хаффмана.
Принцип построения оптимальных кодов:
Каждый элементарный символ должен переносить максимальное количество информации, для этого необходимо, чтобы элементарные символы (0 и 1) в закодированном тексте встречались в среднем одинаково часто. Энтропия в этом случае будет максимальной.
Необходимо буквам первичного алфавита, имеющим большую вероятность, присваивать более короткие кодовые слова вторичного алфавита.
4.4. Код Шеннона – Фано
Пример 2. Закодируем буквы алфавита из примера 1 в коде ШеннонаФано.
Все буквы записываются в порядке убывания их вероятностей, затем делятся на равновероятные группы, которые обозначаются 0 и 1, затем вновь делятся на равновероятные группы и т.д. (см.табл.4.1)
Таблица 4.1.
X |
P |
|
|
|
|
Коды |
x1 |
1/4 |
0 |
0 |
------- |
------- |
00 |
x2 |
1/4 |
|
1 |
------- |
------- |
01 |
x3, |
1/8 |
|
0 |
0 |
------- |
100 |
x4 |
1/8 |
|
|
1 |
------- |
101 |
x5 |
1/16 |
1 |
|
0 |
0 |
1100 |
x6 |
1/16 |
|
1 |
|
1 |
1101 |
x7 |
1/16 |
|
|
1 |
0 |
1110 |
x8 |
1/16 |
|
|
|
1 |
1111 |
Средняя длина полученного кода будет равна
Итак, мы получили оптимальный код. Длина этого кода совпала с энтропией. Данный код оказался удачным, так как величины вероятностей точно делились на равновероятные группы.
Пример 3.
Возьмем 32 две буквы русского алфавита. Частоты этих букв известны. В алфавит включен и пробел, частота которого составляет 0,145. Метод кодирования представлен в таблице 4.2.
Таблица 4.2.
Буква |
Рi |
1 |
2 |
3 |
4 |
Код |
ب |
0.145 |
|
0 |
0 |
- |
000 |
о |
0.095 |
|
|
1 |
- |
001 |
е |
0.074 |
0 |
|
0 |
0 |
0100 |
а |
0.064 |
|
1 |
|
1 |
0101 |
и |
0.064 |
|
|
1 |
0 |
0110 |
н |
0.056 |
|
|
|
1 |
0111 |
т |
0.056 |
|
0 |
0 |
0 |
1000 |
с |
0.047 |
1 |
|
1 |
0 |
1010 |
... |
… |
… |
… |
… |
… |
. . . |
ф |
0.03 |
|
|
|
1 |
|
Средняя
длина данного кода будет равна,
бит/букву;
Энтропия
H=4.42
бит/буква. Эффективность полученного
кода можно определить как отношение
энтропии к средней длине кода. Она равна
0,994. При значении равном единице код
является оптимальным. Если бы мы
кодировали кодом равномерной длины
,
то эффективность была бы значительно
ниже.
