PPM (англ. Prediction by Partial Matching — передбачення щодо часткового збігу) — адаптивний статистичний алгоритм стиснення даних без втрат, що базується на [en] і передбаченні. Модель PPM використовує контекст — множину символів у нестиснутому потоці, що передують даному, щоб передбачати значення символу на основі статистичних даних. Сама модель PPM лише пророкує значення символу, безпосереднє стиснення здійснюється за алгоритмами ентропійного кодування, наприклад, алгоритмом Гаффмана або арифметичного кодування.
Довжина контексту, який використовується для передбачення, зазвичай дуже обмежена. Вона позначається n і визначає порядок моделі PPM, що позначається як PPM(n). Необмежені моделі також існують і позначаються PPM*. Якщо передбачити символ за контексту з n символів не можна, то робиться спроба передбачити його за допомогою n-1 символів. Рекурсивний перехід до моделей з меншим порядком відбувається, поки в одній з моделей не відбудеться передбачення, або коли контекст досягне нульової довжини (n=0). Моделі мірою 0 і -1 слід описати окремо. Модель нульового порядку еквівалента випадку контекстно-вільного моделювання, коли ймовірність символу визначається виключно з частоти появи у стискуваному потоці даних. Подібна модель зазвичай застосовується разом з кодуванням за Гаффманом. Модель порядку -1 — це статична модель, що присвоює ймовірності символу певне фіксоване значення; зазвичай усі символи, які можуть зустрітися в стискуваному потоці даних, при цьому вважаються рівноймовірними. Для отримання хорошої оцінки ймовірності символу слід враховувати контексти різних довжин. PPM являє собою варіант стратегії перемішування, коли оцінки ймовірностей, зроблені на підставі контекстів різних довжин, об'єднуються в одну загальну ймовірність. Отримана оцінка кодується будь-яким ентропійним кодером (ЕК), зазвичай це певний різновид арифметичного кодування. На етапі ентропійного кодування і відбувається власне стискання.
Велике значення для алгоритму PPM має проблема обробки нових символів, які ще не зустрічалися у вхідному потоці — проблема нульової частоти. Деякі варіанти реалізацій PPM вважають лічильник нового символу рівним фіксованій величині, наприклад, одиниці. Інші реалізації, як наприклад, PPM-D, збільшують псевдолічильник нового символу кожен раз, коли в потоці дійсно з'являється новий символ (іншими словами, PPM-D оцінює ймовірність появи нового символу як відношення числа унікальних символів до загального числа використовуваних символів).
Опубліковані дослідження алгоритмів сімейства PPM з'явилися в середині 1980-х років. Програмні реалізації не були популярні до 1990-х років, оскільки моделі PPM вимагають значної кількості оперативної пам'яті. Сучасні реалізації PPM належать до найкращих серед алгоритмів стиснення без втрат для текстів природною мовою.
Практичне використання
Варіанти алгоритму PPM широко використовуються, переважно для компресії надлишкової інформації і текстових даних. PPM використовують такі архіватори:
- boa, заснований на PPMz (Ian Sutton)
- ha, PPM порядку 4, оригінальний метод оцінки ймовірності відходу (Harry Hirvola)
- lgha, заснований на коді архіватора ha (Юрій Ляпко)
- ppmpacktc, заснований на коді PPMd, PPMz, PPMVC і коді ha з реалізацією hsc (Олександр Мясніков)
- arhangel, заснований на алгоритмах ha з додаванням набору фільтрів для різних даних (Юрій Ляпко)
- PPMd — реалізація PPM порядку 2..16, застосовується спадкування інформації («дурилка» Дмитра Шкаріна)
- ppmz — реалізований метод Z (Charles Bloom)
- rk — реалізація PPMz з набором фільтрів (Malcolm Taylor)
- rkuc — PPM з порядками 16-12-8-5-3-2-1-0 (Malcolm Taylor)
- rkive (Malcolm Taylor)
- x1 — реалізація LZP і PPM (Stig Valentini)
- RAR (версії 3 і вище) — реалізація варіанту PPMd, PPMII
- 7-Zip — реалізація варіанту PPMd
- WinZip (версії 10 і вище) — реалізація варіанту PPMd
Примітки
- проблема нульової частоти. Архів оригіналу за 10 січня 2021.
- http://www.maximumcompression.com/algoritms.php [ 13 січня 2021 у Wayback Machine.] Recent PPM implementations are among the best-performing lossless compression programs for natural language text.
- Introduction to data compression [ 28 вересня 2015 у Wayback Machine.] page 141 «some of the best-performing text compression algorithms are variants of the ppm algorithm»
- . Архів оригіналу за 9 січня 2021. Процитовано 8 січня 2021.
Література
- J. G. Cleary, and I. H. Witten, Data compression using adaptive coding and partial string matching, IEEE Transactions on Communications, Vol. 32 (4), pp. 396-402, April 1984.
- A. Moffat, Implementing the PPM data compression scheme, IEEE Transactions on Communications, Vol. 38 (11), pp. 1917-1921, November 1990.
- J. G. Cleary, W. J. Teahan, and I. H. Witten, Life length contexts for PPM, In J. A. Storer and M. Cohn, editors, Proceedings DCC-95, IEEE Computer Society Press, 1995.
- C. Bloom, Solving the problems of context modeling.
- W. J. Teahan, Probability estimation for PPM [ 3 червня 2004 у Wayback Machine.].
- T. Schürmann and P. Grassberger, Entropy estimation of symbol sequences, Chaos, Vol. 6, pp. 414-427, September 1996.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
PPM angl Prediction by Partial Matching peredbachennya shodo chastkovogo zbigu adaptivnij statistichnij algoritm stisnennya danih bez vtrat sho bazuyetsya na en i peredbachenni Model PPM vikoristovuye kontekst mnozhinu simvoliv u nestisnutomu potoci sho pereduyut danomu shob peredbachati znachennya simvolu na osnovi statistichnih danih Sama model PPM lishe prorokuye znachennya simvolu bezposerednye stisnennya zdijsnyuyetsya za algoritmami entropijnogo koduvannya napriklad algoritmom Gaffmana abo arifmetichnogo koduvannya Dovzhina kontekstu yakij vikoristovuyetsya dlya peredbachennya zazvichaj duzhe obmezhena Vona poznachayetsya n i viznachaye poryadok modeli PPM sho poznachayetsya yak PPM n Neobmezheni modeli takozh isnuyut i poznachayutsya PPM Yaksho peredbachiti simvol za kontekstu z n simvoliv ne mozhna to robitsya sproba peredbachiti jogo za dopomogoyu n 1 simvoliv Rekursivnij perehid do modelej z menshim poryadkom vidbuvayetsya poki v odnij z modelej ne vidbudetsya peredbachennya abo koli kontekst dosyagne nulovoyi dovzhini n 0 Modeli miroyu 0 i 1 slid opisati okremo Model nulovogo poryadku ekvivalenta vipadku kontekstno vilnogo modelyuvannya koli jmovirnist simvolu viznachayetsya viklyuchno z chastoti poyavi u stiskuvanomu potoci danih Podibna model zazvichaj zastosovuyetsya razom z koduvannyam za Gaffmanom Model poryadku 1 ce statichna model sho prisvoyuye jmovirnosti simvolu pevne fiksovane znachennya zazvichaj usi simvoli yaki mozhut zustritisya v stiskuvanomu potoci danih pri comu vvazhayutsya rivnojmovirnimi Dlya otrimannya horoshoyi ocinki jmovirnosti simvolu slid vrahovuvati konteksti riznih dovzhin PPM yavlyaye soboyu variant strategiyi peremishuvannya koli ocinki jmovirnostej zrobleni na pidstavi kontekstiv riznih dovzhin ob yednuyutsya v odnu zagalnu jmovirnist Otrimana ocinka koduyetsya bud yakim entropijnim koderom EK zazvichaj ce pevnij riznovid arifmetichnogo koduvannya Na etapi entropijnogo koduvannya i vidbuvayetsya vlasne stiskannya Velike znachennya dlya algoritmu PPM maye problema obrobki novih simvoliv yaki she ne zustrichalisya u vhidnomu potoci problema nulovoyi chastoti Deyaki varianti realizacij PPM vvazhayut lichilnik novogo simvolu rivnim fiksovanij velichini napriklad odinici Inshi realizaciyi yak napriklad PPM D zbilshuyut psevdolichilnik novogo simvolu kozhen raz koli v potoci dijsno z yavlyayetsya novij simvol inshimi slovami PPM D ocinyuye jmovirnist poyavi novogo simvolu yak vidnoshennya chisla unikalnih simvoliv do zagalnogo chisla vikoristovuvanih simvoliv Opublikovani doslidzhennya algoritmiv simejstva PPM z yavilisya v seredini 1980 h rokiv Programni realizaciyi ne buli populyarni do 1990 h rokiv oskilki modeli PPM vimagayut znachnoyi kilkosti operativnoyi pam yati Suchasni realizaciyi PPM nalezhat do najkrashih sered algoritmiv stisnennya bez vtrat dlya tekstiv prirodnoyu movoyu Praktichne vikoristannyaVarianti algoritmu PPM shiroko vikoristovuyutsya perevazhno dlya kompresiyi nadlishkovoyi informaciyi i tekstovih danih PPM vikoristovuyut taki arhivatori boa zasnovanij na PPMz Ian Sutton ha PPM poryadku 4 originalnij metod ocinki jmovirnosti vidhodu Harry Hirvola lgha zasnovanij na kodi arhivatora ha Yurij Lyapko ppmpacktc zasnovanij na kodi PPMd PPMz PPMVC i kodi ha z realizaciyeyu hsc Oleksandr Myasnikov arhangel zasnovanij na algoritmah ha z dodavannyam naboru filtriv dlya riznih danih Yurij Lyapko PPMd realizaciya PPM poryadku 2 16 zastosovuyetsya spadkuvannya informaciyi durilka Dmitra Shkarina ppmz realizovanij metod Z Charles Bloom rk realizaciya PPMz z naborom filtriv Malcolm Taylor rkuc PPM z poryadkami 16 12 8 5 3 2 1 0 Malcolm Taylor rkive Malcolm Taylor x1 realizaciya LZP i PPM Stig Valentini RAR versiyi 3 i vishe realizaciya variantu PPMd PPMII 7 Zip realizaciya variantu PPMd WinZip versiyi 10 i vishe realizaciya variantu PPMdPrimitkiproblema nulovoyi chastoti Arhiv originalu za 10 sichnya 2021 http www maximumcompression com algoritms php 13 sichnya 2021 u Wayback Machine Recent PPM implementations are among the best performing lossless compression programs for natural language text Introduction to data compression 28 veresnya 2015 u Wayback Machine ISBN 1 55860 558 4 page 141 some of the best performing text compression algorithms are variants of the ppm algorithm Arhiv originalu za 9 sichnya 2021 Procitovano 8 sichnya 2021 LiteraturaJ G Cleary and I H Witten Data compression using adaptive coding and partial string matching IEEE Transactions on Communications Vol 32 4 pp 396 402 April 1984 A Moffat Implementing the PPM data compression scheme IEEE Transactions on Communications Vol 38 11 pp 1917 1921 November 1990 J G Cleary W J Teahan and I H Witten Life length contexts for PPM In J A Storer and M Cohn editors Proceedings DCC 95 IEEE Computer Society Press 1995 C Bloom Solving the problems of context modeling W J Teahan Probability estimation for PPM 3 chervnya 2004 u Wayback Machine T Schurmann and P Grassberger Entropy estimation of symbol sequences Chaos Vol 6 pp 414 427 September 1996