- •Э.Н.Гордеев основы теории информации
- •Раздел 1. Информация и Алгоритм. Коды объектов. 12
- •Раздел 2. Сжатие информации. 30
- •Раздел 3. Передача информации. Защита от искажений. 56
- •Раздел 1. Информация и Алгоритм. Коды объектов. 10
- •Раздел 2. Сжатие информации. 29
- •Раздел 3. Передача информации. Защита от искажений. 55
- •12 Рекомендованная литература 122
- •Введение.
- •Алгоритм
- •Представление (кодирование) информации.
- •Примеры кодировок
- •Свойства кодировок
- •Способы представления (кодирования) информации.
- •Кодирование слов и поиск минимального кода
- •Признаковое кодирование.
- •Раздел 2. Сжатие информации.
- •Кодирование информации. Количество информации. Сжатие информации.
- •Сериальное кодирование
- •Алфавитное кодирование.
- •Неравенство Крафта.
- •Префиксные коды.
- •Кодирование натурального ряда.
- •Код Элайеса.
- •Код Левенштейна
- •Количество информации. Энтропия.
- •Энтропия по Хартли.
- •Энтропия по Шеннону.
- •Математическая модель: алфавитное кодирование случайного источника.
- •Энтропия по Шеннону
- •Энтропия по Шеннону и энтропия по Хартли.
- •Теорема Шеннона
- •Алгоритмы кодирования
- •Алгоритм Шеннона (Фано).
- •Алгоритм Хаффмана
- •Блочное кодирование Хаффмена.
- •Алгоритм арифметического кодирования
- •Блочное кодирование и теорема Шеннона.
- •Раздел 3. Передача информации. Защита от искажений.
- •Передача информации по каналу с шумом.
- •Модели каналов.
- •Необходимые определения.
- •Пример кода для канала с выпадением.
- •Передача информации по двоичному симметричному каналу с шумом
- •Принципы построения кодов, исправляющих ошибки.
- •Декодирование на основе таблицы декодирования.
- •Корректирующие способности кодов. Границы мощности.
- •Теорема Шеннона для канала с шумом.
- •Факты из теории вероятности.
- •XI → канал → y
- •Вторая теорема Шеннона.
- •Комбинаторное доказательство теоремы.
- •Примеры кодов, исправляющих ошибки. Линейные коды.
- •Линейные коды.
- •Спектр кода.
- •Код Хэмминга.
- •Вопросы для самопроверки.
- •Примеры билетов для контрольных работ.
- •Приложение.
- •Рекомендованная литература
Раздел 2. Сжатие информации.
Кодирование информации. Количество информации. Сжатие информации.
Большая часть раздела посвящена понятию количества информации (энтропии) и теореме Шеннона. Но вначале приведем несколько известных способов преобразования информации с целью обеспечения ее дешифруемости и сжатия, не использующих понятия энтропия.
Сериальное кодирование
Здесь А = (0,1) и B = (0,1,…,9,*). Символ * играет роль разделителя.
В данном примере битовые последовательности кодируются натуральными числами. Как это следует из свойств данного кодирование, оно дает эффект сжатия, когда битовые последовательности представляют собой чередование сравнительно больших блоков нулей и единиц.
Алгоритм кодирования.
Пусть дана битовая последовательность
α и а
(0,1) ее первый символ. Блоком назовем
часть последовательности, состоящую
из одинаковых символов. Тогда любую
битовую последовательность можно
представить как чередование блоков из
нулей и единиц. Пусть в последовательности
α всего S
блоков, длина первого x1,
длина второго - x2,…,
длина S –го - xS.
Тогда кодом α будет
слово β=φ(α)=а* x1*
x2*…*
xS
.
Алгоритм декодирования очевиден.
Определение. Длиной
сериального кода назовем число
где
[log x]*=1
при x=1 и [log
x] при x>1.
Определение. Средней длиной кода для n-последовательностей назовем число
,
Где сумма берется по всем двоичным последовательностям длины n.
Свойства такого кодирования иллюстрируются следующими двумя утверждениями.
Утверждение. Если все xi=1, то l(α)=|α|.
Утверждение. Если все
xi>1,
то
.
Доказательство.
.
Из этих утверждений следует.
Таким образом, сериальное кодирование при малых количествах серий и большой длине серий приводит к тому, что при таком кодировании возникает эффект сжатия.
Если серии короткие и их
много, например:
и
,
то эффекта сжатия не возникает.
Для полноты картины приведем два утверждения, доказанные в [7].
Утв.
Средняя длина слова с S
сериями в сериальном кодировании
.
Утв. Справедлива асимптотическая оценка
Алфавитное кодирование.
Если пренебречь разделителями, то в качестве двух алфавитов возьмем алфавиты
А = (а1, … , аn) и B = (b1, … , bq).
Алгоритм кодирования. Каждой букве ai алфавита A ставится в соответствие Bi= φ(ai) – слово в алфавите B длины li.
Алфавитное кодирование будет
дешифруемым, если отображение
таково, что для
.
Заметим, что в приведенном определении термин дешифруемость используется в другом смысле, нежели выше при описании основных свойств кодирования (дешифруемость – неизбыточность - разумность). Поэтому в других учебниках по теории информации используются иные термины, например, разделимость.
Обратим внимание на следующий важнейший факт, который, по сути дела, и оправдывает интерес к такому виду кодирования. Очевидно, что ограничение на вид отображения φ сразу влечет дешифруемость однобуквенных (в алфавите А) слов. Но из дешифруемости однобуквенных слов сразу следует дешифруемость слов (в алфавите A) любой длины.
Заметим также, что в случае дешифруемого кодирования все слова Bi= φ(ai) обязательно различны.
Оказывается, что дешифруемость накладывает ограничение на набор длин кодовых слов. Об этом говорит утверждение, известное как неравенство Крафта.
