Научная статья на тему 'Использование двойного ограничения глубины суффиксного дерева для повышения степени сжатия'

Использование двойного ограничения глубины суффиксного дерева для повышения степени сжатия Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
163
47
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕИКАЖАЮЩЕЕ СЖАТИЕ ДАННЫХ / СУФФИКСНОЕ ДЕРЕВО / КОНТЕКСТНОЕ МОДЕЛИРОВАНИЕ / КОМПРЕССИЯ / КОМПРЕССОР / АРХИВАТОР / LOSSLESS DATA COMPRESSION / SUFFIX TREE / CONTEXT MODELING / PATH COMPRESSION / COMPRESSOR / ARCHIVER

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Богатов Роман Николаевич

В статье описывается новый метод частичного объединения детерминированных узлов и двойного ограничения глубины суффнксного дерева. Данный метод реализован автором и компрессоре Hipp v0.5819 и позволяет, с одной стороны, существенно экономии, память, и с другой получить новую статистику, способствующую повышению степени сжатия данных. Наибольший эффект достигается при обработке файлов, содержащих большие повторяющиеся блоки.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The use of double limitation for enhancing data compression ratio

The article describes a new method of suffix tree path compression and double limitation of depth. This method was used in the Hipp v0. 5819 compressor developed by the author. It helps, on the one hand, considerably reduce memory usage, and, on the other, to gain some new statistics, which assists for enhancing the data compression ratio. The greatest effect is achieved when files with large repeating parts are processed.

Текст научной работы на тему «Использование двойного ограничения глубины суффиксного дерева для повышения степени сжатия»

задания, обладая значительным преимуществом н качестве регулирования, не требуетдополнительных затратна управление регулирующим органом.

Таким образом, предложенный метод нечеткой коррекции задания позволяет упростить первоначальную настройку промышленных регуляторов и существенно улучшить качество управления технологическими процессами при наличии неопределенностей в системе, например, неизмеряемых возмущений.

Библиографический список

1. Иванов, ВА Регулирование энергоблоков |Текст). -Л. : Машиностроение, Ленингр. отд-ние, 1982. - 311 с.

2. Трофимов, А.И. Принципы построении автоматических регуляторов теплоэнергетических процессом АЭС (Текст) : учеб. пособие / А.И. Трофимов, Н.Д. Егу-пов, Я.В.Слекеннчс. - М. : Энергоатомнздат, 1999. -340 с. - ГСВЫ 5-283-03189-6.

3. Методы классической и современной теории автоматического управлении : учебник в 5 т. Т.З : Синтез регуляторов систем автоматического управлении / Под ред, К.А.Пункова н Н.Д. Егупова. - М. : Иэд-по МГТУ им Н.Э. Баумана. 2004. - 616 с.- ВВЫ 5-7038-2191-6.

4. Дорф. Р. Современные системы управления.

|Текст| / Р. Дорф. Р.Бишоп ; переводе англ. Б.И. Копылова. - М. : Лаборатории Пазовых Знаний, 2002. -832 с. - 1БВМ 5-9308-119-8.

5. Макаров. И.М. Искусственный интеллект и интеллектуал!.ные системы управлении. [Текст] / И.М. Макаров. В.М. Лохнн. С.В. Манько, М П. Романов ; отв. ред. И М. Макаров / Отделение ннформ. технологий и вычислит, систем РАН. - М. : Наука. 2006. — 333 с. -1БВМ 5 02-033782-Х.

6. Штовба, С.Д. Проектирование нечетких систем средствами МАТЬАВ. (Текст) / С.Д Штовба. - М. : Го-рячая линия - Телеком. 2007. - 288 с. - 15ВМ 5-93517-359-Х.

7. Денисова, Л.А. Оптимизации системы регулировании с учетом чувствительности критерия качества (Текст) / Денисова Л.А. // Омский научный иестник. -2008 - N9 I (64). - С. 145 - 149.

ДЕНИСОВА Людмила Альбертовна, кандидаттехни-ческих наук, доцент кафедры ««Автоматизированные системы обработки информации и управления», старший научный сотрудник ЗАО «Автоматика-Э».

