
- •Основы Теории Информации Гордеев э.Н.
- •Содержание
- •1Введение
- •1.1Предмет курса
- •1.2Основная цель курса
- •1.3Теория информации и смежные дисциплины
- •1.4Подходы к определению понятия информация.
- •2Алфавит. Слово. Язык. Информация.
- •3Информация и алгоритм.
- •3.1Задачи, алгоритмы
- •3.1.1Задача
- •3.2Алгоритм
- •3.2.1Нормальные алгорифмы Маркова (нам).
- •3.2.2Машины Тьюринга
- •4Кодирование информации. Количество информации. Сжатие информации.
- •4.1Кодирование информации.
- •4.1.1Примеры кодировок
- •4.1.2Свойства кодировок
- •4.2Наиболее распространенные способы кодирования и их свойства. Алгоритмы кодирования.
- •4.2.1Кодирование слов и поиск минимального кода
- •4.2.2Признаковое кодирование.
- •4.2.3Признаковое кодирование и проблема распознавания.
- •4.2.4Сериальное кодирование
- •4.2.5Алфавитное кодирование.
- •4.2.5.1Неравенство Крафта.
- •4.2.5.2Префиксные коды.
- •4.2.6Кодирование натурального ряда.
- •4.2.6.1Код Элайеса.
- •4.2.6.2Код Левенштейна
- •5Количество информации. Энтропия.
- •5.1.1Энтропия по Хартли.
- •5.1.2Энтропия по Шеннону.
- •5.1.2.1Математическая модель: алфавитное кодирование случайного источника.
- •5.1.2.2Энтропия по Шеннону
- •5.1.2.3Энтропия по Шеннону и энтропия по Хартли.
- •6Теорема Шеннона
- •7Свойства энтропии.
- •8Алгоритмы кодирования
- •8.1Алгоритм Шеннона (Фано)
- •8.2Алгоритм Хаффмана
- •8.3Блочное кодирование
- •8.4Алгоритм арифметического кодирования
- •8.5Код Элайеса
- •8.6Код Левенштейна
- •9Блочное кодирование и теорема Шеннона.
- •10Канал с шумом.
- •10.1Модели каналов.
- •10.2Передача информации по двоичному симметричному каналу с шумом
- •10.2.1Схема и принципы кодирования.
- •10.3Корректирующие способности кодов. Границы мощности.
- •10.4Теорема Шеннона для канала с шумом.
- •10.4.1Факты из теории вероятности.
- •10.4.2Схема кодирования и декодирования. Вспомогательные утверждения.
- •10.4.3Вероятностное доказательство теоремы.
- •10.4.4Комбинаторное доказательство теоремы.
- •10.5Линейные коды
- •10.5.1Пример. Код Хемминга.
- •10.5.2Замечание. Совершенные коды и теорема Шеннона.
- •10.5.3Бчх – коды
- •10.6Спектр кода. Эквидистантные коды
- •11Рекомендованная литература
6Теорема Шеннона
Рассмотрим теперь математическую модель, являющуюся объединением двух предыдущих. Случайный источник генерирует буквы алфавита А = (а1, … , аn), к которым потом применяется некоторый алгоритм алфавитного кодирования φ. (Каждой букве ai алфавита A ставится в соответствие Bi= φ(ai) – слово длины li в алфавите B = (b1, … , bq)). Как можно оценить качество такого алгоритма?
В случае
вероятностного источника такие
количественные характеристики алгоритма
как
или
уже не являются информативными, так как
не зависят от вероятностей.
В этом
случае удобно использовать величину
, которая характеризует среднее количество
букв алфавита B , приходящееся
на один символ алфавита A
при алфавитном кодировании ϕ. (Назовем
эту величину стоимостью кодирования
ϕ). Пусть теперь
,
где минимум берется по всем возможным
дешифруемым алгоритмам алфавитного
кодирования (при заданных алфавитах A
и B и распределении
вероятностей p1…pn).
(Назовем эту величину минимальной
стоимостью кодирования).
Если бы мы знали C(A), то смогли бы оценить качество нашего алгоритма ϕ.
Следующая теорема (она известна под названием теоремы Шеннона для канала без шума) дает ответ на этот практически важный вопрос.
Теорема. Справедливо соотношение
.
Доказательство.
Сначала докажем оценку снизу
.
В следующих выкладках все суммы берутся по i=1,..,n. Используется известное из математического анализа неравенство ln x x – 1, log x log e(x – 1), а также неравенство Крафта.
(
– по неравенству Крафта,
).
Для доказательства оценки сверху мы построим конкретный алгоритм алфавитного кодирования ϕ (известный как алгоритм Шеннона-Фано). Ведь если оценка сверху будет выполняться для некоторого Cϕ(A), то она будет выполняться и для C(A).
В данном коде набор длин задается следующим соотношением.
(целая
часть с избытком (сверху)).
Проверим, удовлетворяет ли этот набор неравенству Крафта.
,
неравенство выполняется.
Теперь построим код точно также, как это делалось выше при доказательстве теоремы о существовании префиксного кода. Оценим теперь сверху величину Cϕ(A) для этого кода.
Cϕ(A)
=
.
Теорема доказана.
Для случая бинарного алфавита В получаем неравенство
Н(А) С(А) Н(А) + 1.
Пример. Рассмотрим алфавит А = {0,…,9}. Ниже приведены два способа префиксного дешифруемого кодирования цифр бинарными последовательностями. Первый способ – это простой перевод в двоичную запись.
I
способ 0 0000 II
способ: 0 000
1 0001 1 010
2 0010 2 001
3 0011 3 011
4 0100 4 100
5 0101 5 101
6 0110 6 1100
7 0111 7 1101
8 1000 8 1110
9 1001 9 1111
На рисунке по колонками приведены значения Cϕ(A) для обоих способов в предположении, что цифры генерируются случайным источником равновероятно. Из теоремы Шеннона следует оценка
С(А)
Н(А) =
Второй алгоритм дает достаточно близкий результат. (На самом деле можно показать, что для данного случайного источника С(А)=3,4. )