![](/user_photo/2706_HbeT2.jpg)
- •Теоретические основы информационных процессов введение
- •1.Кодирование сообщений
- •§1. Информационные процессы
- •§2. Передача и кодирование данных в аис
- •§3. Сжатие данных как информационный процесс
- •§4. Сжатие на основе смыслового содержания данных
- •§5. Переход от естественных обозначений к более компактным.
- •§6. Подавление повторяющихся символов
- •§7. Кодирование часто используемых данных
- •§8. Сжатие данных на основе сравнения
- •§9. Целесообразность сжатия данных
- •§10. Сжатие на основе статистических свойств данных и неравномерные коды
- •§11. Двоичное кодирование и бинарные деревья
- •§12. Кодирование сообщений словами переменной длины
- •§13. Процедура Шеннона-Фано
- •§14. Процедура Хафмана
- •§15. Кодирование последовательностей символов
- •§16. Помехоустойчивость данных
- •§17. Методы обеспечения помехоустойчивости
- •§18. Способность кодов обнаруживать и исправлять ошибки
- •2. Поиск данных
- •§1. Проблема поиска данных
- •§ 2. Виды зу
- •§3. Поиск на основе преобразования ключа в адрес
- •§4. Перемешивание
- •§5. Поиск на основе сравнения ключей
- •§6. Последовательный поиск
- •§7. Блочный поиск
- •§8. Двоичный поиск
- •§9. Поиск по бинарному дереву
- •§10. Чистый бинарный поиск
- •§11. Помехоустойчивый поиск
- •§12. B-деревья: общие сведения
- •§13. B-деревья: добавление ключей
- •§14. B-деревья: удаление ключей
§6. Подавление повторяющихся символов
Во многих данных
часто присутствуют повторяющиеся подряд
символы: в числовых – повторяющиеся
старшие или младшие нули, в символьных
– пробелы и т.п. Избыточность таких
данных можно уменьшить, если вместо
последовательности повторяющихся
символов вида
кодировать
эквивалентную последовательность
символов видаpka
, в которой р
– признак повторения (специальный
символ или слово), k
– число повторений символа a.
Очевидно, что эффективность такого метода определяется значением величины Е :
Здесь n
– размерность алфавита А ();
R(p) – фиксированное число битов для кодирования признака повторения;
R(k) – фиксированное число битов для кодирования числа повторений символа a.
В случае, когда величина Е принимает отрицательное или нулевое значение, от использования данного метода вообще следует отказаться.
§7. Кодирование часто используемых данных
Некоторые данные, такие как имена и фамилии, принадлежат множеству возможных значений очень большого размера. Однако в большинстве случаев используется лишь малая часть возможных значений (действует так называемое «правило 90/10» - в 90% случаев используется 10% возможных значений). Поэтому для сжатия данных можно определить множество наиболее часто используемых значений, экономно закодировать его элементы и использовать эти коды вместо обычного представления.
В частности, можно составить список из 256 наиболее употребительных имен людей и кодировать их одним байтом. Одновременно следует обеспечить возможность записи имен, не входящих в закодированные: например, используя признак, аналогичный признаку повторения, кодируемый одним байтом и указывающий на то, что последующие байты содержат полное написание имени. Таким же образом может быть произведено кодирование наиболее употребительных фамилий (для этого могут потребоваться двухбайтовые коды).
Многие сообщения и файлы данных содержат текстовые фрагменты из некоторых областей знаний. В таких текстах можно выделить множество наиболее употребительных слов, например, терминов, пронумеровать их и закодировать по вышеизложенному способу.
Данный метод, таким образом, сочетает в себе оба подхода к кодированию (см. формулы 1.1 и 1.2).
§8. Сжатие данных на основе сравнения
В упорядоченных наборах данных часто совпадают начальные символы или даже целые последовательности начальных символов записей. Поэтому можно кодировать данные на основе их сравнения с предыдущими. В этом случае сжимаемым элементам данных может предшествовать специальный признак, указывающий на то, что элемент данных:
- совпадает с предыдущим;
- имеет следующее по порядку значение;
- совпадает с предыдущим кроме m последних символов;
- не имеет связи с предыдущим.
При использовании подобных признаков закодированные данные содержат только отличия текущих элементов от предыдущих.
§9. Целесообразность сжатия данных
Реализация сжатия данных в информационных процессах требует дополнительных программных и аппаратных затрат, а также затрат времени и памяти на предварительное кодирование с целью сжатия и последующее декодирование для восстановления данных в первоначальном виде. Это означает, что сжатие данных – это не всегда целесообразное мероприятие. Например, в базах данных обычно сжимаются архивные файлы с невысокой частотой использования. Сжатие применяется также для сокращения размеров индексных таблиц, используемых для организации поиска данных в индексно-последовательных файлах.