- •Основы Теории Информации Гордеев э.Н.
- •Содержание
- •1Введение
- •1.1Предмет курса
- •1.2Основная цель курса
- •1.3Теория информации и смежные дисциплины
- •1.4Подходы к определению понятия информация.
- •2Алфавит. Слово. Язык. Информация.
- •3.1Задачи, алгоритмы
- •3.1.1Задача
- •3Информация и алгоритм.
- •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Рекомендованная литература
4.1.1Примеры кодировок
Приведем простые примеры кодирования объектов.
Целые числа
Целое число n может быть представлено (закодировано), например, следующими тремя способами.
а) Словом α = 01…10 (n штук «1» и 0 по бокам) в алфавите А=(0,1). В этом случае длина кода l(α) (количество символов алфавита в слове) равна n+2;
б) Словом α = a1a2…ak в виде десятичной записи алфавите А=(0,1,…,9). Длина кода равна lg n.
в) В мультипликативной форме (произведение степеней простых множителей) в виде слова α = a1p1 a2p2…akpk, (здесь a1… ak – простые числа).
Длина
кода:
.
Вектора и матрицы
Вектор
с компонентами
a1…
an
, записанными в десятичной форме имеет,
может быть представлен в виде слова
длины lg
n
+
.
Матрица
M
с компонентами в десятичной форме, M=
,
может быть представлена словом длины
lg
n
+ lg
m
+
.
G = (V, E) – неориентированный граф.
Здесь множество вершин обозначено через V, а множество ребер через E. Пусть |V| = n, |E| = m.
Граф можно представить, например, следующими тремя способами (все числа в десятичной форме)
а) Списком ребер {(i1, j1), (i2, j2), … , (im, jm)}.
б) Списком соседей (вершин), записанных последовательно для вершины 1, вершины 2,…, вершины n.
в) Матрицей смежности
A = | aij
|m×n
,
.
Алфавит А кроме арабских цифр будет включать вспомогательные разделители, например, «,» и «;».
Длина кода l(α) без учета разделителей для каждого из трех случаев следующая:
а) 4n + 10m ≤ l(α) ≤4n + 10m + (n+2n).
б) 2n + 8m ≤ l(α) ≤2n + 8m + 2log n.
в) l(α) = n2 – n – 1 .
Пример.
(1 2), (1 5), (2 3), (3 4), (2 4), (5 3)
(2 4 5), (3 4), (4 5)
4.1.2Свойства кодировок
К коду объекта α обычно применяют следующие требования.
Декодируемость. В случае кодирования (как преобразования слов) это свойство не вызывает вопросов. Пусть есть объект α, код β= φ(α). Декодируемость означает умение восстанавливать α по коду β= φ(α). В случае же кодирования в широком аспекте словом является только β. Сам объект α словом не является. Поэтому в каждом конкретном случае нужно определять понятие восстановление. В качестве примера можно привести пример присвоения идентификатора (слово в алфавите) неформализованному объекту (изделие, книга, человек). Здесь под восстановлением понимается нахождение конкретного объекта по его идентификатору.
Неизбыточность. Это требование означает стремление уменьшить длину кода. Но пока речь не идет об оптимизации и минимизации. Неизбыточность в широком смысле означает не поиск минимально возможной (по длине кода) кодировки, а использование известной кодировки без искусственного увеличения ее длины.
Разумность. Это термин из теории сложности алгоритмов. Он означает, что способ кодировки должен соответствовать тем целям, для которых информация будет использоваться в дальнейшем. Например, если мы решаем задачу о простоте числа (по заданному натуральному числу N требуется ответить на вопрос, является ли это число простым), то кодировка в мультипликативной форме (см. пример выше) не является разумной. Для большинства практических задач кодировка а) числа n в Примере 1 не является разумной.
Пусть мы теперь имеем "разумные" кодировки. На этом уровне принимается интуитивная гипотеза о некоторой эквивалентности всех возможных "разумных" кодировок входных данных одной и той же массовой задачи.
Второй пример показывает варианты длины кодировок в зависимости от способа задания чисел. Варианты длины кодировок в третьем примере зависят уже от структуры входных данных. Но в обоих случаях можно говорить о, так называемой, полиномиальной эквивалентности.
В дальнейшем нам полезно будет понятие полиномиальной эквивалентности двух функций. Две неотрицательные функции S(n) и R(n) полиномиально эквивалентны, если существуют два полинома Q(x) и P(x) такие, что для всех n справедливы неравенства S(n)P(R(n)) и R(n)Q(S(n)).
Пусть S и R две "разумные" схемы кодирования задачи массовой Z. Длины входа в этих схемах для задачи I обозначим через S(I) и R(I). К ним можно применить определение полиномиальной эквивалентности.
В третьем примере все три схемы полиномиально эквивалентны, а во втором полиномиально эквивалентны две последние.
