- •Лабораторная работа №2
- •"Защита программ и данных от hcд".
- •Например, рисунок буквы т может быть закодирован следующим образом:
- •Понятно, что число кодируемых направлений можно увеличить. В этом случае данный подход может быть приемлем и для более сложных изображений.
- •8) Фрактальное сжатие изображений.
- •9) Разбиение исходyого множества символов на несколько алфавитов.
- •10) Смысловая архивация.
- •11) Поиск закономерностей.
- •12) Выбор алгоритма архивации.
11) Поиск закономерностей.
Не всегда обязательно пытаться любыми путями например архивировать данные одним из выше описанных способов. Иногда бывает полезно поискать закономерности, присущие исходным файлам данных.
Когда речь идет о графических изображениях, понятно, что для того, чтобы восстановить прямую линию совсем необязательно хранить информацию о каждой точке линии - достаточны координаты двух точек. То же можно сказать и о других геометрических фигурах.
Что касается символьных текстов, то здесь все гораздо сложнее. Понятно, что текстам естествен?ого языка присущи определенные закономерности. Например [34] стр.(22): “Сотникова обратила внимание на то, что в старославянской письменности числительные обозначались буквами русского алфавита, т. е. А = 1, Б = 2 и т. д. - причем после числа 10 идут 20 30, 40 и т. д., а после 100 - соответственно 200, 300, 400... Значит, каждая буква русской азбуки имеет строго определенную числовую меру. Оказалось, что весь русский язык, все слова имеют суммарные числовые меры, подчиняющиеся строгой закономерности. При этом слова-синонимы имеют одну и ту же сумму чисел при совершенно различном написании. При дальнейшем исследовании выяснилось, что и в других древних языках слова одного смысла имеют одинаковую числовую меру... Столь же безусловна и фонетическая сторона языка, что нашло и отражение в работах калининградского университета.”
12) Выбор алгоритма архивации.
Выбор алгоритма архивации во многом определяется следующими факторами:
- статистическими характеристиками распределения кодов шифруемых данных;
- ограничением на время архивации/дезархивации;
- наличием у пользователя готовых архиваторов или специальных библиотечных модулей для архивации.
Из множества существующих и перечисленных выше алгоритмов архивации в реальных программах используются лишь немногие. Наиболее популярными являются алгоритм Лемпела-Зива и контекстное моделирование. В алгоритме Лемпела-Зива текстовые строки заменяются указателями на идентичные им строки, встречающиеся в тексте ранее. В основу контекстного моделирования положен поиск закономерностей текста.
Хороший архиватор, как правило, включает в себя несколько алгоритмов. Это и поиск строковых соответствий, и кодирование Хаффмана, и использование грамматического разбора и т.д.
ЗАДАНИЕ: Написать программу архивации по алгоритму ,указанному в индивидуальном задании .
ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ:
1.Описание алгоритма .
2.Блок-схема программы .
3.Текст программы .
4.Контрольный пример .
