- •Э.Н.Гордеев основы теории информации
- •Раздел 1. Информация и Алгоритм. Коды объектов. 12
- •Раздел 2. Сжатие информации. 30
- •Раздел 3. Передача информации. Защита от искажений. 56
- •Раздел 1. Информация и Алгоритм. Коды объектов. 10
- •Раздел 2. Сжатие информации. 29
- •Раздел 3. Передача информации. Защита от искажений. 55
- •12 Рекомендованная литература 122
- •Введение.
- •Алгоритм
- •Представление (кодирование) информации.
- •Примеры кодировок
- •Свойства кодировок
- •Способы представления (кодирования) информации.
- •Кодирование слов и поиск минимального кода
- •Признаковое кодирование.
- •Раздел 2. Сжатие информации.
- •Кодирование информации. Количество информации. Сжатие информации.
- •Сериальное кодирование
- •Алфавитное кодирование.
- •Неравенство Крафта.
- •Префиксные коды.
- •Кодирование натурального ряда.
- •Код Элайеса.
- •Код Левенштейна
- •Количество информации. Энтропия.
- •Энтропия по Хартли.
- •Энтропия по Шеннону.
- •Математическая модель: алфавитное кодирование случайного источника.
- •Энтропия по Шеннону
- •Энтропия по Шеннону и энтропия по Хартли.
- •Теорема Шеннона
- •Алгоритмы кодирования
- •Алгоритм Шеннона (Фано).
- •Алгоритм Хаффмана
- •Блочное кодирование Хаффмена.
- •Алгоритм арифметического кодирования
- •Блочное кодирование и теорема Шеннона.
- •Раздел 3. Передача информации. Защита от искажений.
- •Передача информации по каналу с шумом.
- •Модели каналов.
- •Необходимые определения.
- •Пример кода для канала с выпадением.
- •Передача информации по двоичному симметричному каналу с шумом
- •Принципы построения кодов, исправляющих ошибки.
- •Декодирование на основе таблицы декодирования.
- •Корректирующие способности кодов. Границы мощности.
- •Теорема Шеннона для канала с шумом.
- •Факты из теории вероятности.
- •XI → канал → y
- •Вторая теорема Шеннона.
- •Комбинаторное доказательство теоремы.
- •Примеры кодов, исправляющих ошибки. Линейные коды.
- •Линейные коды.
- •Спектр кода.
- •Код Хэмминга.
- •Вопросы для самопроверки.
- •Примеры билетов для контрольных работ.
- •Приложение.
- •Рекомендованная литература
Комбинаторное доказательство теоремы.
Приведенное ниже доказательство предоставлено В.К.Леонтьевым, его фрагменты можно найти в [6] и в [8].
Теорема.
Для любого R: 0 < R < C(ρ), такого что M=2[nR], выполняется соотношение:
*(M,n,p)
1.
Доказательство.
Пусть имеется
код Vk
L={
}.
Напомним, что
( Vk)
– вероятность правильного декодирования
для Vk
.
Рассмотрим 3 функции:
Пусть Ak(i) – число векторов в Bn, находящихся на расстоянии i от некоторого кодового слова кода Vk.
Тогда
( Vk)
=
- вероятность правильного декодирования
Vk.
Здесь
. Действительно, каждое слагаемое в этой
сумме равно единице, если выполняются
все три условия:
,
расстояние от a до b равно i,
b декодируется в a.
В формуле для
вероятности правильного декодирования
( Vk)
параметр Ak(i)
– это число точек из
,
которые находятся на расстоянии i
от некоторого кодового слова и
декодируются в это кодовое слово.
Всего таких
кодов
:
,
.
Усредняем вероятность правильного декодирования по всем кодам и получаем среднюю вероятность правильного декодирования
=
Рассмотрим
саму внутреннюю сумму в последней
формуле приведенных выше выкладок. Эта
сумма равна числу кодов Vk
таких, что
,
и b декодируется в a
. Заметим, что точка b
обязательно декодируется в a
тогда и только тогда, когда в коде Vk
нет кодовых точек расположенных к b
ближе, чем точка a. Это
означает, что в шаре (обозначим его
S(a,b))
радиуса ρ(a,b)
с центром в точке b
нет других точек кода Vk.
Поэтому, если точки a,b
фиксированы, то остальные (M-1)
точку кода мы можем выбирать произвольным
образом из множества Γ= Bn\
S(a,b).
Мощность этого множества
,
где
количество
точек из
в шаре радиуса ρ. (Так как это количество
не зависит от x, а зависит
только от n и ρ, то, чтобы
подчеркнуть этот факт, ниже при
необходимости мы наряду с обозначением
будем пользоваться и другим -
).
Отсюда следует, что упомянутая внутренняя
сумма равна
.
Отметим два комбинаторных факта и продолжим начатую выше цепочку соотношений.
Число пар точек из , лежащих на расстоянии i равно
Справедливо известное комбинаторное равенство
Далее имеем
(=)
(#)
Мы доказали одно из основных равенств (помеченное (#)), которое будем использовать ниже.
Отметим несколько моментов:
Функция
выпукла вверх.Тогда функция
выпукла вниз.Сумма выпуклых функций выпукла.
Выпуклая функция от выпуклой функции выпукла.
Отсюда следует, что функция f(i)=
является функцией, выпуклой вниз.Вспомним неравенство Йенсена. Пусть даны числа α1…αn , αi>0 ,
.
Тогда для выпуклой вниз функции
f(x) справедливо неравенство.
В качестве αi возьмем
.
Очевидно, что
,
а
.
Используя 1-7, получим
.
(##)
Далее используем очевидные соотношения
.
(###)
Заметим далее, что максимальная вероятность больше средней, т.е.
*(M,n,p)≥ .
Из этого факта и соотношений (#), (##), (###) получаем:
*(M,n,p)
≥ =
.
Далее
=
=
Теперь устремляем n→∞ и раскладываем в ряд, оставляя главные члены каждого слагаемого. Получаем
=
1- (
=
=1-
О(
)
,
Что асимптотически при n→∞ равно
Вспомним лемму (**)|
S[pn](x)| ≤ 2nH(p).
Кроме того, заметим, что по условию: 0 < R < C(ρ), M=2[nR]. Отсюда получаем
≥
2nH(p)
≥
=
1- 2 n(R-C(p)).
Таким образом мы доказали, что при 0 < R < C(p) и n→∞ справедливо неравенство
*(M,n,p)> 1- 2 n(R-C(p)).
Но это значит, что *(M,n,p) →1 при n→∞ .
Теорема доказана.
Вы можете сравнить эти два доказательства. Первое доказательство короче и кажется более простым. Однако это, на самом деле, не так. Для привлечения необходимого аппарата теории вероятностей схема декодирования содержит определенные сложности, которые мы оставили без комментариев. Подробный разбор этих сложностей будет достаточно громоздким и «затемнит» доказательство.
Хотя второе доказательство длиннее и выглядит технически более сложным, но оно идеологически более понятное и прозрачное, кроме того, оно «замкнуто» в себе и не требует апелляций к идеям теории вероятностей.
Теорема Шеннона – это теорема существования, и она не дает методов построения кодов. Разбор, классификация и общее представление совокупности таких методов – предмет отдельной дисциплины – Теории кодирования. Однако, мы взялись описать в общих чертах основную идеологию Теории информации, поэтому ниже, в двух последних разделах, будут приведены несколько примеров построения конкретных кодов.
А что будет, если R>C(p) ? На этот вопрос отвечает третья Теорема Шеннона.
Теорема. (Третья теорема Шеннона.) Для любого R: R > C(p)>0, такого что M=2[nR], не существует кода C, для которого бы выполнялось соотношение:
(M,n,p) →1 при n→∞.
Мы оставим эту теорему без доказательства. Доказательство этой теоремы базируется на нескольких фактах (см. [8]). В лемме (*) было доказано, что |Bpn(x)| ≤ 2nH(p). На самом деле, справедлива более точная оценка: |Bpn(x)| ~ 2nH(p) (при n → ∞). И это асимптотическое равенство достигается для совершенных кодов (см. ниже). В итоге получим, что k = n – n H(p) для совершенного кода. А отсюда можно получить, что максимум вероятности правильного декодирования достигается именно на совершенном коде. После этого в качестве кода C при доказательстве теоремы можно брать только совершенный код. А это уже конструкция с определенными свойствами, которые и используются для доказательства теоремы.
Замечание.
Интересно обратить внимание, что при доказательстве теоремы Шеннона мы использовали, например, вместо максимума вероятности правильного декодирования среднюю вероятность такого декодирования. И уже эта средняя стремилась к единице. А это наилучший случай. То сеть получается, что в некотором смысле, поиск наилучшего варианта не дает никаких существенных преимуществ по сравнению со средним случаем. С практической точки зрения, это может показаться странным.
