- •Введение
- •Раздел 1 (главы 1, 2) посвящен классической теории управления.
- •Раздел 2 (главы 3 - 6) посвящен современной теории информации.
- •Глава 3 посвящена методам обработки информации на примерах адаптивной асуп и экспертной системы реального времени.
- •Глава 6 посвящена отображению и использованию информации. Раздел 1. Классическая теория информации Глава 1. Основные положения
- •1.1. Основные понятия и определения
- •1.2. Постановка задачи
- •1.3. Общая характеристика информационных процессов и систем
- •Контрольные вопросы
- •Глава 2. Транспортировка данных
- •2.1. Постановка задачи
- •2.2. Кодирование информации источника
- •2.2.1. Сжатие информации
- •2.2.2. Криптография
- •2.3. Кодирование сети
- •2.4. Компьютерная транспортировка информации
- •2.4.1. Основные понятия
- •2.4.2. Модель взаимодействия открытых систем
- •2.4.3. Повышение производительности
- •3.2. Система приема на работу
- •1. Возможно ли, достичь конечного результата (цели) на основе выбранных правил и данных (проблема выводимости).
- •2. Если возможно достижение цели, то как это сделать (проблема извлечения результата).
- •3. Как оценить достоверность результата, если исходные данные и правила не полностью достоверны (проблема достоверности).
- •Предикаты хорошо согласуются аппаратом правил. Пусть имеется правило
- •В предикатном представлении это правило имеет вид
- •Выражение (3.51) может быть представлено в виде истинности
- •1. Проблема выводимости.
- •2. Проблема извлечения результата.
- •Возьмем отрицание цели
- •3.3. Обработка информации в системах
- •Контрольные вопросы
2.2. Кодирование информации источника
В общем случае кодирование информации источника имеет две цели (рис. 2.2): сжатие информации (в том числе - архивация), чтобы передать большее количество информации за единицу времени; шифрование информации с целью защиты информации от несанкционированного доступа к ней. Первоначально рассмотрим сжатие информации, которое будем называть далее кодированием информации источника. Шифрование, которое будем называть криптографией, рассмотрим позднее.
2.2.1. Сжатие информации
Для сжатия информации в компьютерах используют архиваторы, например, ZIP, RAR.
В 80-х годах прошлого века разработана математическая теория сжатия. Сжатие не может быть более некоторого теоретического предела.
Чтобы определить этот предел, любое информационное сообщение длины n рассматривают как последовательность независимых одинаково распределенных дсв X или как выборку длиной n значений одной переменной X.
Показано, что для любой дси X и любого кода среднее количество бит, приходящихся на одно кодированное значение дсв, не может быть меньше энтропии этой дсв
ML(X) HX.
Вместе с тем существует такое кодирование (метод Шеннона-Фано), для которого справедливо
HX ML(X) – 1.
Пусть дсв X1 и дсв X2 одинаково распределены, т.е. HX1 = HX2, I(X1, X2) = 0 и
H(X1, HX2) = 2 HX1.
Вместо двух дсв можно взять одну двумерную дсв X(X1, X2). Тогда для n-мерной дсв HX = n HX1.
Пусть L1(X) = L(X)/n – количество бит на единицу сообщения X. Тогда
ML(X) – 1 ≤ HX ≤ ML(X),
ML1(X) – 1/n ≤ HX1 ≤ ML1(X).
Иначе говоря, с ростом длины n среднее количество бит на единицу сообщения будет мало отличаться от энтропии единичного сообщения.
Такой способ кодирования имеет следующие недостатки:
1) с ростом n трудоемкость построения кода становится значительной;
2) невозможна отправка сообщения по частям;
3) необходимость отправки и хранения как кода, так и сообщения исходной длины.
4) использование равномерных кодов (табл. 2.1) избыточно.
В связи с этим используют метод другие методы.
К ним относятся методы Шеннона-Фано и Хаффмена. Идея этих методов заключается в переходе от равномерных кодов к неравномерным.
Метод Шеннона-Фано. Значения дсв располагают в порядке убывания их вероятностей. Дсв разделяют на две части с приблизительно равными вероятностями. К первой части добавляют 0, ко второй – единицу, как это показано в табл. 2.1. Можно заметить, что часто встречающиеся символы стараются кодировать коротким кодом, а редко появляющиеся – длинными кодами.
Таблица 2.1
X |
p(x) |
Равномерный код |
Неравномерный код |
Code(X) |
x1 |
1/4 |
000 |
00 |
2 |
x2 |
1/4 |
001 |
01 |
2 |
x3 |
1/8 |
010 |
100 |
3 |
x4 |
1/8 |
011 |
101 |
3 |
x5 |
1/16 |
100 |
1100 |
4 |
x6 |
1/16 |
101 |
1101 |
4 |
x7 |
1/16 |
110 |
1110 |
4 |
x8 |
1/16 |
111 |
1111 |
4 |
Более подробная схема кодирования представлена [3] в табл. 2.2.
Таблица 2.2
X |
p(x) |
Первый шаг |
Второй шаг |
Третий шаг |
Четвер-тый шаг |
Кодовое слово |
x1 |
1/4 |
I |
I |
|
|
00 |
x2 |
1/4 |
II |
|
|
01 |
|
x3 |
1/8 |
II
|
I |
I |
|
100 |
x4 |
1/8 |
II |
|
101 |
||
x5 |
1/16 |
II |
I |
I |
1100 |
|
x6 |
1/16 |
II |
1101 |
|||
x7 |
1/16 |
II |
I |
1110 |
||
x8 |
1/16 |
II |
1111 |
Метод Хаффмена. Этот метод удобно иллюстрировать на примере, показанном в табл. 2.3.
Таблица 2.3
X |
p(x) |
1 |
2 |
3 |
4 |
5 |
6 |
Кодовое слово |
x1 |
0 |
|
|
|
|
|
|
11 |
x2 |
0,2 |
|
|
|
|
0,6 |
|
01 |
x3 |
0,15 |
|
|
0,3 |
|
|
1 |
101 |
x4 |
0,15 |
|
|
|
|
|
0 |
100 |
x5 |
0,1 |
|
0,2 |
|
0,4 |
|
|
001 |
x6 |
0,05 |
|
|
|
|
|
|
0001 |
x7 |
0,5 |
0,1 |
|
|
|
|
|
0000 |
Нетрудно заметить, что табл. 2.3 использует дерево кодирования. Существует множество кодов-деревьев. Их совершенствование преследует цель минимального изменения дерева при появлении дополнительных букв для передачи.
Словарно-ориентированный алгоритм. Рассмотренные ранее способы кодирования относятся к статистическим методам. Словарные алгоритмы более практичны, хотя и менее обоснованы математически. Сюда относятся алгоритм LZZ, характеризующийся простотой и высокой эффективностью. Его идея заключается в том, второе и последующие вхождения некоторой строки символов сообщения заменяются ссылками на ее первое вхождение.
Недостатками LZZ являются: с ростом размеров словаря скорость работы кодера замедляется; кодирование одиночных символов неэффективно. Существуют более эффективные варианты LZZ.
Коды алгоритма LZ можно передать для кодирования алгоритму Хаффмена и получить двухшаговый конвейерный алгоритм, результаты которого подобны программам ARJ, PKZIP. Наибольшую степень сжатия дают двухпроходные алгоритмы, которые последовательно сжимают сообщение дважды, но они работают почти вдвое медленнее однопроходных алгоритмов при незначительном увеличении степени сжатия.
Для увеличения степени сжатия можно сжимать файлы в общем потоке (архиватор RAR), но это усложняет работу с архивом.

,3