Дата поступления статьи п редакцию: 11.03.2009 г.

© Денисова Л.Л.

УДКМ1.3* Р. Н. БОГАТОВ

Омский государственный технический университет

ИСПОЛЬЗОВАНИЕ ДВОЙНОГО ОГРАНИЧЕНИЯ ГЛУБИНЫ СУФФИКСНОГО ДЕРЕВА ДЛЯ ПОВЫШЕНИЯ СТЕПЕНИ СЖАТИЯ

В статье описывается новый метод частичного объединения детерминированных узлов и двойного ограничения глубины суффиксного дерева. Данный метод реализован автором в компрессоре Н!рр у0.5819 и позволяет, с одной стороны, существенно экономить память, и с другой — получить новую статистику, способствующую повышению степени сжатия данных. Наибольший эффект достигается при обработке файлов, содержащих большие повторяющиеся блоки.

Ключевые слова: неискажающее сжатие данных, суффиксное дерево, контекстное моделирование, компрессия, компрессор, архиватор.

Наиболее эффективные по степени сжатия современные методы неискажающего сжатия данных используют так называемое контекстное моделирование, в основе которого лежит статистика по встречаемости символов в различных контекстах. Использованию суффикошх деревьев для хранения этой статистики уделено внимание в диссертациях С. Бантон (1) и Н.Й. Ларрсона (2). В настоящей статье предлагается новый метод построения суффиксных

деревьев с объединением детерминированных узлов и двойным ограничением глубины дерева, реализованный автором в компрессоре Н1рр у0.5819 [3].

В контекстном моделировании чаще используют суффиксные деревья (СД) с символьными переходами между узлами (ветви дерева помечены символами, а не строками). Недостаток такого подхода проявляется при обработке данных с большими повторяющимися блоками (например, текстов): по-

Результаты сжатия десятикратной копии файла book I

Компрессор Параметры сжатия Расход памяти, Мб Время сжатия, с Размер архива, Кб

PAsQDa v3.9 -8 930 6344 176

PAsQDa v3.9 -2 32 1324 1741

Durilca v.0.4b -o64 -tl 940 22 179

Durilca v.0.4b -064 940 22 199

PAQAR v4.0 -7 '900 1891 192

PAQAR v4.0 •3 -55 2054 1752

WinRK 2.0 PWCM 900 870 200

PPMonstr var.l -o32 225 12 201

PPMonstr var.l —o 16 32 23 991

PPMonstr var.l -o32 32 26 1295

Ash /o33/s255 480 85 203

Ash /017/«255 186 66 222

Ash /065 /s255 >1000 94 364

PPMd var 1. -ОІ6 89 2 224

PPMd var 1. -o9 26 2 569

RAR 3.40 -m5 -mc63:128t+ >128 4 212

RAR 3.40 •m5 -mcl6:32t+ >32 4 534

Slim! vO.OI6 -w22 и/л 18 216

Slim! v0.23d -o32 240 52 218

Slim! v0.23d —о 16 140 51 230

Slim! v0.23d -ОІ6 70 81 915

EPM r9 -СІ28 н/д 71 I960

EPM i9 -c064 НІЛ 70 1963

EPM i9 -c999 и/д 101 1963

Hipp 0.5819 /o4/do4 32.8 50 1758

I lipp 0.5819 /o4/do256 32.8 53 314

Hipp 0.5819 /o4/dol024 32.8 62 212

Hipp 0.58l9(bookl) /o4/do4 25.6 5 209

являются цепочки узлов только с одной исходящей ветвыо перехода (детерминированных узлов). Баитон и Ларрсон использовали иной подход; ветви дерева помечали строками. В таком случае происходит объединение детерминированных узлов одной цепочки в один узел (ОДУ; англ. термин — path compression). Но экономия памяти при этом меньше, чем избыточность представления недетерминированных узлов (каких большинство).

