- •Энтропия как мера неопределенности физической системы
- •Энтропия сложной системы
- •Условная энтропия
- •Основные свойства условной энтропии
- •Количественные аспекты информации
- •Количество информации, как мера снятой неопределенности
- •Объем информации
- •Взаимная информация
- •Взаимная информация
- •Вопросы
- •Упражнения
- •Лабораторная работа Свойства энтропии
- •Глава 2. Неопределенность непрерывных случайных величин Энтропия непрерывной случайной величины х
- •Количество информации для непрерывных систем
- •Принцип экстремума энтропии и экстремальные распределения
- •Сравнительная оценка сообщений, передаваемых по нормальному закону и равновероятному закону распределений
- •Епсилон -энтропия (ε-энтропия )
- •Вопросы
- •Упражнения
- •Глава3. Глава 3 Передача информации по каналам связи
- •Источники сообщений
- •Избыточность информации
- •Передача информации по каналу связи. Пропускная способность канала
- •Матрица для нахождения условной вероятности
- •Матрица условных вероятностей имеет вид
- •Согласование скорости выдачи информации, выдаваемой источником, с пропускной способностью канала связи
- •Согласование оконечных устройств с каналами связи
- •Вопросы
- •Упражнения
- •Лабораторная работа Скорость передачи информации и пропускная способность каналов связи
- •Глава4. Кодирование информации
- •Префиксные коды
- •Основные теоремы кодирования
- •Оптимальное кодирование
- •Код Шеннона-Фано
- •Блочное кодирование
- •Код Хаффмана
- •Совмещенный способ построения кода Хаффмана Совмещенный способ построения кода Хаффмана – объединение двух процессов: обычного алгоритма построения и метода дерева.
- •Сжатие информации
- •Классификация сжатия по виду информации
- •1) Побуквенное сжатие
- •2) Сжатие слов и словосочетаний
- •3) Сжатие и свертывание текста
- •4) Сжатие массивов чисел
- •5) Сжатие графической информации
- •Вопросы
- •Упражнения
- •Лабораторная работа Кодирование информации
- •Содержание отчета
- •Глава 5. Помехоустойчивое кодирование
- •Коды с обнаружением ошибок
- •1. Код с проверкой на четность.
- •2. Код с постоянным весом.
- •Корректирующие коды
- •Код Хэмминга
- •Проверяем ее
- •Техническая реализация кода Хэмминга
- •Декодирование циклических кодов
- •Вопросы
- •Упражнения
- •Приложение
Оптимальное кодирование
Одно и то же сообщение можно закодировать различными способами. Оптимально закодированным будем считать такой код, при котором на передачу сообщений затрачивается минимальное время. Если на передачу каждого элементарного символа (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=1-2,75/3=0,084, видим, что возможно сокращение длины кода на 8,4%.
Возникает вопрос: возможно ли составить код, в котором на одну букву будет, в среднем приходится меньше элементарных символов.
Такие коды существуют. Это коды Шеннона-Фано и Хаффмана.
Принцип построения оптимальных кодов:
1. Каждый элементарный символ должен переносить максимальное количество информации, для этого необходимо, чтобы элементарные символы (0 и 1) в закодированном тексте встречались в среднем одинаково часто. Энтропия в этом случае будет максимальной.
2. Необходимо буквам первичного алфавита, имеющим большую вероятность, присваивать более короткие кодовые слова вторичного алфавита.
Код Шеннона-Фано
Пример 2. Закодируем буквы алфавита из примера 1 в коде Шеннона-Фано.
Все буквы записываются в порядке убывания их вероятностей, затем делятся на равновероятные группы, которые обозначаются 0 и 1, затем вновь делятся на равновероятные группы и т.д. (см.табл.4.1)
Таблица 4.1.
|
|
||||||
X |
P |
|
|
|
|
Коды |
|
x1 |
1/4 |
0 |
0 |
------- |
------- |
00 |
|
x2 |
1/4 |
1 |
------- |
------- |
01 |
||
x3, |
1/8 |
1 |
0 |
0 |
------- |
100 |
|
x4 |
1/8 |
1 |
------- |
101 |
|||
x5 |
1/16 |
1 |
0 |
0 |
1100 |
||
x6 |
1/16 |
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 |
0 |
- |
000 |
|
о |
0.095 |
1 |
- |
001 |
|||
е |
0.074 |
1 |
0 |
0 |
0100 |
||
а |
0.064 |
1 |
0101 |
||||
и |
0.064 |
1 |
0 |
0110 |
|||
н |
0.056 |
1 |
0111 |
||||
т |
0.056 |
1 … |
0 … |
0 |
- |
|
|
с |
0.047 |
1 … |
0 … 1 |
|
|||
... |
… |
||||||
ф |
0.03 |
||||||
Средняя
длина данного кода будет равна,
бит/букву;
Энтропия
H=4.42
бит/буква. Эффективность полученного
кода можно определить как отношение
энтропии к средней длине кода. Она равна
0,994. При значении равном единице код
является оптимальным. Если бы мы
кодировали кодом равномерной длины
,
то эффективность была бы значительно
ниже.
