Ночипубеъичз оечйуцчфуз чйжмоупкч PPM


Дкупоух Эичоул
УЛЪПУПЯП ДУЛЧКУИУ ЖЕМЪРЕО ОЧЛ
Кмъиач, Йелулъиух номънеип, 38, имоняъ 6

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 у юйуциус и лекя чйжмоупкма у ъпояипяоь дчлльс лемюсмдукье дйз ежм оечйуцчфуу. А ъйедявшех бчъпу очъъкчпоуачепъз кесчлуцк неоедчбу улрмокчфуу мп кмдейех кчймжм нмоздич и кмдейзк юмйее аьъмиус нмоздима. А поепщех бчъпу очъъкчпоуачвпъз очцйублье кепмдь чдчнпуалмх мфелиу аеомзплмъпу ясмдч и имлпеиъпя юмйее луцимжм нмоздич. А бепаеопмх бчъпу аамдупъз леъимйщим ноуекма яаейубелуз ъпенелу ътчпуз цч ъбеп яаейубелуз аьбуъйупейщлмх ъймтлмъпу. А нмъйедлех бчъпу ъпчпщу ноуамдзпъз оецяйщпчпь ъочалелуз ноедймтеллмх ъсекь ичи ъ лчуюмйее очъномъпочлелльку ночипубеъиуку оечйуцчфузку чйжмоупкма ътчпуз, пчи у ъ лчуюмйее ырреипуальку уц ъсек мнуъчлльс а йупеочпяое.

  1. PPM, имлпеиъплье кмдейу у ъярруиълье деоеащз

Мълмалчз удез PPM ъмъпмуп а уънмйщцмачлуу леъимйщиус нмъйедлус ъукамйма имдуояекмжм пеиъпч дйз ноедъичцчлуз ъйедявшежм ъукамйч. Ъпомия уц k ноедэеъпаявшус ъукамйма юядек лчцьачпщ имлпеиъпмк , ъммпаепъпаявшяв ыпмкя имлпеиъпя кмдейщ юядек лчцьачпщ имлпеиъплмх кмдейщв k-жм нмоздич. А ичтдмх кмдейу ъмдеотупъз ънуъми ъукамйма, импмоье аъпоебчйуъщ очлее а ыпмк имлпеиъпе у ъбепбуиу бчъпмп ыпус ъукамйма , уънмйщцяз импмоье кмтлм лчхпу мфелия аеомзплмъпу ъукамйч a а имлпеиъпе , жде - ъяккч цлчбелух аъес ъбепбуима бчъпмп, 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*.

    1. Чъукнпмпубеъиме нмаеделуе лемжочлубелльс имлпеиъпльс кмдейех

Кепмд PPM* поеюяеп дйз ъамех оечйуцчфуу уънмйщцмачлуз ъярруиълмжм деоеач у ъбепбуима бчъпмп, очънмймтелльс а яцйчс деоеач у ъпояипяочс неоесмдч. Буъйм ыпус яцйма у ъпояипяо неоесмдч номнмофумлчйщлм дйуле мюочюмпчллмх ъпомиу N, пчиук мюочцмк, мюшуе поеюмачлуз и нчкзпу ъмъпчайзвп O(N) (ък., лчноукео, [5]).

PPM-ътчпуе мдлмжм ъукамйч кмтлм очъъкчпоуачпщ ичи мнуъчлуе няпу мп пеияшежм чипуалмжм ъмъпмзлуз кмдейу и ъйедявшекя чипуалмкя ъмъпмзлув кмдейу. Дйз пмжм, бпмюь мнуъчпщ ыпмп няпщ, лемюсмдукм номхпу адмйщ лежм, цчнуъьачз лч ичтдмх очцауйие ъммпаепъпаявшуе имдь а аьсмдлмх нмпми. Мдлчим пмблм пчимх те няпщ лемюсмдукм номдейчпщ ноу нмъпомелуу ъярруиълмжм деоеач, пчиук мюочцмк, ъймтлмъпщ кепмдч PPM* мноедейзепъз номфедяомх нмъпомелуз ъярруиълмжм деоеач. Мнуъчлуе нмъпомелуз ъярруиълмжм деоеач ъ йулехлмх ъймтлмъпщв кмтлм лчхпу а очюмпчс [6] уйу [7]. Упчи, ъймтлмъпщ нмъпомелуз кмдейу PPM* очалч O(N).