В компрессоре Hipp v0.5819 одновременно используются две структуры узла СД: для представления недетерминированных узлов и для ОДУ. Первый байт структуры узла служит сигнатурой типа узла. На рис. 1 изображено СДдли строки «кок_колол_колокол» со стандартной реализацией ОДУ (слева) и с предлагаемой реализацией ОДУ только по необходимости (справа). В структуре узла находятся символы ветвей перехода, индекс слева - частота встречаемости символа. справа - позиция в строке. В случае ОДУ кроме позиции хранится длина последовательности (либо позиция начала и позиция конца цепочки, что эквивалентно); если ОДУ нет, то позицию нужно сохранять только в структурах листовых узлов. Как видно из рис. 1, во втором СД понадобилась только одна структура объединённого узла (помечена меткой *).

Кроме того, что ОДУ позволяет существенно экономить память, важно отметить и более стабильный характер расходов памяти в зависимости от типа данных. Даже при обработке файлов из тестового набора Calgary Corpus (где представлены самые различные типы данных) хорошо видна качественная разница в характере зависимости объёма СД от размера файла (рис. 2). На графиках изображены результаты прогона при ограничении глубины СД. рав-

ном 1706 байтов. Объём СД без ОДУ для файла pic с глубиной, равной 1706, составляет 299 Мб (точка, соответствующая 0,5 Мб, с не уместившимся пиком), а при глубине, равной 8000, занимает уже 926 Мб, в то время как неограниченное по глубине СД с ОДУ для этого файла занимает всего 15.4 Мб.

Смешанное использование двух типов узлов позволяет реализовать двойное ограничение глубины СД: первое ограничение - для недетерминированных узлов (обыкновенное), и второе - для объединённых цепочек детерминированных узлов. При ис-пользовании ОДУ возможно продление цепочки детерминированных узлов за первое ограничение глубины СД, для чего не требуется создания новых узлов, а только увеличение счётчика длины цепочки. Таким образом обеспечивается полезная статистика подлинным контекстам без дополнительных расходов памяти. Обозначим первое и второе ограничение глубины СД как d, и dr Статистика по активным детерминированным контекстам длины d за пределами первого ограничения (с/, < d £ d2) может быть обработана, так же как и статистика по обычным детерминированных контекстам. Однако очевидно, что ОДУ даёт дополнительную информацию, которая может быть полезной для прогнозирования. Например, длину объединённой детерминированной цепочки. В Hipp v0.5819 использован простой и достаточно грубый подход для смешивания статистики имеющихся активных детерминированных узлов, где вес статистики i'-го узла рассчитывается как

л, = freq, order, /orderw где freq, и order\ - счётчик появления и длина ко»ггек-

20... Jlv., <

>0-1^ ’ к*..*

2o.v Л,., |

1 Ки-г|

Рис. 1. Суффикснос дерево со стандартной реализацией и с предлагаемой реализацией ОДУ

0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7

Объем вч>лныхламиы\ Мб

Рис. 2. Объём суффиксного дерева для файлов набора Calgary Corpus в зависимости от размера файла

ста, представленного данным узлом [order, > d,), order- фактическая глубина СД (orderintl £ dt). Затем производится расчет весов остальных активных узлов, не выходящих за первое ограничение глубины, после чего все полученные веса нормируются на их сумму и используются в смешивании. Очевидно, что представленная формула является эмпирическим наброском, отражающим прямую зависимость веса от частоты контекста и его длины, в то время как прочие веса представляют собой некие оценки вероятностей. Однако даже такой грубый подход позволяет повысить степень сжатия.

Наибольший эффект от использования второго ограничения глубины СД достигается при обработке файлов, содержащих большие повторяющиеся блоки. Рассмотрим результаты сжатия десятикратной копии известного файла book 1 из Calgary Corpus размером 7687710 байт рядом известных компрессоров и компрессором Hipp v0.5819 с двойным ограничением глубины СД (табл. 1). Параметры сжатия указывают конфигурацию моделей компрессора; в случае Hipp опция /о задаёт первое ограничение глубины, /do - второе. Видно, что при увеличении второго ограничения глубины расход памяти остаётся

