PPM-pakkausalgoritmi

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 28.5.2022 tarkistetusta versiosta . vahvistus vaatii 1 muokkauksen .

PPM ( englanniksi  Prediction by Partial Matching  - ennustus osittaisella täsmäämällä) on adaptiivinen tilastollinen häviötön tietojen pakkausalgoritmi , joka perustuu kontekstin mallintamiseen ja ennustukseen. PPM-malli käyttää kontekstia, annettua edeltävää pakkaamattoman virran merkkijoukkoa ennustaakseen merkin arvon tilastojen perusteella. PPM-malli itsessään ennustaa vainmerkin arvon, suora pakkaus suoritetaan entropiakoodausalgoritmeilla , kuten Huffman-algoritmilla , aritmeettisella koodauksella .

Ennustuksessa käytetyn kontekstin pituus on yleensä hyvin rajallinen. Tämä pituus on merkitty n :llä ja se määrittää PPM-mallin järjestyksen, jota merkitään PPM(n) . Myös malleja on rajattomasti, ja niistä käytetään yksinkertaisesti nimitystä PPM* . Jos symbolia ei voida ennustaa n symbolin kontekstista, se yritetään ennustaa käyttämällä n-1 symbolia. Rekursiivinen siirtyminen alemman kertaluvun malleihin tapahtuu, kunnes jossakin malleista tapahtuu ennuste tai kun kontekstista tulee nollapituus ( n = 0). Asteen 0 ja −1 mallit tulee kuvata erikseen. Nollakertainen malli vastaa yhteydettömän mallinnuksen tapausta, jolloin symbolin todennäköisyys määritetään pelkästään sen esiintymistiheydestä pakattavassa tietovirrassa. Tätä mallia käytetään yleensä yhdessä Huffman-koodauksen kanssa. −1-asteen malli on staattinen malli, joka antaa tietyn kiinteän arvon symbolin todennäköisyydelle; yleensä kaikkia merkkejä, jotka voivat esiintyä pakattavassa tietovirrassa, pidetään yhtä todennäköisinä. Hyvän merkkitodennäköisyysestimaatin saamiseksi on otettava huomioon eripituiset kontekstit. PPM on muunnos sekoitusstrategiasta, jossa eripituisten kontekstien perusteella tehdyt todennäköisyysarviot yhdistetään yhdeksi yhteiseksi todennäköisyydeksi. Tuloksena oleva arvio koodataan millä tahansa entropiakooderilla (EC), yleensä jonkinlaisella aritmeettisella kooderilla. Entropiakoodauksen vaiheessa varsinainen pakkaus tapahtuu.

Erittäin tärkeä PPM-algoritmille on uusien merkkien käsittelyongelma, joita ei ole vielä tavattu syöttövirrassa. Tätä ongelmaa kutsutaan nollataajuusongelmaksi . Jotkin PPM-toteutukset asettavat uuden merkkimäärän kiinteään arvoon, kuten yhdeksi. Muut toteutukset, kuten PPM-D, lisäävät uuden merkin pseudomäärää aina, kun uusi merkki todella ilmestyy virrassa (toisin sanoen PPM-D arvioi uuden merkin todennäköisyyden suhteeksi yksilöiviä merkkejä käytettyjen merkkien kokonaismäärään).

Julkaistut tutkimukset PPM-algoritmeista ilmestyivät 1980-luvun puolivälissä. Ohjelmistototeutukset olivat suosittuja vasta 1990-luvulla, koska PPM-mallit vaativat huomattavan määrän RAM-muistia . Nykyaikaiset PPM-toteutukset ovat parhaita luonnollisen kielen tekstien häviöttömistä pakkausalgoritmeista . [1] [2]

Käytännön käyttö

PPM-algoritmin muunnelmia käytetään tällä hetkellä laajalti, pääasiassa redundantin tiedon ja tekstidatan pakkaamiseen. Seuraavat arkistaattorit käyttävät PPM :ää [3] :

Muistiinpanot

  1. http://www.maximumcompression.com/algoritms.php Arkistoitu 13. tammikuuta 2021 Wayback Machinessa Viimeaikaiset PPM-toteutukset ovat tehokkaimpia luonnollisen kielen tekstin häviöttömiä pakkausohjelmia.
  2. Tietojen pakkaamisen esittely Arkistoitu 28. syyskuuta 2015 Wayback Machinessa ISBN 1-55860-558-4 sivu 141 "jotkut parhaiten suoriutuvista tekstinpakkausalgoritmeista ovat muunnelmia ppm-algoritmista"
  3. Johdatus PPM:ään . Haettu 26. toukokuuta 2008. Arkistoitu alkuperäisestä 9. tammikuuta 2021.

Kirjallisuus