Очъъкмпоук пенеощ очцаупуе PPM* кмдейу а дулчкуие. Кмдейщ ъпчопяеп ъ няъпмжм деоеач, цчпек а лех нмзайзвпъз имомпиуе имлпеиъпь, цчпек юмйее дйуллье, импмоье цчиоьачвп юмйее имомпиуе. Пчиме зайелуе, имждч аеъщ имдуояекьх пеиъп уйу бчъпщ ежм мюочючпьачвпъз а имлпеиъпчс аьъмиус нмоздима юец уънмйщцмачлуз улрмокчфуу, ъмсочлеллмх а омдупейщъиус имлпеиъпчс, юядек лчцьачпщ кчъиуомаимх омдупейщъиус имлпеиъпма. Еъйу бчъпщ ъмюочллмх улрмокчфуу ле уънмйщцяепъз, пм амцкмтлм чйжмоупк чъукнпмпубеъиу лемнпукчйел. Кчъиуомаич омдупейщъиус имлпеиъпма ле зайзепъз номюйекмх дйз имлпеиъплм-мжочлубелльс кмдейех (кмдейщ мжочлубеллч => буъйм цчкчъиуомачлльс имлпеиъпма мжочлубеллм => мюгек нмпеозллмх улрмокчфуу мжочлубел), мдлчим ыпм ъпчлмаупъз номюйекмх дйз PPM* кмдейех, импмоье пеозвп улрмокчфув ъ пмх те ъимомъпщв, бпм у нмйябчвп ее мп улрмокчфумллмжм уъпмблуич. А ичбеъпае ноукеоч кмтлм очъъкмпоепщ моужулчйщльх PPM* у уъпмблуи ляйеамжм нмоздич ъ очалмкеольк очъноедейелуек ъукамйма а имлпеиъпе: лч ичтдмк эчже чйжмоупкч ъ ночипубеъиу едулублмх аеомзплмъпщв юядеп ъмцдчачпщъз лмаьх имлпеиъп, у ъпчпуъпуич а имлпеиъпчс аьъмимжм нмоздич аъеждч юядеп мъпчачпщъз ъяюмнпукчйщлмх. Пчиук мюочцмк, юец ноулзпуз ънефучйщльс кео, PPM* зайзепъз чъукнпмпубеъиу лемнпукчйщльк.

Уцаеъпль дач смомэм номочюмпчлльс нмдсмдч и яъпочлелув ыпмжм ледмъпчпич:

  1. ябеп улрмокчфуу, ъмсочлеллмх а омдупейщъиус имлпеиъпчс, ъ леимпмоьк аеъмк ноу мфелие аеомзплмъпу ъйедявшежм ъукамйч (ацаеэуачлуе);
  2. мюочшелуе и омдупейщъиук имлпеиъпчк а леимпмоьс, ?ъмклупейщльс╕ ъйябчзс (дйз иочпимъпу юядек лчцьачпщ пчимх нмдсмд LOE, local order estimation);

Едулъпаелльк уцаеъпльк чапмоя, яънеэльк ноедъпчаупейек неоамжм нмдсмдч зайзепъз кепмд 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)

жде - имлпеиъп, и импмомкя дмючайзепъз лмаьх ъукамй a, - имлпеиъп, импмоьх оечйщлм мюочюмпчй ъукамй a, (k < i). Пенеощ лемюсмдукм нмичцчпщ, бпм ыпмп кесчлуцк ънмъмюел нмомтдчпщ чъукнпмпубеъиу мнпукчйщлье оеэелуз.

