- •Э.Н.Гордеев основы теории информации
- •Раздел 1. Информация и Алгоритм. Коды объектов. 12
- •Раздел 2. Сжатие информации. 30
- •Раздел 3. Передача информации. Защита от искажений. 56
- •Раздел 1. Информация и Алгоритм. Коды объектов. 10
- •Раздел 2. Сжатие информации. 29
- •Раздел 3. Передача информации. Защита от искажений. 55
- •12 Рекомендованная литература 122
- •Введение.
- •Алгоритм
- •Представление (кодирование) информации.
- •Примеры кодировок
- •Свойства кодировок
- •Способы представления (кодирования) информации.
- •Кодирование слов и поиск минимального кода
- •Признаковое кодирование.
- •Раздел 2. Сжатие информации.
- •Кодирование информации. Количество информации. Сжатие информации.
- •Сериальное кодирование
- •Алфавитное кодирование.
- •Неравенство Крафта.
- •Префиксные коды.
- •Кодирование натурального ряда.
- •Код Элайеса.
- •Код Левенштейна
- •Количество информации. Энтропия.
- •Энтропия по Хартли.
- •Энтропия по Шеннону.
- •Математическая модель: алфавитное кодирование случайного источника.
- •Энтропия по Шеннону
- •Энтропия по Шеннону и энтропия по Хартли.
- •Теорема Шеннона
- •Алгоритмы кодирования
- •Алгоритм Шеннона (Фано).
- •Алгоритм Хаффмана
- •Блочное кодирование Хаффмена.
- •Алгоритм арифметического кодирования
- •Блочное кодирование и теорема Шеннона.
- •Раздел 3. Передача информации. Защита от искажений.
- •Передача информации по каналу с шумом.
- •Модели каналов.
- •Необходимые определения.
- •Пример кода для канала с выпадением.
- •Передача информации по двоичному симметричному каналу с шумом
- •Принципы построения кодов, исправляющих ошибки.
- •Декодирование на основе таблицы декодирования.
- •Корректирующие способности кодов. Границы мощности.
- •Теорема Шеннона для канала с шумом.
- •Факты из теории вероятности.
- •XI → канал → y
- •Вторая теорема Шеннона.
- •Комбинаторное доказательство теоремы.
- •Примеры кодов, исправляющих ошибки. Линейные коды.
- •Линейные коды.
- •Спектр кода.
- •Код Хэмминга.
- •Вопросы для самопроверки.
- •Примеры билетов для контрольных работ.
- •Приложение.
- •Рекомендованная литература
Энтропия по Шеннону
Опр. Энтропией случайного источника (энтропией Шеннона) называется число
H(A)
=
.
Энтропия по Шеннону и энтропия по Хартли.
Заметим, что
Энтропия по Хартли является частным
случаем энтропии по Шеннону. Если все
, то H(A)
= log n
, а это и есть Энтропия по Хартли
множества из n
элементов. В общем случае справедливо
следующее утверждение, которое показывает,
что энтропия по Хартли является оценкой
сверху для энтропии по Шеннону. То есть
ситуация равновероятных событий
наихудшая с точки зрения информативности.
В следующем и других доказательствах нам потребуется математический факт, известный как неравенство Йенсена.
Неравенство Йенсена.
Пусть даны числа α1…αn
, αi>0
,
.
Тогда для выпуклой вверх функции
f(x) справедливо неравенство.
Для выпуклой вниз функции выполняется противоположное неравенство:
Теорема: Пусть имеется случайный источник, который генерирует буквы алфавита A = (a1…an) с вероятностями p1…pn,тогда справедливо соотношение
H(A)
=
.
Доказательство. Рассмотрим функцию f(x) = -x log x. Так как f’(x) = - log x – 1/ln2 и f’’(x) = - 1/x , то при x ≥ 0 функция f(x) выпукла вверх. Тогда для нее справедливо неравенство Йенсена: Возьмем α1…αn , αi>0 ,
Положим αi = 1/n, xi = pi ,i=1,…,n.
H(A)
=
Здесь мы учли,
что
/n.
Теорема доказана.
Теорема Шеннона
Рассмотрим теперь математическую модель, являющуюся объединением двух предыдущих. Случайный источник генерирует буквы алфавита А = (а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 (x – 1) log e, а также неравенство Крафта (суммирование везде ведется от 1 до n).
(
– по неравенству Крафта,
).
Для доказательства оценки сверху мы построим конкретный алгоритм алфавитного кодирования ϕ (известный как алгоритм Шеннона-Фано). Ведь если оценка сверху будет выполняться для некоторого Cϕ(A), то она будет выполняться и для C(A).
В данном коде набор длин задается следующим соотношением.
(целая
часть с избытком (сверху)).
Проверим, удовлетворяет ли этот набор неравенству Крафта.
,
неравенство выполняется.
Теперь построим код точно также, как это делалось выше при доказательстве теоремы о существовании префиксного кода в случае выполнения неравенства Крафта (мы строили сначала слова Bi длины 1, затем слова длины два и т.д.).
Оценим теперь сверху величину Cϕ(A) для этого кода.
Cϕ(A)
=
.
Теорема доказана.
В наших примерах часто будет использоваться двоичный алфавит. Очевидно, что для случая бинарного алфавита В получаем неравенство
Н(А) С(А) Н(А) + 1.
