- •Н.Н. Куцый, в.Н. Сизых введение в теорию информации учебное пособие
- •Оглавление
- •Часть 1. Вероятностные основы теории информации
- •Часть 2. Основы прикладной теории информации
- •Введение
- •Часть 1. Вероятностные основы теории информации
- •Определение априорной и апостериорной вероятностей дискретного источника
- •Дискретные источники сообщений
- •Основные определения и оценка случайного события
- •Способы определения случайных событий
- •Определение априорной вероятности
- •Элементы комбинаторики
- •Схемы подсчетов априорной вероятности по формуле (1.1)
- •Задачи для самостоятельной работы
- •Определение апостериорной вероятности
- •Задачи для самостоятельной работы
- •2. Условная и полная вероятности дискретного источника
- •2.1. Условная вероятность
- •Свойства независимых несовместных событий а1 и а2
- •Свойства зависимых событий а1 и а2
- •Задачи для самостоятельной работы
- •2.2. Полная вероятность
- •Задачи для самостоятельной работы
- •3. Случайные величины дискретных источников
- •3.1. Случайные величины
- •Задача для самостоятельной работы
- •4. Законы распределения дискретных случайных величин
- •4.1. Числовые характеристики дискретных св
- •4.2. Типовые законы распределения вероятностей дискретных св
- •Задачи для самостоятельной работы
- •5. Системы дискретных случайных величин
- •5.1. Характеристики систем дискретных случайных величин
- •5.2. Закон распределения системы дискретных случайных величин
- •Задачи для самостоятельной работы
- •6. Дискретные случайные процессы
- •6.1. Случайные процессы
- •6.2. Потоки событий
- •7. Марковские цепи
- •7.1. Марковские цепи с дискретными состояниями
- •7.2. Марковские цепи
- •7.3. Расчет цепи Маркова для стационарного режима
- •Задачи для самостоятельной работы
- •Часть 2. Введение в прикладную теорию информации
- •8. Энтропия как мера неопределенности
- •8.1. Энтропия
- •8.2. Условная энтропия
- •Задачи для самостоятельной работы
- •9. Оценка информационных характеристик дискретных источников
- •9.1. Условные и безусловные вероятности появления символов в виде стохастического вектора и матрицы дискретного источника
- •Снятые статистические данные источника
- •9.2. Информационные характеристики дискретного источника
- •Задача для самостоятельной работы
- •10. Основы теории кодирования и передачи информации
- •10.1. Кодирование информации
- •10.2. Формирование экономичного кода алфавита
- •10.2.1. Код Шеннона–Фано
- •10.2.2. Код Хаффмена
- •Задачи для самостоятельной работы
- •Решения и ответы задач для самостоятельной работы
- •Дополнительные задачи по курсу «Теория информации» Задача 1
- •Задача 2
- •Задача 3
- •Задача 8
- •Задача 22
- •Задача 23
- •Задача 24
- •Задача 25
- •Приложения Приложение 1. MatLab – программы для расчета цепи Маркова
- •Приложение 2. MatLab – программа для определения энтропии дискретного источника
- •Приложение 3. MatLab – программа для оценки информационных характеристик дискретных источников с памятью
- •Приложение 4. Алгоритмы кодирования и декодирования
- •Алгоритм построения кодового дерева кода Хаффмена
- •MatLab-программа декодирования арифметического кoда
10.2.1. Код Шеннона–Фано
Для построения неравномерного экономичного кода Р. Фано и К. Шенноном предложена следующая методика (код Шеннона–Фано):
1. Все букв (или иных знаковых систем) располагается в столбик в порядке убывания вероятностей, их появления в сообщении.
2. Разбивают все буквы на две группы (верхнюю I и нижнюю II) так, чтобы вероятности для букв к каждой из этих групп были по возможности близки одна к другой.
3. Для букв первой группы в качестве первой цифры кодового обозначения используется цифра 1, а для букв второй группы – цифра 0.
4. Каждую из двух полученных групп снова делят на две части наиболее близкой суммарной вероятности;
5. Присваивают буквам вторую цифру кодового обозначения: 1 или 0 в зависимости от того, принадлежит буква к первой или ко второй из этих более мелких групп.
6. Каждую из содержащих более одной буквы групп снова делят на две части наиболее близкой суммарной вероятности и т.д.
7. Процесс повторяется до тех пор, пока каждая из групп не будет содержать одну единственную букву.
Алгоритм построения кода Шеннона–Фано приводится в Приложении 4.
Пример 10.2. Возьмем алфавит, состоящий из 6 букв, вероятности которых равны 0,4; 0,2; 0,2; 0,1; 0,05; 0,05. Необходимо составить код Шеннона–Фано.
Решение. Наилучший равномерный код состоит из трехзначных кодовых обозначений, так как в соответствии с (10.1): 22<6<23. Поэтому в нем на каждую букву приходится три элементарных сигнала.
Результаты решения по составлению кода Шеннона–Фано удобно представить в виде таблицы 10.1 и кодового дерева (Рисунок 10.1).
При использовании кода Шеннона–Фано среднее число элементарных сигналов, приходящихся на одну букву,
Это значительно меньше трех и очень близко к предельно минимальному значению
Таким образом, получен экономичный код.
Еще более экономичным получается код, если по методу Шеннона–Фано кодировать не отдельные буквы, а блоки букв, n–буквенные блоки.
Пример 10.3. Возьмем алфавит, состоящий из двух букв А и В, имеющих вероятности р(А)=0,7; р(В)=0,3. Энтропия:
Таблица 10.1. – Порядок составления кода Шеннона–Фано
Номер буквы |
Вероятность |
Разбиение на группы |
Кодовое обозначение |
||||
1 |
|
I |
|
|
|
|
1 |
2 |
0,2 |
|
I |
|
|
|
01 |
3 |
|
|
|
I |
|
|
001 |
4 |
0,1 |
II |
II |
|
I |
|
0001 |
5 |
0,05 |
|
|
II |
|
I |
00001 |
6 |
0,05 |
|
|
|
|
|
00000 |
Рисунок 10.1. – Кодовое дерево
Двухбуквенный алфавит можно привести к простейшему равномерному коду: 1 – для А и 0 – для В, требующему для передачи каждой буквы один двоичный знак. Это на 0,12 (12 %) больше минимально достижимого значения Н. Требуется определить среднее значение длины кода в двух- и трехбуквенных сообщениях.
Решение. Представим коды двух- и трехбуквенных комбинаций, построенные по методу Шеннона–Фано (таблица 10.2).
Трехбуквенный код формируется 4 префиксными кодовыми деревьями, формируемыми из l=2, 3, 4 кодовых слов (последняя колонка таблицы 10.2).
Таблица 10.2. – Результаты вычислений
Комбинация букв |
Вероятность |
Кодовое обозначение |
Комбинация букв |
Вероятность |
Кодовое обозначение |
|
n=2 |
|
|
n=3 |
|
AA AB BA BB |
0,49 0,21 0,21 0,09 |
1 01 001 000 |
AAA AAB ABA BAA ABB BAB BBA BBB |
0,343 0,147 0,147 0,147 0,063 0,063 0,063 0,027 |
11 10 011 010 0010 0011 0001 0000 |
а).
Двухбуквенный
код: n=2
l=2
l=3
l=4
l=4
б). Трехбуквенный код: n=3
Рисунок 10.2. – Кодовые деревья двух- и трехбуквенного кодов
Среднее значение длины кода для n=2:
или на одну букву
что на 3,4 % отличается от минимально достижимого значения Н.
Среднее значение длины кода для n=3:
или на одну букву
что на 3,8 % отличается от минимально достижимого значения Н.
Представленные примеры отражают суть основной теоремы Шеннона о кодировании при отсутствии помех:
При кодировании сообщения, разбитого на n –буквенные блоки, можно, выбрав n достаточно большими, добиться того, чтобы среднее число двоичных элементарных сигналов, приходящихся на одну букву исходного сообщения, было сколь угодно близко к энтропия Н.
Иначе:
Очень длинное сообщение из m букв может быть закодировано при помощи сколь угодно близкого к m·Н числа элементарных сигналов, если только предварительно разбить это сообщение на достаточно длинные блоки из n букв и сопоставить отдельные кодовые обозначения (кодовые слова) сразу целым блокам.

0,4
0,2
II
II