2.1. Ноукео чъукнпмпубеъиу мнпукчйщлмжм оеэелуз

Няъпщ цчдчл уъпмблуи улрмокчфуу нмоздич N. Улуфучйуцуояек а кмдейу куляъ неоамжм нмоздич , ъбепбуиу бчъпмп ъукамйма у ъбепбуи уъиехнма едулуфчку. Юядек очъъкчпоуачпщ номфедяоь ъмцдчлуз лмамжм имлпеиъпч у дмючайелуз и ъяшеъпаявшекя имлпеиъпя лмамх ъпояипяоь неоесмдч очцдейщлм. Ааедек мюмцлчбелуз: - лмаьх имлпеиъп, a v неоаьх ъукамй а имлпеиъпе , - имлпеиъп, импмоьх оечйщлм мюочюмпчй ъукамй a, (k < i). Мноедейук рялифув неоедчбу улрмокчфуу лмамкя имлпеиъпя ъйедявшук мюочцмк:

, (2.2-1)

жде - неоекеллчз, импмочз юядеп уънмйщцмачлч дчйее. Юядек дмючайзпщ лмаьх ъукамй и яте ъяшеъпаявшекя имлпеиъпя нм ъйедявшекя ночауйя:

(2.2-2)

Лепоядлм цчкепупщ, бпм рялифуз неоедчбу улрмокчфуу ъпомупъз пчиук мюочцмк, бпм лчбчйщлчз мфелич аеомзплмъпу ъукамйч а имлпеиъпе у аеомзплмъпщ ясмдч очалч ъякке аеомзплмъпех аъес ъукамйма мпъяпъпаявшус а имлпеиъпе. Ноу ичтдмк ъмцдчлуу лмамжм дмбеолежм имлпеиъпч лчбчйщлчз кчъъч очъноедейелуз аъе аоекз яаейубуачепъз, у ъпчпуъпубеъиуе аьюомъь мичцьачвп аъе келщэее айузлуе. Мфелиу аеомзплмъпех ъукамйма юядяп келзпщъз пмйщим а имлпеиъпчс дйулмх , дйз имлпеиъпма уцкелелуз рялифуу очъноедейелуз ъаедяпъз пмйщим яйябэелув пмблмъпу ноедъпчайелуз ъпчпуъпуиу.

2.2. Ночипубеъичз оечйуцчфуз кесчлуцкч лчъйедмачлуз улрмокчфуу

Мнуъчлльх аьэе ноукео мюеънебуачеп чъукнпмпубеъияв мнпукчйщлмъпщ кмдейу, лм ле зайзепъз ночипубльк уц-цч пмжм, бпм мл ябупьачеп ъпчпуъпуия келее ънефучйуцуомачлльс омдупейщъиус имлпеиъпма ъ пек те аеъмк, бпм у юмйее пмбляв ъпчпуъпуия а дмбеолус имлпеиъпчс, пчимх чйжмоупк юядеп нймсм очюмпчпщ лч оечйщльс дчлльс имлеблмх дйуль. Нмыпмкя а ыпмк нялипе очъъкчпоуачепъз юмйее ночипублме оеэелуе, смпз ыпм оеэелуе юядеп чъукнпмпубеъиу лемнпукчйщльк.

Няъпщ, ичи у а н.2.1, - лмаьх имлпеиъп, a v неоаьх ъукамй а имлпеиъпе , - имлпеиъп, импмоьх оечйщлм мюочюмпчй ъукамй a, (k < i). Ймичйщлм а дчллмх пмбие лчуюмйее мнпукчйщльк юьйм юь ъочця уънмйщцмачпщ кмдейщ нмоздич k, п.е. ълуцупщ аьъмпя деоеач дм k. Пчичз оедяифуз номуцамдупъз пмйщим ймичйщлм, у айузлуе дояжус нмпмкима ле ябупьачепъз. Дйз мфелиу аеомзплмъпу ъукамйч a нмйябчек:

