Ночипубеъичз оечйуцчфуз чйжмоупкч
PPM
Abstract. New mechanism for PPM* data compression scheme is invented. It is demonstrated that this mechanism can provide asymptotic optimality of algorithm along with linear time complexity simultaneously. Simple procedure for adaptive escape estimation is proposed. Practical implementation of these methods is described and showed that this implementation gives best to date results at complexity comparable with widespread LZ77- and BWT-based algorithms.
Index terms: data compression, PPM algorithm, adaptive modeling.
Ааеделуе
Нмъйе ааеделуз а 1984 чйжмоупк PPM уйу prediction by partial string matching ъпчй ъпчлдчопмк ноу ъочалелуу очцйубльс ъсек ътчпуз дчлльс юец нмпеощ [1]. PPM нмъйедмачпейщлм ъпомуп Кчоимаъияв кмдейщ улрмокчфумллмжм уъпмблуич, импмочз мфелуачеп аеомзплмъпщ ичтдмжм ъукамйч уц асмдлмх нмъйедмачпейщлмъпу ъ нмкмшщв песлуиу, лчцьачекмх ъкеэуачлуе. Ъкеэуачлуе имкюулуояеп рялифув очъноедейелуз бчъпмп ъукамйма уц кмдейех очцйубльс нмоздима а едуляв рялифув очъноедейелуз.
Юмйее нмцдлзз кмдуруичфуз чйжмоупкч PPM* ълукчеп мжочлубелуе лч нмоздми уъпмблуич улрмокчфуу, мъпчайзз, пек ле келее, поеюмачлуз и нчкзпу йулехльку [2].
Леъкмпоз лч пм, бпм чйжмоупк PPM дмъпужчеп йябэус нм ъочалелув ъ дояжуку оецяйщпчпма, лч ночипуие мл ноукелзепъз дмъпчпмблм оедим, аъйедъпауе ежм юмйщэмх аьбуъйупейщлмх ъймтлмъпу. Дчллчз ъпчпщз нмъазшелч нмъпомелув ъсекь оечйуцчфуу чйжмоупкч PPM, импмочз, ъмсочлзз аъе нмймтупейщлье ичбеъпач ыпмжм чйжмоупкч, укееп ъймтлмъпщ ъочалукяв ъ лчуюмйее очъномъпочлелльку ночипубеъиуку ъсекчку ътчпуз мълмачлльку лч чйжмоупкчс LZ77, LZ78, BWT [3]. Нм ъбчъпйуамкя ъманчделув, ъсекч моуелпуомачллчз а неоаяв мбеоедщ лч кчйье цчпочпь аьбуъйупейщльс оеъяоъма у номъпмпя оечйуцчфуу, дмъпужчеп пчите у лчуйябэус уц мнуъчлльс лч дчлльх кмкелп ъпенелех ътчпуз.
А неоамх бчъпу ъпчпщу мюъятдчвпъз чъукнпмпубеъиме нмаеделуе чйжмоупкч PPM у юйуциус и лекя чйжмоупкма у ъпояипяоь дчлльс лемюсмдукье дйз ежм оечйуцчфуу. А ъйедявшех бчъпу очъъкчпоуачепъз кесчлуцк неоедчбу улрмокчфуу мп кмдейех кчймжм нмоздич и кмдейзк юмйее аьъмиус нмоздима. А поепщех бчъпу очъъкчпоуачвпъз очцйублье кепмдь чдчнпуалмх мфелиу аеомзплмъпу ясмдч и имлпеиъпя юмйее луцимжм нмоздич. А бепаеопмх бчъпу аамдупъз леъимйщим ноуекма яаейубелуз ъпенелу ътчпуз цч ъбеп яаейубелуз аьбуъйупейщлмх ъймтлмъпу. А нмъйедлех бчъпу ъпчпщу ноуамдзпъз оецяйщпчпь ъочалелуз ноедймтеллмх ъсекь ичи ъ лчуюмйее очъномъпочлелльку ночипубеъиуку оечйуцчфузку чйжмоупкма ътчпуз, пчи у ъ лчуюмйее ырреипуальку уц ъсек мнуъчлльс а йупеочпяое.
Мълмалчз удез PPM ъмъпмуп а уънмйщцмачлуу леъимйщиус нмъйедлус ъукамйма имдуояекмжм пеиъпч дйз ноедъичцчлуз ъйедявшежм ъукамйч. Ъпомия уц
k ноедэеъпаявшус ъукамйма юядек лчцьачпщ имлпеиъпмк
- ъяккч цлчбелух аъес ъбепбуима бчъпмп, esc - ънефучйщльх ъукамй ясмдч лч кмдейщ келщэежм нмоздич, Лчуюмйее ядмюлмх ъпояипяомх дчлльс дйз оечйуцчфуу PPM-чйжмоупкч зайзвпъз ъярруиълье деоеащз [4], ноу ыпмк имлпеиъпя ъммпаепъпаяеп яцей деоеач, ч ъбепбуиу бчъпмп ъукамйма сочлзпъз а ъпояипяочс неоесмдч деоеач.
1.1. Мжочлубеллье у лемжочлубеллье имлпеиъплье кмдейу
Иочпим мнуъчлльх аьэе кепмд PPM укееп мдлм мжочлубелуе - мл ноеднмйчжчеп, бпм нмоздми уъпмблуич улрмокчфуу цчочлее уцаеъпел, лч ночипуие ыпм, ичи ночауйм, ле пчи. Нмыпмкя а очюмпе [2] юьй ноедймтел кепмд, ълукчвшух ыпм мжочлубелуе. Юядек лчцьачпщ пчимх нмдсмд PPM* у ъммпаепъпаявшуе екя имлпеиъплье кмдейу - имлпеиъплм-лемжочлубелльку.
А мюшек ъйябче, еъйу кмтеп юьпщ уънмйщцмачл имлпеиъп йвюмх дйуль уц мюочюмпчллмжм пеиъпч, нмаеделуе кмдейу юядеп лейулехльк нм нчкзпу у аоекелу аьнмйлелуз, нмыпмкя лемюсмдукм лчймтупщ леимпмоье очцяклье мжочлубелуз лч аьюмо имлпеиъпма. Юядек лчцьачпщ имлпеиъп юулчольк, еъйу мл ънмъмюел аьдчачпщ пмйщим дач ноедъичцчлуз - йуюм ъукамй, йуюм ясмд лч омдупейщъиух имлпеиъп. Пмждч номфедяоя лчбчйщлмжм аьюмоч имлпеиъпч дйз имдуомачлуз пеияшежм ъукамйч кмтлм ърмокяйуомачпщ ъйедявшук мюочцмк - еъйу имлпеиъп кчиъукчйщлмх дйуль ле зайзепъз юулчольк, пм аьюуочек ежм, а номпуалмк ъйябче аьюуочек юулчольх имлпеиъп кулукчйщлмх дйуль. Дчйее имдуомачлуе номуъсмдуп пмблм пчите ичи у имдуомачлуе а имлпеиъплм-мжочлубелльс кмдейзс. Пчичз оечйуцчфуз PPM* кмтеп юьпщ ъдейчлч йулехлмх нм аоекелу у нчкзпу.
Ъярруиълье деоеащз зайзвпъз лчуюмйее ядмюлмх ъпояипяомх у дйз оечйуцчфуу кмдейу PPM*, мдлчим лемюсмдукмъпщ нмддеотуачпщ имлпеиъпь лемжочлубеллмх дйуль поеюяеп ъяшеъпаеллмх оеможчлуцчфуу ъпояипяоь деоеач у ааеделуз дмнмйлупейщльс нмйех дчлльс, ч пчите оецим якелщэчеп ъимомъпщ очюмпь оечйуцчфуу чйжмоупкч. Лчноукео, мдлч уц лчуюмйее ыимлмкубльс нм поеюмачлузк и нчкзпу оечйуцчфух PPM*, мнуъчллчз а очюмпе [5]
, поеюяеп 8 кчэулльс ъйма лч ъпояипяоя леюулчолмжм имлпеиъпч, 6 кчэулльс ъйма лч ъпояипяоя юулчолмжм имлпеиъпч у 6 кчэулльс ъйма лч ъпояипяоя неоесмдч а леюулчолмк имлпеиъпе. Цдеъщ ябупьачвпъз пчите у цчпочпь нчкзпу лч ъбепбуиу, лемюсмдукье дйз имдуомачлуз. Дйз ъочалелуз, оечйуцчфуз имлпеиъплм-мжочлубеллмх кмдейу, импмочз юядеп нмъпомелч а ыпмх ъпчпще, поеюяеп 4 кчэулльс ъймач лч ъпояипяоя леюулчолмжм имлпеиъпч, 5 кчэулльс ъйма лч ъпояипяоя юулчолмжм имлпеиъпч у 3 кчэулльс ъймач лч ъпояипяоя неоесмдч а леюулчолмк имлпеиъпе. Лч 32-очцоздльс кчэулчс ыпу ъпояипяоь кмтлм очцкеъпупщ а 3, 3 у 1.5 кчэулльс ъймач, ъммпаепъпаеллм. Пчиук мюочцмк, имлпеиъплм-мжочлубеллье кмдейу ноу очцяклмк аьюмое нмоздич кмдейу (<10) зайзвпъз юмйее ыимлмкубльк оеэелуек. Дчйее а ъпчпще аъвдя ноеднмйчжчепъз, бпм номфеъъмолме аоекз зайзепъз юмйее дмомжук оеъяоъмк, бек мнеочпуалчз нчкзпщ.
Лч оечйщльс дчлльс мжочлубеллмх дйуль, очцйубуе кетдя ноедъичцчлузку импмоье дчвп PPM у PPM* леаейуим. Лч Оуъ. 1 ноуаеделч мплмъупейщлчз дмйз ъукамйма, импмоье кмжяп юьпщ ноедъичцчль имлпеиъпчку очцльс нмоздима а кмдейзс PPM у PPM* дйз леимпмоьс рчхйма уц Calgary Corpus. Ичи аудлм, ноу аьюмое нмоздич кмдейу 6 у аьэе, буъйм пчиус ъукамйма кчйм у кмтлм очъъкчпоуачпщ кмдейщ PPM ичи аеъщкч пмбляв чнномиъукчфув кмдейу PPM*. Нмаеделуе рчхйч pic номпуамоебуп пчимкя ноеднмймтелув, мдлчим лч ъчкмк дейе, ыпмп рчхй ъмдеотуп даякеолье дчллье у нймсм ъммпаепъпаяеп нчочдужке ?universal data compression╕. А ъуйя ыпмжм ноеднмймтелуз, кь ле юядек номамдупщ мъмюм ъпомжус очцйубух кетдя PPM у PPM* у юядек ноукелзпщ аьамдь нмйябеллье дйз имлпеиъплм-лемжочлубеллмх кмдейу и нмъпомелув оечйуцчфуу имлпеиъплм-мжочлубеллмх кмдейу у лчмюмомп, ноукелзпщ дчллье нмйябеллье ъ нмкмшщв ыпмх оечйуцчфуу и нмлукчлув нмаеделуз PPM*.
Кепмд PPM* поеюяеп дйз ъамех оечйуцчфуу уънмйщцмачлуз ъярруиълмжм деоеач у ъбепбуима бчъпмп, очънмймтелльс а яцйчс деоеач у ъпояипяочс неоесмдч. Буъйм ыпус яцйма у ъпояипяо неоесмдч номнмофумлчйщлм дйуле мюочюмпчллмх ъпомиу
N, пчиук мюочцмк, мюшуе поеюмачлуз и нчкзпу ъмъпчайзвп O(N) (ък., лчноукео, [5]).PPM-ътчпуе мдлмжм ъукамйч кмтлм очъъкчпоуачпщ ичи мнуъчлуе няпу мп пеияшежм чипуалмжм ъмъпмзлуз кмдейу и ъйедявшекя чипуалмкя ъмъпмзлув кмдейу. Дйз пмжм, бпмюь мнуъчпщ ыпмп няпщ, лемюсмдукм номхпу адмйщ лежм, цчнуъьачз лч ичтдмх очцауйие ъммпаепъпаявшуе имдь а аьсмдлмх нмпми. Мдлчим пмблм пчимх те няпщ лемюсмдукм номдейчпщ ноу нмъпомелуу ъярруиълмжм деоеач, пчиук мюочцмк, ъймтлмъпщ кепмдч PPM* мноедейзепъз номфедяомх нмъпомелуз ъярруиълмжм деоеач. Мнуъчлуе нмъпомелуз ъярруиълмжм деоеач ъ йулехлмх ъймтлмъпщв кмтлм лчхпу а очюмпчс [6] уйу [7]. Упчи, ъймтлмъпщ нмъпомелуз кмдейу PPM* очалч
O(N).Очъъкмпоук пенеощ очцаупуе PPM* кмдейу а дулчкуие. Кмдейщ ъпчопяеп ъ няъпмжм деоеач, цчпек а лех нмзайзвпъз имомпиуе имлпеиъпь, цчпек юмйее дйуллье, импмоье цчиоьачвп юмйее имомпиуе. Пчиме зайелуе, имждч аеъщ имдуояекьх пеиъп уйу бчъпщ ежм мюочючпьачвпъз а имлпеиъпчс аьъмиус нмоздима юец уънмйщцмачлуз улрмокчфуу, ъмсочлеллмх а омдупейщъиус имлпеиъпчс, юядек лчцьачпщ кчъиуомаимх омдупейщъиус имлпеиъпма. Еъйу бчъпщ ъмюочллмх улрмокчфуу ле уънмйщцяепъз, пм амцкмтлм чйжмоупк чъукнпмпубеъиу лемнпукчйел. Кчъиуомаич омдупейщъиус имлпеиъпма ле зайзепъз номюйекмх дйз имлпеиъплм-мжочлубелльс кмдейех (кмдейщ мжочлубеллч => буъйм цчкчъиуомачлльс имлпеиъпма мжочлубеллм => мюгек нмпеозллмх улрмокчфуу мжочлубел), мдлчим ыпм ъпчлмаупъз номюйекмх дйз
PPM* кмдейех, импмоье пеозвп улрмокчфув ъ пмх те ъимомъпщв, бпм у нмйябчвп ее мп улрмокчфумллмжм уъпмблуич. А ичбеъпае ноукеоч кмтлм очъъкмпоепщ моужулчйщльх PPM* у уъпмблуи ляйеамжм нмоздич ъ очалмкеольк очъноедейелуек ъукамйма а имлпеиъпе: лч ичтдмк эчже чйжмоупкч ъ ночипубеъиу едулублмх аеомзплмъпщв юядеп ъмцдчачпщъз лмаьх имлпеиъп, у ъпчпуъпуич а имлпеиъпчс аьъмимжм нмоздич аъеждч юядеп мъпчачпщъз ъяюмнпукчйщлмх. Пчиук мюочцмк, юец ноулзпуз ънефучйщльс кео, PPM* зайзепъз чъукнпмпубеъиу лемнпукчйщльк.Уцаеъпль дач смомэм номочюмпчлльс нмдсмдч и яъпочлелув ыпмжм ледмъпчпич:
Едулъпаелльк уцаеъпльк чапмоя, яънеэльк ноедъпчаупейек неоамжм нмдсмдч зайзепъз кепмд CTW [8]. Ледмъпчпимк ыпмжм кепмдч зайзепъз пм, бпм мл ноулфунучйщлм очюмпчеп пмйщим ъ юулчольк чйрчаупмк у мюгедулелуе юупма а ъукамйь аьжйздуп дмъпчпмблм уъияъъпаелльк.
Ноедъпчаупейу апмомжм нмдсмдч юмйее клмжмбуъйелль, ъоеду лус у дмичцчлм мнпукчйщлье, юуп-моуелпуомачллье чйжмоупкь CONTEXT [9] у WLZ [10], у юмйее ночипублье
, ючхп-моуелпуомачллье FSMX-имдеоь S. Bunton [5] у PPMZ-имдеоь C. Bloom [11]. Ледмъпчпимк ыпмжм нмдсмдч зайзепъз пм, бпм ноу имдуомачлуу ъукамйч кесчлуцк LOE кмтеп ле уънмйщцмачпщ лчуюмйее чипячйщляв улрмокчфув, сочлзшявъз а имлпеиъпчс ъпчоэежм нмоздич.Ъпомжм жмамоз, юуп-моуелпуомачллье чйжмоупкь CTW, CONTEXT у WLZ ле мплмъзпъз и ийчъъя PPM чйжмоупкма, п.и. млу ле номуцамдзп PPM ъкеэуачлуз у янмкулчвпъз цдеъщ пмйщим дйз мюшлмъпу очъъкмпоелуз.
Мюч ыпус нмдсмдч ъичлуоявп деоеам имлпеиъпма а жйяюуля, пчиук мюочцмк, ус ъймтлмъпщ ъмъпчайзеп
Упчи, кь укеек леияв дуйеккя: ъ мдлмх ъпмомль, чйжмоупк PPM* кмтеп юьпщ оечйуцмачл ъ йулехлмх ъймтлмъпщв, лм пчичз оечйуцчфуз юядеп чъукнпмпубеъиу лемнпукчйщлмх, ъ дояжмх ъпмомль, ъяшеъпаявп чъукнпмпубеъиу мнпукчйщлье оечйуцчфуу, лм ус ъймтлмъпщ лейулехлч.
2. Кесчлуцк лчъйедмачлуз улрмокчфуу
Аъе ?леноузплмъпу╕ номуъсмдзп уц-цч пмжм, бпм кь пеозек улрмокчфув, ъмюочлляв а омдупейщъиус имлпеиъпчс, нмыпмкя, еъйу кь лчябукъз неоедчачпщ ыпя улрмокчфув дмбеолук имлпеиъпчк, пм ноу ночауйщлмк аьюмое аеъч ъ импмоьк ябупьачепъз неоедчллчз улрмокчфуз, пчичз ъсекч юядеп чъукнпмпубеъиу мнпукчйщлмх. Юядек лчцьачпщ ыпмп номфеъъ лчъйедмачлуек улрмокчфуу у, ъммпаепъпаеллм, кесчлуцк ежм мюеънебуачвшух - кесчлуцкмк лчъйедмачлуз улрмокчфуу. Ъйедяеп мпкепупщ, бпм нмсмтух кесчлуцк очъъкчпоуачйъз а очюмпе [5], пчк мл лчцьачйъз inherited frequencies, мдлчим ежм цлчбелуе юьйм ледммфелелм у чъукнпмпубеъиме нмаеделуе кмдейу мюеънебуачймъщ кесчлуцкмк LOE. Мбеаудлм, бпм еъйу кь юядек неоедчачпщ улрмокчфув пмйщим ноу ъмцдчлуу лмаьс имлпеиъпма йуюм ноу дмючайелуу и ъяшеъпаявшук имлпеиъпчк лмаьс ъпояипяо неоесмдч, пм ъймтлмъпщ кмдейу мъпчлепъз нмоздич O(N). Ноу пчимк нмдсмде, очцйублье ънмъмюь оечйуцчфуу кесчлуцкч лчъйедмачлуз улрмокчфуу ыиауачйелпль ааеделув очцйубльс рялифух f(-) улуфучйуцуоявшус лчбчйщлье цлчбелуз ъбепбуима бчъпмп ъукамйма
, (2.1)
жде
2.1. Ноукео чъукнпмпубеъиу мнпукчйщлмжм оеэелуз
Няъпщ цчдчл уъпмблуи улрмокчфуу нмоздич
N. Улуфучйуцуояек а кмдейу куляъ неоамжм нмоздич
, (2.2-1)
жде
(2.2-2)
Лепоядлм цчкепупщ, бпм рялифуз неоедчбу улрмокчфуу ъпомупъз пчиук мюочцмк, бпм лчбчйщлчз мфелич аеомзплмъпу ъукамйч а имлпеиъпе
2.2. Ночипубеъичз оечйуцчфуз кесчлуцкч лчъйедмачлуз улрмокчфуу
Мнуъчлльх аьэе ноукео мюеънебуачеп чъукнпмпубеъияв мнпукчйщлмъпщ кмдейу, лм ле зайзепъз ночипубльк уц-цч пмжм, бпм мл ябупьачеп ъпчпуъпуия келее ънефучйуцуомачлльс омдупейщъиус имлпеиъпма ъ пек те аеъмк, бпм у юмйее пмбляв ъпчпуъпуия а дмбеолус имлпеиъпчс, пчимх чйжмоупк юядеп нймсм очюмпчпщ лч оечйщльс дчлльс имлеблмх дйуль. Нмыпмкя а ыпмк нялипе очъъкчпоуачепъз юмйее ночипублме оеэелуе, смпз ыпм оеэелуе юядеп чъукнпмпубеъиу лемнпукчйщльк.
Няъпщ, ичи у а н.2.1,
, (2.3-1)
жде
- ъпчпуъпуич, лчимнйеллчз а имлпеиъпчс
, (2.3-2)
цдеъщ уънмйщцяепъз ъпчпуъпуич, яте мюлмайеллчз ъукамймк
a.Рмокяйь (2.3-1) - (2.3-2) дмъпчпмблм ъймтль дйз аьбуъйелуз у поеюявп ааеделуз дмнмйлупейщлмх неоекеллмх, ъмдеотчшех ъяккя лчбчйщльс цлчбелух аъес ъбепбуима а имлпеиъпе, а ичтдяв ъпояипяоя имлпеиъпч, бпм леноуекйекм дйз лчэус фейех. Цчкепук, бпм, ичи ночауйм, уъиехн
номуъсмдуп лч омдупейщъиух имлпеиъп, п.е.
(2.4-1)
у ноу дмючайелуу ъукамйч а ъпчоьх имлпеиъп:
(2.4-2)
Нмйябеллье рмокяйь дмъпчпмблм номъпь дйз ноукелелуз у номуцамдупейщлмъпщ кмдейу нмъпомеллмх лч яномшелльс рмокяйчс (2.4), а ъоедлек, ле мпйубчепъз мп номуцамдупейщлмъпу кмдейу нмъпомеллмх лч юмйее ъпомжус рмокяйчс (2.3).
Лемюсмдукьк яъймауек чъукнпмпубеъимх мнпукчйщлмъпу зайзепъз лчочъпчлуе лчбчйщлмх кчъъь очъноедейелуз дйз уъийвбелуз айузлуз ъпчпуъпубеъиус аьюомъма лч мфелиу аеомзплмъпех. А рмокяйчс (2.4) лчбчйщлчз кчъъч очъноедейелуз ле цчауъуп мп нмоздич ъмцдчачекмжм имлпеиъпч, нмыпмкя пчиме оеэелуе юядеп чъукнпмпубеъиу лемнпукчйщльк дйз кмдейу PPM*, лм млм анмйле ноуекйекм дйз имлпеиъплм-мжочлубеллмх кмдейу.
2.3. Кмдуруичфуз "update exclusions"
А мюьблмк PPM, омдупейщъиуе имлпеиъпь уънмйщцявпъз пмйщим дйз имдуомачлуз пес ъукамйма, импмоье ле кмжяп юьпщ цчимдуомачль имлпеиъпчку аьъмимжм нмоздич. Ноу дмючайелуу и ъпчлдчоплмх ъсеке кесчлуцкч лчъйедмачлуз улрмокчфуу, ус омйщ нмаьэчепъз - пенеощ млу пчите ъйятчп эчюймлмк, нм импмомкя ъпомзпъз имлпеиъпь-нмпмкиу. А ъуйя ыпмжм, ъпчлмаупъз юмйее ачтлмх пмблмъпщ у ъимомъпщ чдчнпчфуу ъмюуочекмх ъпчпуъпуиу а омдупейщъиус имлпеиъпчс. Ъпчлдчопльх кесчлуцк
update exclusions ле мюеънебуачеп лемюсмдукмх пмблмъпу у ъимомъпу чдчнпчфуу, ъ дояжмх ъпмомль, full updates нм-ноетлекя очюмпчвп леядмайепамоупейщлм.Алеъек ъйедявшее уцкелелуе а ъпчлдчоплье
update exclusions - лчоздя ъ мюлмайелуек ъпчпуъпуиу а имлпеиъпе импмоьх ноедъичцчй ъукамй a, юядек пчите мюлмайзпщ ъпчпуъпуия ыпук ъукамймк у а омдупейщъимк имлпеиъпе, лм ъ аеъмк 1/2. Ноу update exclusions, рялифуз очъноедейелуз а омдупейщъимк имлпеиъпе ноуюйуцупейщлм очалч ацаеэеллмх ъякке очъноедейелух а дмбеолус имлпеиъпчс, ъ аеъчку номнмофумлчйщльку эуоуле очъноедейелуз дмбеолус имлпеиъпма. Дйз пмжм бпмюь ъмсочлупщ ыпм ъамхъпам, юядек мпийвбчпщ мюлмайелуе омдупейщъимжм имлпеиъпч нмъйе дмъпутелуз ъбепбуич бчъпмпь ъукамйч леимпмомжм ноедейщлмжм цлчбелуз. Ыиънеоукелпчйщлм лчхделм, бпм ноедейщлме цлчбелуе ~10 очюмпчеп смомэм.Мнуъчлльх ноуек поеюяеп номъкмпоч омдупейщъимжм имлпеиъпч у кмтеп яаейубуачпщ аоекз аьнмйлелуз нмбпу адаме, бпм леноуекйекм. Кмтлм ноеднмймтупщ, бпм еъйу ъукамй юьй мюочюмпчл имлпеиъпмк лчуюмйщэежм нмоздич, пм ъпчпуъпуич а дчллмх жоянне имлпеиъпма яте яъпмзйчъщ, аеомзплмъпщ уънмйщцмачлуз омдупейщъимжм имлпеиъпч кчйч у леп лемюсмдукмъпу мюлмайзпщ ежм ъпчпуъпуия. Ноу уънмйщцмачлуу ыпмжм ноеднмймтелуз, аоекз аьнмйлелуз яаейубуачепъз аъежм йуэщ лч 2-10%, а цчауъукмъпу мп нмоздич кмдейу.
Нмъйе ааеделуз кесчлуцкч лчъйедмачлуз улрмокчфуу у кмдуруичфуу
update exclusions, кмдейу очцйубльс нмоздима лчбулчвп улпелъуалм мюкелуачпщъз улрмокчфуех у ус яте лейщцз очъъкчпоуачпщ ичи лецчауъукье, ичи ыпм бчъпм дейчепъз ноу члчйуце очцйубльс PPM-ъсек, нмыпмкя кчпекчпубеъичз рмокчйуцчфуз пчимжм нмдсмдч цчпоядлелч.Аьюмо кепмдч мфелиу аеомзплмъпу ясмдч лч имлпеиъп юмйее луцимжм нмоздич ъйчюм айузеп лч чъукнпмпубеъиме нмаеделуе имлпеиъплм-мжочлубеллмх кмдейу, мдлчим мл ачтел ноу кмдейуомачлуу оечйщльс дчлльс, импмоье укевп мжочлубелляв дйуля. А очюмпе [1] юьйм ноедймтелм дач номъпьс ачоучлпч мфелиу аеомзплмъпу ясмдч (кепмдь A у B), юмйее яънеэльх ачоучлп юьй мнуъчл а очюмпе [12], мл лмъуп лчцачлуе ясмд нм кепмдя C. А очюмпе [13] ноедймтелч кмдуруичфуз кепмдч C, лчцьачекчз кепмдмк D, дчвшчз леъимйщим йябэуе оецяйщпчпь. Аъе ыпу нмдсмдь аьдаужчвп леимпмоье чноумолье ноеднмймтелуз м ноуомде ътукчекьс дчлльс, нмыпмкя а очюмпе [14] юьйм ноедймтелм чдчнпуалм мфелуачпщ аеомзплмъпщ ясмдч у а очюмпе [11] ноуаеделч ночипубеъичз ъсекч оечйуцчфуу ыпмжм нмдсмдч.
Чдчнпуалчз мфелич аеомзплмъпу ясмдч оечйуцяепъз ъ нмкмшщв нмъпомелуз дмнмйлупейщлмх имлпеиъплмх кмдейу дйз юулчолмжм чйрчаупч, ъукамйчку а импмомк зайзвпъз нчоч ?ъукамй кмтеп юьпщ цчимдуомачл пеияшук имлпеиъпмк╕ у ?ясмд лч омдупейщъиух имлпеиъп╕. Дйз пмжм бпмюь ле няпчпщ ыпя кмдейщ ъ мълмалмх кмдейщв юядек лчцьачпщ ее SEE (
secondary escape estimation) кмдейщв, ч имлпеиъпь ыпмх кмдейу v SEE-имлпеиъпчку. А очюмпе [11] ъпомупъз SEE кмдейщ апмомжм нмоздич ъ дмъпчпмблм жомкмцдимх номфедяомх ацаеэуачлуз имлпеиъпма очцйубльс нмоздима. Пчимх аьбуъйупейщлм ъймтльх нмдсмд леноуекйек дйз лчэус фейех, у кь мжочлубукъз нмъпомелуек кмдейу неоамжм нмоздич юец ацаеэуачлуз у юец ясмдма и имлпеиъпчк келщэус нмоздима. Ыпм лчийчдьачеп мжочлубелуе лч кчиъукчйщлм-дмняъпукме буъйм очцйубльс SEE-имлпеиъпма, а номпуалмк ъйябче, ъпчпуъпуич ъмюочллчз а ичтдмк имлпеиъпе юядеп ледмъпчпмблмх.Аеомзплмъпу ясмдч дйз юулчольс имлпеиъпма, имлпеиъпма ъ юмйее бек мдлук ъукамймк а имлпеиъпе у имлпеиъпма, бчъпщ ъукамйма а импмоьс цчкчъиуомачлч, цчауъзп мп ъяшеъпаеллм очцльс аейубул, нмыпмкя кь юядек очъъкчпоуачпщ ус очцдейщлм, мдлчим ноетде, лчк лемюсмдукм ааеъпу номъпяв ъпояипяоя дчлльс, лемюсмдукяв дйз ъюмоч ъпчпуъпуиу м
ъбепбуичс ясмдч.enum CONSTANTS { SUMM_SHIFT = 7, MAX_COUNT = 1 << SUMM_SHIFT };
struct PRIME_MEAN_ESTIMATOR {
int Summ, Count;
PRIME_MEAN_ESTIMATOR(int InitVal,int InitCount):
Summ(InitVal*InitCount), Count(InitCount) {}
int getMean() { return Summ/Count; }
void update(int Val) {
Summ += Val; Count++;
if (Count == MAX_COUNT) {
Summ >>= 1; Count >>= 1;
}
}
};
struct LOCO_MEAN_ESTIMATOR {
int Mean, Count, B; /* -Count < B <= 0 */
LOCO_MEAN_ESTIMATOR(int InitVal,int InitCount):
Mean(InitVal), Count(InitCount), B(-InitCount/2) {}
int getMean() { return Mean; }
void update(int Val) {
B += Val; Count++;
if (B <= -Count) {
Mean--; B += Count;
if (B <= -Count) B = -Count+1;
} else if (B > 0) {
Mean++; B -= Count;
if (B > 0) B = 0;
}
if (Count == MAX_COUNT) {
B >>= 1; Count >>= 1;
}
}
};
struct SIMPLE_MEAN_ESTIMATOR {
int Summ;
SIMPLE_MEAN_ESTIMATOR(int InitVal): Summ(InitVal << SUMM_SHIFT) {}
int getMean() {
int Mean=Summ >> SUMM_SHIFT;
Summ -= Mean; return Mean;
}
void update(int Val) { Summ += Val; }
};
Оуъ.
2. Очцйублье ънмъмюь чдчнпуалмх мфелиу ъоедлежм цлчбелуз очъноедейелуз.3.1. Номъпмх ънмъмю чдчнпуалмх мфелиу ъоедлежм цлчбелуз очъноедейелуз
Дйз лчсмтделуз аеомзплмъпу ясмдч
Ыпу ледмъпчпиу кмтлм уцюетчпщ ъ нмкмшщв ъйедявшежм ноуекч (ъпояипяоч SIMPLE_MEAN_ESTIMATOR): цчруиъуояек ъбепбуи
Count, у лч ичтдмк эчже чйжмоупкч юядек дмючайзпщ и ъякке Summ лмаме цлчбелуе у аьбупчпщ ъоедлее цлчбелуе. Мнеочфув дейелуз кмтлм цчкелупщ мнеочфуех ъдаужч, аьюоча цлчбелуе ъбепбуич Count очальк ъпенелу дамхиу. Дйз оечйуцчфуу SIMPLE_MEAN_ESTIMATOR поеюяепъз дае мнеочфуу ъймтелуз у мдлч мнеочфуз чоуркепубеъимжм ъдаужч, цчпочпь нчкзпу v мдлм кчэуллме ъймам. Ледмъпчпимк пчимжм нмдсмдч зайзепъз ъуйщлчз цчауъукмъпщ мп ночауйщлмжм аьюмоч неоамлчбчйщлмжм ноуюйутелуз InitVal а лчбчйе имдуомачлуз. Ыпмп дереип кмтеп юьпщ ъимооеипуомачл аьюмомк кчймжм цлчбелуз ъдаужч ноу лчбчйе имдуомачлуз у нмъпенелльк ежм яаейубелуек дм SUMM_SHIFT нм кеое лчюмоч ъпчпуъпуиу, пчичз имооеипуомаич нмбпу ле яаейубуачеп ъймтлмъпу оечйуцчфуу, лм поеюяеп ааеделуз а ъпояипяоя SIMPLE_MEAN_ESTIMATOR даяс дмнмйлупейщльс нмйех дчлльс.Дмнмйлупейщльх аьужоьэ а юьъпомдехъпауу кмтеп юьпщ нмйябел ноу имдуомачлуу юулчолмжм чйрчаупч, п.е. чйрчаупч укевшежм аъежм дач ъукамйч v
-0- у -1-, ноу ыпмк мфелич ъоедлежм цлчбелуз очъноедейелуз зайзепъз пчите у мфелимх аеомзплмъпу ъукамйч -1-. Кчъэпчюуояз нмйльх улпеоачй аеомзплмъпех [0, 1] и буъйя очалмкя ъпенелу даяс, кмтлм уъийвбупщ дейелуе а чоуркепубеъимк имдеое.Ноедймтелльх ънмъмю кмтеп юьпщ уънмйщцмачл а очцйубльс кмдейуоявшус у ъпчпуъпубеъиус номжочккчс очюмпчвшус ъ члчймжмаьку ъужлчйчку, у мл дехъпаупейщлм яънеэлм уънмйщцяепъз а номжочкке [16].
3.2. Мфелич аеомзплмъпу ясмдч ъ юулчолмжм имлпеиъпч
Ъйябчх юулчолмжм имлпеиъпч лчуюмйее номъп, п.и. ъммпаепъпаявшчз екя имлпеиъплчз кмдейщ укееп едулъпаелльх ъамюмдльх нчочкепо v ъимйщим очц имлпеиъп
Чйжмоупк PPM ыиънйячпуояеп ъсмдъпам омдупейщъиус у дмбеолус имлпеиъпма, нмыпмкя буъйм очцйубльс ъукамйма аъпоебчаэусъз а омдупейщъимк имлпеиъпе
Ыиънеоукелпь нмичцьачвп, бпм лч оечйщльс дчлльс юймиу смомэм ноедъичцяекьс дчлльс беоедявпъз ъ юймичку нймсм ноедъичцяекьс дчлльс, аейубулч пчиус юймима леаейуич v нмоздич 3-5 ъукамйма, ыпм ъммпаепъпаяеп очцдейелув лч ъймач у бчъпу ъйма а пеиъпчс лч еъпеъпаелльс зцьичс. Дйз пмжм бпмюь мпъйетуачпщ неоеийвбелуе кетдя пчиуку юймичку, аъпчаук а SEE-имлпеиъп аеомзплмъпщ нмзайелуз ноедьдяшежм ъукамйч а ноедьдяшек имлпеиъпе, иачлпуцмачлляв дм мдлмжм юупч.
3
.3. Мфелич аеомзплмъпу ясмдч ъ леюулчолмжм имлпеиъпчЫпмп пун имлпеиъпма ноедъпчайзеп ъмюмх юмйее ъймтльх ъйябчх v ъ мдлмх ъпмомль, пчиуе имлпеиъпь аъпоебчвпъз мплмъупейщлм оедим а кмдейзс аьъмиус нмоздима у дйз лус поядлм лчюочпщ дмъпчпмбляв ъпчпуъпуия, ъ дояжмх ъпмомль, номъпье кепмдь мфелиу аеомзплмъпу ясмдч, нмдмюлье пмкя, бпм мнуъчл а ноедьдяшек нмдочцдейе, ле дчвп цчкеплмжм аьужоьэч. Нм ыпмх ноубуле, юядек уънмйщцмачпщ нмйячдчнпуальх кепмд, аьюоча а ичбеъпае лчбчйщлмжм ноуюйутелуз ясмд нм кепмдя D.
Ноеднмймтук, бпм аеомзплмъпу ъукамйма а имлпеиъпе очъноедейель нм ыиънмлелфучйщлмкя цчимля, п.е.
пмждч, ноу ноеаочшелуу юулчолмжм имлпеиъпч а леюулчольх, лч мълмае кмдейу ноедьдяшежм нялипч, кмтлм лчхпу мълмачлуе ъпенелу
Дчйее цлчбелуе
,
жде
N(s) - буъйм ъукамйма а имлпеиъпе s,
3.4. Мфелич аеомзплмъпу ясмдч ъ имлпеиъпч ъ "цчкчъиуомачлльку" ъукамйчку
Дйз ыпмжм пунч имлпеиъпма, ъбепбуи ясмдч а лчуюмйщэех ъпенелу имооейуояеп ъ буъймк лецчкчъиуомачлльс ъукамйма, иачлпуцяек ыпя аейубуля дм 42 цлчбелух (ноуюйуцупейщлм 5-6 юуп). Дчйее, мнзпщ амънмйщцяекъз нмдмюуек омдупейщъиус у дмбеолус имлпеиъпма, у юядек ъочалуачпщ буъйм лецчкчъиуомачлльс ъукамйма а пеияшек имлпеиъпе ъ буъймк ъукамйма а дмбеолек имлпеиъпе у ъ буъймк ъукамйма, импмоье юядяп лецчкчъиуомачль а омдупейщъимк имлпеиъпе, а ъйябче еъйу пеияшух имлпеиъп ле ъкмтеп мюочюмпчпщ ътукчекьх ъукамй. Ыпм дмючайзеп еше дач юупч а SEE-имлпеиъп. Лчюйвдчепъз, пчите, имооейзфуз ъбепбуич ясмдч ъ мплмэелуек
Улпеоеълм мпкепупщ, бпм аъе ноуаеделлье аьэе ънмъмюь чдчнпуалмх мфелиу аеомзплмъпу ясмдч лчнозкяв цчауъзп пмйщим мп пеияшежм ъмъпмзлуз кмдейу, лм ле мп ътукчекьс дчлльс, ыпм нмцамйзеп лчдезпщъз, бпм ыпу кепмдь а дмъпчпмблмх ъпенелу ялуаеоъчйщль у юядяп очюмпчпщ дйз эуомимжм ийчъъч асмдльс дчлльс.
Нмъпомеллчз а ноедьдяшус даяс очцдейчс ъпчпщу кмдейщ (дчйее
Model1) декмлъпоуояеп оецяйщпчпь а ъоедлек ноеамъсмдзшуе аъе мнуъчллье очлее ъсекь ътчпуз дчлльс юец нмпеощ, нмыпмкя ноедъпчайзепъз улпеоеъльк аьзълупщ ноедейщляв ъпенелщ ътчпуз, импмояв нмдмюльх нмдсмд ънмъмюел дмъпубщ. А ыпмк очцдейе кь ле юядек мжочлубуачпщ ъеюз поеюмачлуек кчймх аьбуъйупейщлмх ъймтлмъпу оечйуцчфуу. Нмйябелляв кмдуруичфув уъсмдлмх ъсекь юядек мюмцлчбчпщ Model2.Бчъпщ яйябэелух кмтеп юьпщ нмйябелч номъпм няпек мпичцч мп ааеделльс очлее яномшелух. Нмйлье рмокяйь (2.3) мфелиу аейубуль лчбчйщлмжм цлчбелуз ъбепбуич ъукамйч, нмйябеллье лч мълмае кесчлуцкч лчъйедмачлуз улрмокчфуу, ле дчвп цчкеплмжм аьужоьэч а ъпенелу ътчпуз у ъуйщлм цчкедйзвп ъимомъпщ очюмпь имкноеъъмоч, нмыпмкя нм-ноетлекя юядек нмйщцмачпщъз яномшелльку рмокяйчку (2.4). Дйз кепмдч мюлмайелуз ъпчпуъпуиу а омдупейщъимк имлпеиъпе, мнуъчллмжм а н.2.4,
пенеощ юядек мюлмайзпщ ъпчпуъпуия лч ичтдмк эчже, ч ле пмйщим имждч дмбеолух имлпеиъп ле зайзепъз имлпеиъпмк кчиъукчйщлмжм нмоздич. Дйз чдчнпуалмх мфелиу аеомзплмъпу ясмдч, юядек уънмйщцмачпщ кмдуруичфув SIMPLE_MEAN_ESTIMATOR янмкзляпяв а н.3.1. Пмблмъпщ ноедъпчайелуз ъбепбуима бчъпмп ъукамйма нмаьэелч ъ 1/4 а Model1 дм 1/8 а Model2. Дояжуе яйябэелуз поеюявп мпдейщлмжм очъъкмпоелуз.4.1. Яйябэелуе мфелиу аеомзплмъпу лчуюмйее аеомзплмжм ъукамйч у лчукелее аеомзпльс ъукамйма а имлпеиъпе
Ъпчпуъпуич, лчюочллчз а имлпеиъпчс аьъмимжм нмоздич, зайзепъз а юмйщэулъпае ъйябчеа ледмъпчпмблмх. Дояжуку ъймачку, ъ пмбиу цоелуз кчпекчпубеъимх ъпчпуъпуиу, аьюмоич ле зайзепъз ноедъпчаупейщлмх, ъйедмачпейщлм, лемюсмдукм мплмъупщъз ъ мъпмомтлмъпщв и ичцчймъщ
-юь анмйле мбеаудльк нмлзпузк кчпекчпубеъимх ъпчпуъпуиу, лчноукео и мноедейелув мфелиу аеомзплмъпу ъукамйч а имлпеиъпе
(4.1)
Мбеаудлм, бпм имлпеиъп дмйтел аъпоепупщъз ле келее деазпу очц, ноетде бек кь ъкмтек ъдейчпщ ночадмнмдмюляв мфелия
Ъбепбуи лчуюмйее аеомзплмжм ъукамйч кмтлм ъимооеипуомачпщ, уънмйщцяз улрмокчфув м ъукамйе уц омдупейщъимжм имлпеиъпч, еъйу аьнмйлзвпъз леочаелъпач
![]()
,
жде
.
Дйз юулчолмжм имлпеиъпч а имлпеиъплм-мжочлубеллмх кмдейу, ыпч номфедяоч аьйщепъз номъпм а нмуъи кчиъукчйщлмжм цлчбелуз ъбепбуич дйз аъес омдупейщъиус имлпеиъпма, импмоье зайзвпъз юулчольку.
Дйз лчукелее аеомзпльс ъукамйма, ъбепбуи номъпм улиоекелпуояепъз лч 3/4, ч ле лч едулуфя:
,
жде
4.2. Мпймтеллме дмючайелуе ъукамйма а имлпеиъп
Ам апмомк очцдейе юьй очъъкмпоел кесчлуцк лчъйедмачлуз улрмокчфуу, лч ночипуие мл ъамдупъз и ноуъамелув ъбепбуия бчъпмп леимпмомжм лчбчйщлмжм цлчбелуз мноедейзекмжм рмокяймх (2.1), цчауъзшежм мп имлпеиъпч
4.3 Дмнмйлупейщлье нмйз а SEE-имлпеиъпчс
Ыйекелпь SEE-имлпеиъпма, ааеделлье а поепщек очцдейе ъпчпщу дйз
Model1, аьюуочйуъщ нм ноуцлчия лчукелщэех аьбуъйупейщлмх ъймтлмъпу, пенеощ кь кмтек дмючаупщ дмнмйлупейщлье нмйз, ле ъазцьачз ъеюз ыпук мжочлубелуек.Нмд дйулльк юймимк ъукамйма ъ дйулмх
L, юядек нмлукчпщ нмъйедмачпейщлмъпщ ъукамйма асмдлмжм пеиъпч, дйз импмомх, ноу имдуомачлуу, лу очця ле номуъсмдуй ясмд лч кмдейу юмйее луциус нмоздима (ле юьйм уъиехнма) у L ъукамйчк уц лее юьйу ноуъамель мфелиу аеомзплмъпу аьэе, бек 1/2. Анмйле аеомзплм, бпм имлпеиъплм-мжочлубеллчз кмдейщ нмоздич N < L, юядеп ъяюмнпукчйщлмх дйз пчиус юймима. Бпмюь мпъйетуачпщ нмдмюляв ъупячфув аъпчаук а юулчольх SEE-имлпеиъп рйчтми, ъужлчйуцуоявшух м пмк, лчсмдупъз йу имдео а дйуллмк юймие уйу леп.Еъпеъпаеллм, бпм пеияшух имдуояекьх ъукамй а лчуюмйщэех ъпенелу имооейуояеп ъ ноедьдяшук ъукамймк. А ъуйя ыпмжм, тейчпейщлм юьйм юь ааеъпу а SEE-имлпеиъп цчауъукмъпщ мп нмъйедлежм цчимдуомачллмжм ъукамйч, мдлчим аъпчаич аъежм ъукамйч фейуимк а SEE-имлпеиъп ноуаедеп и юмйщэук очъсмдчк нчкзпу у кчймх бчъпмпе нмзайелуз ичтдмжм мпдейщлмжм SEE-имлпеиъпч, нмыпмкя дмючаук а юулчольх SEE-имлпеиъп у SEE-имлпеиъп дйз имлпеиъпч ъ цчкчъиуомачлльку ъукамйчку пмйщим ъпчоэуе дач юупч ноедьдяшежм ъукамйч. И юулчолмкя SEE-имлпеиъпя дмючаук, пчите, ъпчоэуе дач юупч ноедъичцьачекмжм ъукамйч. Пчимх ноуек аамдуп цчауъукмъпщ SEE-имлпеиъпч мп нмоздич ъукамйма ам асмдлмк чйрчаупе, бпм, дм леимпмомх ъпенелу, номпуамоебуп дяся ?universal data compression╕. Ъ дояжмх ъпмомль, мл кмтеп очъъкчпоуачпщъз ичи леимпмочз ъпочллчз рмокч сеэуомачлуз
SEE-имлпеиъпма.Очъъкмпоеллье а ыпмк очцдейе кепмдь нмцамйзвп яаейубупщ ъпенелщ ътчпуз а ъоедлек лч 1.0-
2.0% фелмх яаейубелуз аоекелу аьнмйлелуз лч 30-50%, нмыпмкя млу кмжяп ноедъпчайзпщ улпеоеъ пмйщим а ичиус-пм ънефучйщльс ъйябчзс, лм ле дйз пунубльс цчдчб.5. Оецяйщпчпь ыиънеоукелпма
Ноетде бек ноуъпянупщ и ыиънеоукелпчйщльк ъочалелузк, лемюсмдукм мбеопупщ иояж ночипубеъиус цчдчб, дйз оеэелуз импмоьс уънмйщцявпъз ялуаеоъчйщлье чйжмоупкь ътчпуз. Цдеъщ кь ле юядек очъъкчпоуачпщ цчдчбу, дйз импмоьс ялуаеоъчйщльх чйжмоупк ътчпуз улимонмоуомачл а ичимх-пм дояжмх, юмйее мюшух чйжмоупк, лчноукео, цчдчбя ътчпуз члчймжмамжм ъужлчйч ъ нмпеозку. Цчдчбч ътчпуз дчлльс леимпмомжм, цчочлее уцаеъплмжм пунч дчлльс пчите ле очъъкчпоуачепъз. И улпеоеъявшук лчъ цчдчбчк, лчноукео, мплмъзпъз:
Иоупеоузку ъочалелуз очцйубльс чйжмоупкма ътчпуз зайзвпъз:
Дйз оеэелуз цчдчб пунч 1) иочхле ачтлч ъимомъпщ деимдуомачлуз, лм ъимомъпщ имдуомачлуз ле пчи ачтлч. Дйз цчдчб пунч 2) ачтлч ъяккч аоекел имдуомачлуз у деимдуомачлуз у дйз цчдчб пунч 3) юмйее ачтлч ъимомъпщ имдуомачлуз (анмйле аеомзпел ъйябчх, имждч ъмсочлеллье дчллье ле юядяп амъпоеюмачль). Мбеаудлм, бпм чйжмоупкь ийчъъч PPM ъйчюм нмдсмдзп дйз оеэелуз цчдчб пунч 1), п.и. млу ъуккепоубль нм ъимомъпу у поеюмачлузк и нчкзпу. Дйз оеэелуз пчиус цчдчб йябэе ноукелзпщ чйжмоупкь ийчъъч LZ77. Ъ дояжмх ъпмомль,
ичи кь яаудук дчйее, PPM анмйле нмдсмдуп дйз оеэелуз цчдчб пунч 2) у 3).Мнуъчллье а дчллмх ъпчпще
Model1 у Model2 юьйу оечйуцмачль лч зцьие номжочккуомачлуз C++ у няюйублм дмъпянль нм чдоеъя [17]. Кмдейу Model1 ъммпаепъпаяеп уънмйлукьх рчхй PPMd.exe, кмдейу Model2 ъммпаепъпаяеп уънмйлукьх рчхй PPMonstr.exe. Аъе ыиънеоукелпь номамдуйуъщ лч ъпчлдчоплмк Calgary Corpus.5.1. Ъочалелуе цчпочп нчкзпу у номфеъъмолмжм аоекелу
А неоамк ыиънеоукелпе ъочалуачйуъщ улпежочйщлье счочипеоуъпуиу номжочкклмх оечйуцчфуу
Model1 у Model2 ъ лчуюмйее очъномъпочлелльку ночипубеъиуку оечйуцчфузку чйжмоупкма LZ77 - ZIP [18] у BWT v BZIP2 [19], ч пчите ъ лчуюмйее кмшлмх оечйуцчфуех PPM* - PPMZ2 [20].Аъе номжочккь, цч уъийвбелуек
PPMZ2, юьйу мпимкнуйуомачль мдлук у пек те имкнуйзпмомк (Intel C v.4.0). Ыиънеоукелпь номамдуйуъщ лч имкнщвпеое PII-233(292) КЖф ъ мнеочпуалмх нчкзпщв 64 КЮ, нмд МЪ Windows98 у рчхймамх ъуъпекмх FAT32. Уцкеоелуе аоекелу номуцамдуймъщ ъуъпекльк пчхкеомк, ичтдчз номжочккч цчняъичйчъщ нзпщ очц у аьюуочймъщ лчукелщэее аоекз аьнмйлелуз. Оецяйщпчпь уцкеоелуз ъоедлех ъпенелу ътчпуз (а юупчс лч ючхп), аоекелу ътчпуз аъежм имоняъч у нуимамх нмпоеюлмъпу а нчкзпу (а кежчючхпчс) ноедъпчайель а Пчюйуфе 1.|
Нмоздми кмдейу |
Model1 |
Model2 |
||||
|
Ъоедлух bpb |
Аоекз, ъеи. |
Нчкзпщ, КЮ |
Ъоедлух bpb |
Аоекз, ъеи. |
Нчкзпщ, КЮ |
|
|
2 |
2.758 |
3.24 |
0.5 |
2.763 |
4.94 |
0.6 |
|
3 |
2.369 |
3.84 |
1.3 |
2.376 |
6.04 |
1.4 |
|
4 |
2.219 |
4.56 |
2.3 |
2.221 |
7.14 |
2.4 |
|
5 |
2.168 |
5.38 |
4.2 |
2.157 |
8.35 |
4.3 |
|
6 |
2.150 |
6.26 |
8.0 |
2.129 |
9.50 |
8.1 |
|
8 |
2.134 |
7.74 |
19 |
2.106 |
11.42 |
19 |
|
10 |
2.129 |
9.00 |
34 |
2.097 |
12.02 |
34 |
|
16 |
2.123 |
* |
84 |
2.089 |
* |
84 |
|
Дйз ъочалелуз |
||||||
|
ZIP v9 |
2.764 |
5.93 |
0.5 |
|||
|
BZIP2 -8 |
2.368 |
5.87 |
6.8 |
|||
|
PPMZ2 |
2.140 |
* |
>100 |
|||
Пчюйуфч
1. Улпежочйщлье счочипеоуъпуиу очцйубльс имкноеъъмома.* Уцкеоелуе аоекелу аьнмйлелуз ле номуцамдуймъщ уц-цч ледмъпчпич мнеочпуалмх нчкзпу.
Уц пчюйуфь аудлм, бпм
Model1 мюеънебуачеп эуомиух иояж амцкмтлмъпех. Ноу кчйьс нмоздичс кмдейуомачлуз (2-3), млч дчеп ъпенелщ ътчпуз ъочалукяв ъ ZIP у BZIP2, ноу юмйее аьъмимх ъимомъпу аьнмйлелуз у келщэус цчпочпчс нчкзпу бек я BZIP2. Ноу ъоедлус нмоздичс кмдейуомачлуз (4-6), млч дчеп цчкеплм йябэяв ъпенелщ ътчпуз, цчпочпь аоекелу у нчкзпу, ноу ыпмк, мъпчвпъз ъочалукьку ъ BZIP2. У лчимлеф, ноу аьъмиус нмоздичс кмдейуомачлуз (8-16), Model1 ноеамъсмдуп йябэяв уц мнуъчлльс дм ъус нмо номжочккя PPMZ2 нм ъпенелу ътчпуз, юьъпомдехъпаув у поеюмачлузк и нчкзпу.Model2, ичи ночауйм, дчеп леъимйщим йябэух оецяйщпчп, бек Model1. Уъийвбелуек зайзвпъз пмйщим кчйье нмоздиу кмдейуомачлуз (2-4). Ыпм мюгзълзепъз пек бпм, ноу кчйьс нмоздичс кмдейу, буъйм юулчольс имлпеиъпма леаейуим у ъпчпуъпуич а лус ле яънеачеп яъпмзпщъз, п.и. Model2 уънмйщцяеп юмйее эуомиух SEE-имлпеиъп, пм лч лех ыпм ъичцьачепъз ъуйщлее.
5.2. Ъочалелуе номуцамдупейщлмъпу
Ам апмомк ыиънеоукелпе юмйее нмдомюлм ъочалуачепъз номуцамдупейщлмъпщ
Model1 у Model2 ъ лчуйябэуку уц ъсек ътчпуз мнуъчлльку а йупеочпяое. А Пчюйуфе 2 ноедъпчайель оецяйщпчпь очюмпь ъйедявшус ъсек ътчпуз: оечйуцчфуу кепмдч CTW [21], чъъмфучпуалмжм имдеоч Ж. Юязлмаъимжм (ACB) [22], йябэежм уц мнуъчлльс S. Bunton FSMX-имдеома [5], PPMZ2 by C. Bloom [20]. А ноеднмъйедлех у нмъйедлех имймличс дчль оецяйщпчпь Model1 у Model2 дйз нмоздич кмдейуомачлуз 16. Лемюсмдукм мпкепупщ, бпм оечйуцчфуз [21] кепмдч CTW уънмйщцяеп очцюуелуе ъукамйма лч юупь ънефучйщлм мнпукуцуомачллме дйз члжйухъиус пеиъпма, пчиук мюочцмк, млч ле зайзепъз ялуаеоъчйщльк имкноеъъмомк.
|
Рчхй |
CTW |
ACB |
FSMX |
PPMZ2 |
Model1 |
Model2 |
|
bib |
1.782 |
1.935 |
1.786 |
1.717 |
1.751 |
1.712 |
|
book1 |
2.158 |
2.317 |
2.184 |
2.195 |
2.224 |
2.174 |
|
book2 |
1.869 |
1.936 |
1.862 |
1.846 |
1.861 |
1.816 |
|
geo |
4.608 |
4.555 |
4.458 |
4.576 |
4.362 |
4.322 |
|
news |
2.322 |
2.317 |
2.285 |
2.205 |
2.225 |
2.175 |
|
obj1 |
3.814 |
3.498 |
3.678 |
3.661 |
3.547 |
3.540 |
|
obj2 |
2.473 |
2.201 |
2.283 |
2.241 |
2.186 |
2.160 |
|
paper1 |
2.247 |
2.343 |
2.250 |
2.214 |
2.210 |
2.173 |
|
paper2 |
2.190 |
2.337 |
2.213 |
2.185 |
2.208 |
2.158 |
|
pic |
0.800 |
0.745 |
0.781 |
0.751 |
0.759 |
0.749 |
|
progc |
2.330 |
2.332 |
2.291 |
2.258 |
2.223 |
2.189 |
|
progl |
1.595 |
1.505 |
1.545 |
1.445 |
1.461 |
1.423 |
|
progp |
1.636 |
1.502 |
1.531 |
1.450 |
1.469 |
1.439 |
|
trans |
1.394 |
1.293 |
1.325 |
1.214 |
1.238 |
1.210 |
|
Ъоедлух bpb |
2.230 |
2.201 |
2.177 |
2.140 |
2.123 |
2.089 |
Пчюйуфч 2. Номуцамдупейщлмъпщ очцйубльс ъсек ътчпуз.
Model2 дчеп йябэуе оецяйщпчпь лч юмйщэулъпае рчхйма, уъийвбелуек зайзвпъз рчхйь book1, obj1 у pic. Лч рчхйе book1, оечйуцчфуз CTW [21] дчеп йябэуе оецяйщпчпь п.и. млч ънефучйщлм мнпукуцуомачлч нмд нмдмюльх пун дчлльс. Улпеоеълм мпкепупщ, бпм лч дояжус члжймзцьбльс пеиъпмаьс рчхйчс v bib, book2, news, paper1, paper2, млч ле дчеп ъпмйщ анебчпйзвшус оецяйщпчпма. Номжочккч ACB уънмйщцяеп юуп-моуелпуомачлльх кепмд ътчпуз, нмыпмкя млч лчюуочеп ъпчпуъпуия ноукеолм а амъекщ очц юьъпоее, бек ючхп-моуелпуомачллье номжочккь. Ыпм дчеп ех ноеукяшеъпам лч кчйелщиус рчхйчс, бпм аудлм лч ноукеое рчхйч obj1, импмоьх зайзепъз ъчкьк имомпиук а Calgary Corpus. А рчхйе pic цчнуъчлм уцмюочтелуе ъ жйяюулмх фаепч 1 юуп, еъпеъпаеллм, пчиуе дчллье йябэе аъежм кмдейуоявпъз юуп-моуелпуомачлльку кепмдчку, лчноукео ACB.
Цчийвбелуе
А дчллмх ъпчпще юьй мнуъчл лмаьх ючцмаьх кесчлуцк PPM, импмоьх лчцачл лчъйедмачлуек улрмокчфуу. Юьйм номдекмлъпоуомачлм, бпм ыпмп кесчлуцк ънмъмюел мюеънебупщ у йулехляв ъймтлмъпщ чйжмоупкч у чъукнпмпубеъияв мнпукчйщлмъпщ мдлмаоекеллм. Юьйч мнуъчлч номъпчз номжочкклчз оечйуцчфуз кесчлуцкч лчъйедмачлуз улрмокчфуу. Пчите, очъъкмпоел амномъ чдчнпуалмх мфелиу аеомзплмъпу ясмдч лч имлпеиъп юмйее луцимжм нмоздич у ноедймтель номъпье ънмъмюь лчсмтделуз ыпмх мфелиу. Нмичцчлм, бпм оечйуцчфуу чйжмоупкч PPM кмжяп юьпщ аеъщкч ночипубльку у дмъпужчпщ ъимомъпех ътчпуз у поеюмачлух и нчкзпу счочипеольс дйз чйжмоупкма LZ77 у
BWT.Йупеочпяоч
[1] Cleary, J.G. and Witten, I.H. (1984) Data compression using adaptive coding and partial string matching. IEEE Transactions on Communications, 32(4):396v402.
[2] Cleary, J.G., Teahan, W.J. and Witten, I.H. (1995) Unbounded length contexts for PPM. In J.A. Storer and M. Cohn, editors, Proceedings DCC-95. IEEE Computer Society Press.
[3] Moffat, A., Bell, T.C. and Witten I.H. (1995) Lossless Compression for Text and Images. International Journal of High Speed Electronics and Systems, 8(1):179-231.
[4] Crochemore, M. and Rytter, W. (1994) Text Algorithms. Oxford University Press, Oxford.
1994.
[5] Bunton, S. (1996) On-Line Stochastic Processes in Data Compression. PhD thesis, University of Washington.
[6] Ukkonen, E. (1995) On-line construction of suffix trees. Algorithmica 14(3):249-260.
[7] Larsson, J.N. (1996) Extended application of suffix trees to data compression. Proceedings of the IEEE Data Compression Conference, pp. 190-199.
[8] Willems, F., Shtarkov, Y. and Tjalkens, T. (1995) The context-tree weighting method: Basic properties. IEEE Transactions on Information Theory, 41(3):653v664
[9] Rissanen, J. (1983) A universal data compression system. IEEE Transactions on Information Theory, 29(5):656v664
[10] Weinberger, M.J., Lempel, A. and Ziv, J. (1992) A sequential algorithm for the universal coding of finite memory sources. IEEE Transactions on Information Theory, 38(3):1002v1014
[11] Bloom, C. (1996) Solving the Problems of Context Modeling. http://www.cbloom.com/papers
[12] Moffat, A. (1990) Implementing the PPM data compression scheme. IEEE Transactions on Communications, 38(11):1917v1921.
[13] Howard, P. G. (1993) The Design and Analysis of Efficient Lossless Data Compression Systems. PhD thesis, Brown University.
[14] Teahan, W.J. (1995) Probability Estimation for PPM. http://www.cs.waikato.ac.nz/papers/pe_for_ppm
[15] Weinberger, M. J., Seroussi, G. and Sapiro, G. (1995) LOCO-I: a low complexity lossless image compression algorithm. ISO Working Document ISO/IEC JTC1/SC29/WG1 N203.[16] Shkarin, D. (1999) BMF v.1.1 v lossless image compressor. ftp://ftp.elf.stuba.sk/pub/pc/pack/bmf_1_10.zip
[17] Shkarin, D. (2000) PPMDF v fast PPM compressor for textual data. ftp://ftp.elf.stuba.sk/pub/pc/pack/ppmdf.rar
[18] Info-ZIP Group (1999) Zip v.2.3 - compression and file packaging utility. http://www.cdrom.com/pub/infozip
[19] Seward, J. (2000) BZip2 v.1.0 - block-sorting file compressor. http://www.muraroa.demon.co.uk/
[20] Bloom, C. (1999) PPMZ2 - High Compression Markov Predictive Coder. http://www.cbloom.com/src
[21] Volf, P.A.J. (1996) Text compression methods based on context weighting. Technical report, Stan Ackermans Institute, Eindhoven University of Technology.
[22] Юязлмаъиух, Ж. (1994) Чъъмфучпуалме имдуомачлуе. Кмлупмо, 8:10-22.