PAQ (logiciel)
# PAQ (logiciel)

PAQ est le nom d'une famille de logiciels de compression de données distribués en open source.

## Développement et performances

Le logiciel a évolué grâce à une équipe de développement collaboratif jusqu'à figurer en tête de la plupart des comparatifs mesurant le taux de compression (sans tenir compte du temps et de la mémoire nécessaire).

Le logiciel est cependant surpassé dans quelques comparatifs par WinRK en mode PWCM (PAQ Weighted Context Mixing, qui est une implémentation propriétaire de l'algorithme de pondération de contextes utilisé par PAQ) ou par Durilca, qui est une implémentation propriétaire d'un algorithme de prédiction par reconnaissance partielle.

## Histoire

Au fil des années, de nombreuses versions utilisant l'algorithme PAQ ont vu le jour. Les versions principales de ce logiciel (sans tenir compte des très nombreuses versions mineures) sont les suivantes :

* PAQ1 est publié le 6 janvier 2002 par Matt Mahoney.
* PAQ1SSE (également appelé PAQ2) est publie le 11 mai 2003 par Serge Osnach. Il améliore notablement le taux de compression par rapport à la première version du logiciel.
* PAQ3N, est publié le 9 octobre 2003.
* PAQ4 est publié le 15 novembre 2003 par Matt Mahoney et utilise une pondération adaptative. Les versions PAQ5 et PAQ6 (toutes deux sorties à fin 2003) n'y apportent que des modifications mineures. À partir de cette version, PAQ devient réellement compétitif et commence à attirer l'attention de la communauté, ce qui provoque un afflux de nouvelles versions jusqu'à avril 2004.
* Entre mai et juillet 2004, Alexander Ratushnyak publie sept versions successives de PAQAR, chacune améliorant le taux de compression, particulièrement sur des fichiers exécutables tournant sur des processeurs Intel. PAQAR offre alors le meilleur taux de compression, aux dépens de sa vitesse d'exécution.
* Entre janvier et février 2005, Przemysław Skibiński publie quatre versions de PAsQDa (basées sur PAQ6 et PAQAR avec l'utilisation d'un préprocesseur de dictionnaire anglais.
* Le 10 janvier 2004, une version modifiée de PAQ6 gagne le Calgary Challenge.
* PAQ7 est publié en décembre 2005 par Matt Mahoney. Cette version est une refonte complète de PAQ6 et de ses principales variantes (PAQAR, PAsQDa). Le taux de compression est le même que la version précédente, mais le temps d'exécution est divisé par trois.
* Plusieurs versions de PAQ8 sont publiées à partir du 27 janvier 2006 par de nombreux contributeurs (PAQ8A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q). En juillet 2009, les variantes O, P et Q évoluent encore (il y parait parfois plusieurs nouvelles versions par jour), en partageant occasionnellement leurs améliorations respectives.
* Le 31 décembre 2007 PAQ9A est introduit par Matt Mahoney comme une amélioration majeure de l'architecture de PAQ, délaissant temporairement les modèles spécifiques à certains types de données et introduisant des pré-traitements avec l'algorithme LZP. Bien que significativement plus rapide que PAQ8, PAQ9A est mis de côté face aux évolutions des variantes H, HP, O, O8, P et R de ce même PAQ8, qui obtiennent de meilleurs ratios de compression, face à LPAQ qui offre une vitesse de compression et de décompression bien supérieure et enfin face à ZPAQ, plus flexible, qui devient le projet principal de Matt Mahoney.

Le 27 octobre 2006, une variante nommée PAQ8HP5 gagne un prix de 3416 euros dans le cadre du Prix Hutter pour le Lossless Compression of Human Knowledge. Le 14 mai 2007, PAQ8HP12 remporte 1732 euros. Le 23 mai 2009, decomp8 remporte 1614 euros. Il n'y a, à ce jour, aucun autre lauréat du Prix Hutter.

Le 14 octobre 2007, la version paq8o6 prend la première place du comparatif MaximumCompression, détenue depuis le 6 mars 2006 par WinRK. Les versions ultérieures creusent l'écart dans le classement, WinRK n'étant plus maintenu.