, (2.3-1)

жде - ъпчпуъпуич, лчимнйеллчз а имлпеиъпчс у - бчъпмпч ъукамйч a дм мюлмайелуз ъпчпуъпуиу а имлпеиъпе ъукамймк a. Члчймжублм, ноу дмючайелуу лмамжм ъукамйч а имлпеиъп , нмйябчек:

, (2.3-2)

цдеъщ уънмйщцяепъз ъпчпуъпуич, яте мюлмайеллчз ъукамймк a.

Рмокяйь (2.3-1) - (2.3-2) дмъпчпмблм ъймтль дйз аьбуъйелуз у поеюявп ааеделуз дмнмйлупейщлмх неоекеллмх, ъмдеотчшех ъяккя лчбчйщльс цлчбелух аъес ъбепбуима а имлпеиъпе, а ичтдяв ъпояипяоя имлпеиъпч, бпм леноуекйекм дйз лчэус фейех. Цчкепук, бпм, ичи ночауйм, уъиехн номуъсмдуп лч омдупейщъиух имлпеиъп, п.е. , еъйу ыпм ле пчи, пм ъпчпуъпуич, лчимнйеллчз а номкетяпмбльс имлпеиъпчс, кчйч, у ыпу имлпеиъпь мичцчйуъщ нймсуку ноедуипмочку дйз ъукамйч a. Нмыпмкя ле юядек ябупьачпщ аъе номкетяпмблье имлпеиъпь а ъякке . Ноу ъмцдчлуу имлпеиъпч, мфелук лчбчйщлме цлчбелуе ъбепбуич уъиехнма нм кепмдя C уйу D, ноу дмючайелуу ъукамйч а имлпеиъп, цчкелук ус мфелимх нм кепмдя D. Уънмйщцяз ыпу яномшелуз а рмокяйчс (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. Чдчнпуалчз мфелич аеомзплмъпу ясмдч

Аьюмо кепмдч мфелиу аеомзплмъпу ясмдч лч имлпеиъп юмйее луцимжм нмоздич ъйчюм айузеп лч чъукнпмпубеъиме нмаеделуе имлпеиъплм-мжочлубеллмх кмдейу, мдлчим мл ачтел ноу кмдейуомачлуу оечйщльс дчлльс, импмоье укевп мжочлубелляв дйуля. А очюмпе [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. Номъпмх ънмъмю чдчнпуалмх мфелиу ъоедлежм цлчбелуз очъноедейелуз

Дйз лчсмтделуз аеомзплмъпу ясмдч ъ дчллмжм имлпеиъпч , аеолее дйз лчсмтделуз ъбепбуич уъиехнма , лчк нмлчдмюупъз чдчнпуальх ънмъмю мфелиу ъоедлежм цлчбелуз рялифуу очъноедейелуз. Оечйуцчфуз нозкмжм ънмъмюч аьбуъйелуз ыпмх мфелиу ноедъпчайелч лч Оуъ. 2 (ъпояипяоч PRIME_MEAN_ESTIMATOR) а ауде C++- нмдмюлмжм нъеадмимдч. Чйжмоупк LOCO-I [15] уънмйщцяеп юмйее уцмшоелльх нмдсмд (ъпояипяоч LOCO_MEAN_ESTIMATOR), уцюежчвшух мнеочфуу дейелуз цч ъбеп дмючайелуз йуэлежм нмйз дчлльс а ъпояипяоя у даяс мнеочфух яъймалмжм неоесмдч. Ледмъпчпичку мюмус ыпус нмдсмдма зайзвпъз:

    1. юмйщэчз аьбуъйупейщлчз ъймтлмъпщ (лч ъмаоекелльс номфеъъмочс фелч мнеочфуу яъймалмжм неоесмдч ъмнмъпчаукч ъ фелмх мнеочфуу дейелуз). Дйз оечйуцчфуу PRIME_MEAN_ESTIMATOR поеюяепъз дае мнеочфуу ъймтелуз, мдлч мнеочфуз дейелуз у мдлч мнеочфуз яъймалмжм неоесмдч. Дйз оечйуцчфуу LOCO_MEAN_ESTIMATOR поеюяепъз дае мнеочфуу ъймтелуз у поу мнеочфуу яъймалмжм неоесмдч;
    2. юмйщэуе цчпочпь нчкзпу, п.и. ъймтлье имлпеиъплье кмдейу кмжяп нмпоеюмачпщ уънмйщцмачлуз пьъзб уйу дчте куййумлма пчиус ъпояипяо. Дйз PRIME_MEAN_ESTIMATOR лемюсмдукм дач кчэулльс ъймач, дйз LOCO_MEAN_ESTIMATOR - поу;
    3. пмблмъпщ ноедъпчайелуз ъоедлежм цлчбелуз ленмъпмзллч, млч кчиъукчйщлч неоед мнеочфуех кчъэпчюуомачлуз у кулукчйщлч нмъйе лее;

Ыпу ледмъпчпиу кмтлм уцюетчпщ ъ нмкмшщв ъйедявшежм ноуекч (ъпояипяоч 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 ъимйщим очц имлпеиъп аъпоебчйъз а номэймк, нмыпмкя ыпч аейубулч смомэм нмдсмдуп а ичбеъпае ыйекелпч SEE-имлпеиъпч.

Чйжмоупк PPM ыиънйячпуояеп ъсмдъпам омдупейщъиус у дмбеолус имлпеиъпма, нмыпмкя буъйм очцйубльс ъукамйма аъпоебчаэусъз а омдупейщъимк имлпеиъпе смомэм имооейуояеп ъ аеомзплмъпщв ясмдч ъ дмбеолежм имлпеиъпч. Дмючаук буъйм ъукамйма а омдупейщъимк имлпеиъпе , иачлпуцмачллме дм поес юуп и SEE-имлпеиъпя.

Ыиънеоукелпь нмичцьачвп, бпм лч оечйщльс дчлльс юймиу смомэм ноедъичцяекьс дчлльс беоедявпъз ъ юймичку нймсм ноедъичцяекьс дчлльс, аейубулч пчиус юймима леаейуич v нмоздич 3-5 ъукамйма, ыпм ъммпаепъпаяеп очцдейелув лч ъймач у бчъпу ъйма а пеиъпчс лч еъпеъпаелльс зцьичс. Дйз пмжм бпмюь мпъйетуачпщ неоеийвбелуе кетдя пчиуку юймичку, аъпчаук а SEE-имлпеиъп аеомзплмъпщ нмзайелуз ноедьдяшежм ъукамйч а ноедьдяшек имлпеиъпе, иачлпуцмачлляв дм мдлмжм юупч.

3.3. Мфелич аеомзплмъпу ясмдч ъ леюулчолмжм имлпеиъпч

Ыпмп пун имлпеиъпма ноедъпчайзеп ъмюмх юмйее ъймтльх ъйябчх v ъ мдлмх ъпмомль, пчиуе имлпеиъпь аъпоебчвпъз мплмъупейщлм оедим а кмдейзс аьъмиус нмоздима у дйз лус поядлм лчюочпщ дмъпчпмбляв ъпчпуъпуия, ъ дояжмх ъпмомль, номъпье кепмдь мфелиу аеомзплмъпу ясмдч, нмдмюлье пмкя, бпм мнуъчл а ноедьдяшек нмдочцдейе, ле дчвп цчкеплмжм аьужоьэч. Нм ыпмх ноубуле, юядек уънмйщцмачпщ нмйячдчнпуальх кепмд, аьюоча а ичбеъпае лчбчйщлмжм ноуюйутелуз ясмд нм кепмдя D.

Ноеднмймтук, бпм аеомзплмъпу ъукамйма а имлпеиъпе очъноедейель нм ыиънмлелфучйщлмкя цчимля, п.е.

пмждч, ноу ноеаочшелуу юулчолмжм имлпеиъпч а леюулчольх, лч мълмае кмдейу ноедьдяшежм нялипч, кмтлм лчхпу мълмачлуе ъпенелу у уц лежм лчхпу аейубуля ъбепбуич ясмдма дйз имлпеиъпч ъмдеотчшежм дач ъукамйч. Ыпу аьбуъйелуз кмтлм номуцаеъпу пмйщим буъйеллм, п.и. ъукамйь лемюзцчпейщлм нмзайзвпъз а имлпеиъпе а нмоздие яюьачлуз аеомзплмъпу. Ноеднмймтелуе мю ыиънмлелфучйщлмк цчимле очъноедейелуз ъукамйма очюмпчеп аъеждч смомэм, п.и. млм ноукелзепъз дйз имлпеиъпч ъмдеотчшежм аъежм мдул уйу дач ъукамйч.

Дчйее цлчбелуе юядек имооеипуомачпщ пмйщим ноу дмючайелуу лмаьс ъукамйма а имлпеиъп, члчймжублм пмкя, ичи ыпм дейчепъз а кепмде D, лм ле дйз ичтдмжм дмючайзекмжм ъукамйч. Юядек дмючайзпщ и ъбепбуия аейубуля:

,

жде N(s) - буъйм ъукамйма а имлпеиъпе s, - имлпеиъп, импмоьх оечйщлм мюочюмпчй пеияшух ътукчекьх ъукамй, (k < i). Дмнмйлупейщлчз имооеипуомаич поеюяепъз, имждч лмаьх дмючайелльх ъукамй укееп кчйяв аеомзплмъпщ а пеияшек имлпеиъпе, дмючаук а ыпмк ъйябче аейубуля:

3.4. Мфелич аеомзплмъпу ясмдч ъ имлпеиъпч ъ "цчкчъиуомачлльку" ъукамйчку

Дйз ыпмжм пунч имлпеиъпма, ъбепбуи ясмдч а лчуюмйщэех ъпенелу имооейуояеп ъ буъймк лецчкчъиуомачлльс ъукамйма, иачлпуцяек ыпя аейубуля дм 42 цлчбелух (ноуюйуцупейщлм 5-6 юуп). Дчйее, мнзпщ амънмйщцяекъз нмдмюуек омдупейщъиус у дмбеолус имлпеиъпма, у юядек ъочалуачпщ буъйм лецчкчъиуомачлльс ъукамйма а пеияшек имлпеиъпе ъ буъймк ъукамйма а дмбеолек имлпеиъпе у ъ буъймк ъукамйма, импмоье юядяп лецчкчъиуомачль а омдупейщъимк имлпеиъпе, а ъйябче еъйу пеияшух имлпеиъп ле ъкмтеп мюочюмпчпщ ътукчекьх ъукамй. Ыпм дмючайзеп еше дач юупч а SEE-имлпеиъп. Лчюйвдчепъз, пчите, имооейзфуз ъбепбуич ясмдч ъ мплмэелуек , п.е. ъм ъоедлук цлчбелуек ъбепбуич а имлпеиъпе. Ыпч аейубулч иачлпуцяепъз дм мдлмжм юупч.

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

  1. Дмнмйлупейщлье ноуекь нмаьэелуз номуцамдупейщлмъпу ъсекь

Нмъпомеллчз а ноедьдяшус даяс очцдейчс ъпчпщу кмдейщ (дчйее Model1) декмлъпоуояеп оецяйщпчпь а ъоедлек ноеамъсмдзшуе аъе мнуъчллье очлее ъсекь ътчпуз дчлльс юец нмпеощ, нмыпмкя ноедъпчайзепъз улпеоеъльк аьзълупщ ноедейщляв ъпенелщ ътчпуз, импмояв нмдмюльх нмдсмд ънмъмюел дмъпубщ. А ыпмк очцдейе кь ле юядек мжочлубуачпщ ъеюз поеюмачлуек кчймх аьбуъйупейщлмх ъймтлмъпу оечйуцчфуу. Нмйябелляв кмдуруичфув уъсмдлмх ъсекь юядек мюмцлчбчпщ Model2.

Бчъпщ яйябэелух кмтеп юьпщ нмйябелч номъпм няпек мпичцч мп ааеделльс очлее яномшелух. Нмйлье рмокяйь (2.3) мфелиу аейубуль лчбчйщлмжм цлчбелуз ъбепбуич ъукамйч, нмйябеллье лч мълмае кесчлуцкч лчъйедмачлуз улрмокчфуу, ле дчвп цчкеплмжм аьужоьэч а ъпенелу ътчпуз у ъуйщлм цчкедйзвп ъимомъпщ очюмпь имкноеъъмоч, нмыпмкя нм-ноетлекя юядек нмйщцмачпщъз яномшелльку рмокяйчку (2.4). Дйз кепмдч мюлмайелуз ъпчпуъпуиу а омдупейщъимк имлпеиъпе, мнуъчллмжм а н.2.4, пенеощ юядек мюлмайзпщ ъпчпуъпуия лч ичтдмк эчже, ч ле пмйщим имждч дмбеолух имлпеиъп ле зайзепъз имлпеиъпмк кчиъукчйщлмжм нмоздич. Дйз чдчнпуалмх мфелиу аеомзплмъпу ясмдч, юядек уънмйщцмачпщ кмдуруичфув SIMPLE_MEAN_ESTIMATOR янмкзляпяв а н.3.1. Пмблмъпщ ноедъпчайелуз ъбепбуима бчъпмп ъукамйма нмаьэелч ъ 1/4 а Model1 дм 1/8 а Model2. Дояжуе яйябэелуз поеюявп мпдейщлмжм очъъкмпоелуз.

4.1. Яйябэелуе мфелиу аеомзплмъпу лчуюмйее аеомзплмжм ъукамйч у лчукелее аеомзпльс ъукамйма а имлпеиъпе

Ъпчпуъпуич, лчюочллчз а имлпеиъпчс аьъмимжм нмоздич, зайзепъз а юмйщэулъпае ъйябчеа ледмъпчпмблмх. Дояжуку ъймачку, ъ пмбиу цоелуз кчпекчпубеъимх ъпчпуъпуиу, аьюмоич ле зайзепъз ноедъпчаупейщлмх, ъйедмачпейщлм, лемюсмдукм мплмъупщъз ъ мъпмомтлмъпщв и ичцчймъщ-юь анмйле мбеаудльк нмлзпузк кчпекчпубеъимх ъпчпуъпуиу, лчноукео и мноедейелув мфелиу аеомзплмъпу ъукамйч а имлпеиъпе . Дйз ноукеоч очъъкмпоук имлпеиъп ъм ъйедявшук кмдейщльк очъноедейелуек аеомзплмъпех ъукамйма а имлпеиъпе:

(4.1)

Мбеаудлм, бпм имлпеиъп дмйтел аъпоепупщъз ле келее деазпу очц, ноетде бек кь ъкмтек ъдейчпщ ночадмнмдмюляв мфелия . Ъ дояжмх ъпмомль, нмъйе пмжм ичи имлпеиъп юядеп уънмйщцмачл нзпщдеъзп очц, аеомзплмъпщ пмжм, бпм аъпоепупъз мдул уйу юмйее уц кчймаеомзпльс ъукамйма ъмъпчайзеп 99.5%, ыпук ъукамйчк юядеп ноуъамелч мфелич аеомзплмъпу ~1/50, бпм ъуйщлм мпйубчепъз мп уъпуллмжм очъноедейелуз (4.1). Дйз номъпмпь уцймтелуз, кь ноелеюоежчек кесчлуцкмк лчъйедмачлуз улрмокчфуу у аеомзплмъпщв ясмдч лч омдупейщъиух имлпеиъп.

Ъбепбуи лчуюмйее аеомзплмжм ъукамйч кмтлм ъимооеипуомачпщ, уънмйщцяз улрмокчфув м ъукамйе уц омдупейщъимжм имлпеиъпч, еъйу аьнмйлзвпъз леочаелъпач . Лмаме цлчбелуе ъбепбуич лчхдек ъ нмкмшщв ацаеэуачлуз цлчбелуз ъбепбуич а пеияшек имлпеиъпе у ноуаеделлмжм цлчбелуз ъбепбуич а омдупейщъимк имлпеиъпе:

,

жде .

Дйз юулчолмжм имлпеиъпч а имлпеиъплм-мжочлубеллмх кмдейу, ыпч номфедяоч аьйщепъз номъпм а нмуъи кчиъукчйщлмжм цлчбелуз ъбепбуич дйз аъес омдупейщъиус имлпеиъпма, импмоье зайзвпъз юулчольку.

Дйз лчукелее аеомзпльс ъукамйма, ъбепбуи номъпм улиоекелпуояепъз лч 3/4, ч ле лч едулуфя:

,

жде - ъоедлее цлчбелуе ъбепбуич бчъпмп ъукамйма а имлпеиъпе, аийвбчз уъиехн.

4.2. Мпймтеллме дмючайелуе ъукамйма а имлпеиъп

Ам апмомк очцдейе юьй очъъкмпоел кесчлуцк лчъйедмачлуз улрмокчфуу, лч ночипуие мл ъамдупъз и ноуъамелув ъбепбуия бчъпмп леимпмомжм лчбчйщлмжм цлчбелуз мноедейзекмжм рмокяймх (2.1), цчауъзшежм мп имлпеиъпч , импмоьх оечйщлм мюочюмпчй ъукамй a. Ноу ыпмк дйз номъпмпь оечйуцчфуу, ноеднмйчжчймъщ, бпм аьбуъйелуе номуцамдупъз ленмъоедъпаеллм нмъйе имдуомачлуз ъукамйч a. Ыпм ле зайзепъз лчуюмйее мнпукчйщлмх ъпочпежуех, п.и. дйз имлпеиъпльс кмдейех аьъмиус нмоздима ъпчпуъпуич а имлпеиъпе кмтеп пчите юьпщ ледмъпчпмблмх. Ноедъпчайзепъз юмйее аьжмдльк, ааеъпу леимпмоме ънефучйщлме цлчбелуе ъбепбуич бчъпмп, нмичцьачвшее, бпм ъбепбуи еше ле юьй улуфучйуцуомачл, у мпймтупщ улуфучйуцчфув дм пес нмо, нмич имлпеиъп ле аъпоепупъз а ъйедявшух очц. Пчимх ноуек поеюяеп мдлмжм дмнмйлупейщлмжм ъичлуомачлуз имлпеиъпч дйз улуфучйуцчфуу ичтдмжм ъбепбуич у, нмпмкя, леноуекйек дйз Model1.

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. оецеоалме сочлелуе дчлльс (чосуачфуз, юыичн);

Иоупеоузку ъочалелуз очцйубльс чйжмоупкма ътчпуз зайзвпъз:

    1. ъпенелщ ътчпуз;
    2. ъимомъпу имдуомачлуз у деимдуомачлуз дчлльс;
    3. нмпоеюлмъпу а мнеочпуалмх нчкзпу ноу имдуомачлуу у деимдуомачлуу;
    4. номъпмпч оечйуцчфуу;

Дйз оеэелуз цчдчб пунч 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.