прежним и при небольших дополнительных затратах времени достигается уменьшение размера архива. Последняя строка таблицы (выделена полужирным) содержит результаты сжатия одной копии файла bookl (768771 байт). Т.о. Hipp vO.5819 использовал всего 32,8 Мб памяти для контекстного моделирования 4-го порядка (из которых СД занимает только 2,7 Мб; остальное - невостребованные SSE-массивы, кэширование всего файла целиком и пр.) и благодаря увеличению второго ограничения до 1024 «учёл»де-сятикратносп, входных данных, затратив на 25% больше времени (хотя порядок модели увеличился в 256 раз). Результаты прочих компрессоров показывают, что для достижения подобного эффекта требуется существенно больше памяти.

На обычных файлах (не содержащих огромных повторяющихся блоков) ситуация двоякая. На рис. 3 представлены типичные зависимости степени сжатия от второго ограничения в благоприятном и неблагоприятном случае на примере файлов news из Calgary Corpus и fp.log из набора В. Бергманса [4]. Значения второго ограничения глубины отложены по горизонтальной оси (подписано MaxOrder2). Кривые представляют собой значения степени сжатия при значениях

Рис. 3. Степені, сжатии файлов new* и fp.log при различных значениях первого и второго ограничения глубины суффнксного дерева

первого ограничения глубины (МахОгс1ег1) 4,6,8.10. Провал степени сжатия на малых значениях МахОгс1ег2 в какой-то мере наблюдается при обработке большинства файлов и объясняется примитивной функцией расчёта весов и нечувствительностью вторичной оценки (ББЕ) к такой ситуации. Но в среднем. даже при такой грубой реализации, двойное ограничение СД способствует увеличению степени сжатия. о чём также свидетельствуют результаты массивного тестирования, описанные в |3|.

Несмотря на то, что в Нфр у0.5819 не используются фильтры, не производится масштабирование статистики и обрезки суффиксного дерева, используются неоптимизированные$5Е-массииы размером 22,5 Мб, четырёхбайтовые счётчики (во многих компрессорах - однобайтовые) и другие избыточные структуры в составе узла су(|к})нксного дерева, при всём этом Н|рр. используя двойное ограничение глубины СД, способен обеспечить повышение степени сжатия данных при тех же или меньших затратах памяти по сравнению с другими известными компрессорами.

Таким образом, предложенный метод построения суффнксного дерева с объединением детерминированных узлов и двойным ограничением глубины, во-первых, обеспечивает линейный объём СД относительно объёма входных данных (даже без ограничений глубины); во-вторых, позволяет существенно экономить память при обработке реальных данных; в-третьих, благодаря механизму второго ограничения глубины, без дополнительных затрат па-

мятн предоставляет новую статистику, которая мо-жетбыть использована для повышения качества прогнозирования (и. как следствие, увеличению степени сжатия данных).

Библиографический список

1. Bunton, S. On-Line Stochastic Processes in Data Compression : PhD thesis |TextJ / Susan Bunton; Dept, of Comp. Sci., Univ. of Washington. - Washington : Univ. of Washington. 1997. - 156 p.

2. Larsson, N.J. Structures of String Matching and Data Compression: PhD thesis / N. Jesper Larsson; Dept, of Comp. Sci., Lund Univ., Sweden. - 1999. - 130 p.

3. Богатоп, P.M. Экспериментальный однофайловый компрессор hipp vO.5819 (Электронный pecypc| / Богатов P.M., Омский roc. техн. ун-т. - Электрон, текст и данные. - Режим доступа: http://compression.ru/ download/articles/cm/hlpp/hlpp5819.html

4. Maximum Compression: lossless data compression software benchmarks and comparisons (Electronic resource| / |Werner Bergmans). - Electronic text and data. - Access mode: http://www.maximumcompression.com/.

БОГАТОВ Роман Николаевич, старший преподава тель кафедры «Автоматизированные системы обра ботки информации и управления».

Дата поступления статьи в редакцию: 10.03.2009г.

© Богатов Р.Н.

i Надоели баннеры? Вы всегда можете отключить рекламу.