Calgary Corpus

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 20. juni 2015; checks kræver 8 redigeringer .

Calgary-korpus er et sæt tekst- og binære filer, der ofte bruges som en standardtest af datakomprimeringsalgoritmer og sammenligner deres ydeevne. Sættet blev samlet på University of Calgary i 1987 og blev meget brugt i 1990'erne. I 1997 blev der foreslået et nyt testsæt , Canterbury corpus [1] , der tog højde for nogle bekymringer om Calgary-korpusets repræsentativitet [2] .

Korpsets sammensætning

I sin mest brugte form består Calgary-korpuset af 14 filer på i alt 3.141.622 bytes:

Størrelse (byte) Filnavn Beskrivelse
111,261 HAGESMÆK ASCII-tekst i UNIX " ref "-format med 725 bibliografiske poster.
768.771 BOG 1 Uformateret ASCII-tekst af Thomas Hardys novelle Far from the Madding Crowd .
610.856 BOG 2 ASCII-tekst i " troff "-format - Ian H. Witten: Principles of Computer Speech.
102.400 GEO Seismiske data som 32 bit flydende komma-tal i IBM-format .
377,109 NYHEDER ASCII-tekst - et sæt meddelelser fra USENET -grupper .
21.504 OBJ1 En eksekverbar fil til VAX opnået ved kompilering af PROGP.
246.814 OBJ2 Eksekverbar fil til Macintosh, programmet "Knowledge Support System".
53,161 PAPIR1 Artikel i "troff"-format - Witten, Neal, Cleary: Arithmetic Coding for Data Compression.
82.199 PAPIR2 Artikel i "troff"-format - Witten: Computer (u)sikkerhed.
513.216 PIC 1728 x 2376 billede med fransk tekst og linjediagrammer.
39,611 PROGC C-kildekoden er UNIX compress v4.0-programmet.
71.646 PROGL Lisp-kildekoden er en systemapplikation.
49,379 PROGP Pascal-kildekoden er et program til evaluering af PPM-komprimering.
93.695 TRANS ASCII-tekst og escape-sekvenser - terminalsessionspost.

Mindre almindeligt anvendt er et sæt på 18 filer, som desuden indeholder 4 tekstfiler i "troff"-formatet - PAPER3-PAPER6.

Test

Calgary-sagen blev ofte brugt til at sammenligne kompressionseffektivitet i 1990'erne. Resultaterne blev ofte rapporteret som bits pr. byte (det gennemsnitlige antal bits i en komprimeret fil, der kræves for at kode 1 byte af kildefilen) for hver fil i sættet, hvorefter gennemsnittet blev beregnet. Så begyndte de oftere at angive den samlede størrelse af alle komprimerede filer.

Nogle arkivere tillod mere effektiv komprimering, når de behandlede hele kroppen på én gang (for eksempel ved at lægge dem i en ukomprimeret tjærebeholder ), ved at bruge gensidig information . Andre arkivere komprimerer tværtimod denne mulighed værre på grund af kompressorens langsomme reaktion på ændringer i datakarakteristika. Samtidig komprimering af hele korpuset blev brugt af Matt Mahoney i hans bog Data Compression Explained [3] .

Tabellen viser dimensionerne af den komprimerede sag for flere populære arkivere.

Arkiver Muligheder Komprimer 14 separate filer Konsolideret tjærearkiv
Uden kompression 3.141.622 3.152.896
komprimere 1.272.772 1.319.521
Info-zip 2.32 -9 1.020.781 1.023.042
gzip 1.3.5 -9 1.017.624 1.022.810
bzip2 1.0.3 -9 828.347 860.097
7zip 9.12b 848.687 824.573
ppmd Jr1 -m256 -o16 740,737 754.243
ppmonstr J 675.485 669.497

Kompressionskonkurrencer

Den 21. maj 1996 startede Leonid A. Broukhis " Calgary corpus Compression and SHA-1 crack Challenge " [4] , som indeholdt en Calgary skrogkompressionskonkurrence med små pengepræmier. Efter 2010 er præmien $1 for hver yderligere reduktion på 111 bytes i den komprimerede fil.

Ifølge vilkårene for konkurrencen skal ikke kun inputfilerne til korpuset komprimeres, men også programmet til deres dekomprimering. For at gøre dette komprimeres først body-filerne, derefter komprimeres de resulterende filer og udpakkeren af ​​en af ​​de meget brugte arkiveringsprogrammer. Grænser for kompressionstid og mængden af ​​brugt hukommelse ændrer sig gradvist, og efter 2010 er det acceptabelt at arbejde i 24 timer på en computer med en ydeevne på 2000 MIPS ( Windows eller Linux OS ) og bruge op til 800 MB RAM. Senere blev en konkurrence med SHA-1 tilføjet : udpakkeren kan ikke oprette den originale fil fra korpuset, men en anden, men med den samme kryptografiske hash-sum i henhold til SHA-1-algoritmen (det er således påkrævet at udføre et kollisionsfindende angreb for en given fil).

Malcolm Taylor, forfatter til RK- og WinRK-arkiverne, vandt førstepræmien ved at komprimere sættet til 759881 bytes (september 1997). Den sidste pris blev uddelt den 2. juli 2010 af Alexander Ratushnyak , efter at have komprimeret sættet til 572465 bytes og ved hjælp af en C++-dekomprimerer komprimeret til 7700 bytes ved hjælp af "PPMd var. I". Fuld liste over rekorder i konkurrencen:

Størrelse (byte) Måned og år Forfatter
759.881 09/1997 Malcolm Taylor
692.154 08/2001 Maxim Smirnov
680.558 09/2001 Maxim Smirnov
653.720 11/2002 Serge Voskoboynikov
645.667 01/2004 Matt Mahoney
637.116 04/2004 Alexander Ratushnyak
608.980 12/2004 Alexander Ratushnyak
603.416 04/2005 Przemysław Skibinski
596.314 10/2005 Alexander Ratushnyak
593.620 12/2005 Alexander Ratushnyak
589.863 05/2006 Alexander Ratushnyak
580.170 07/2010 Alexander Ratushnyak

Noter

  1. Ian H. Witten, Alistair Moffat, Timothy C. Bell. Håndtering af Gigabytes: Komprimering og indeksering af dokumenter og  billeder . - Morgan Kaufmann , 1999. - S. 92.
  2. Salomon, David. Datakomprimering: Den komplette reference  (neopr.) . — Fjerde. - Springer, 2007. - S. 12. - ISBN 9781846286032 .
  3. Forklaret datakomprimering
  4. Kompression/SHA-1-udfordringen

Se også