पी.ए.क्यू.: Difference between revisions
From Vigyanwiki
m (Arti Shah moved page पैकेट to पी.ए.क्यू. without leaving a redirect) |
No edit summary |
||
| Line 1: | Line 1: | ||
{{For|the unrelated <code>PAQ.EXE</code> compressor for DOS|Quantum compression (disambiguation){{!}}Quantum compression}} | {{For|the unrelated <code>PAQ.EXE</code> compressor for DOS|Quantum compression (disambiguation){{!}}Quantum compression}} | ||
[[Image:Paq8o Sample Session.png|thumb|500px|PAQ8O का नमूना सत्र]]PAQ [[दोषरहित डेटा संपीड़न]] अभिलेखों की श्रृंखला है जो सहयोगात्मक विकास के माध्यम से संपीड़न अनुपात को मापने वाले कई बेंचमार्क पर शीर्ष रैंकिंग तक पहुंच गई है (हालांकि गति और मेमोरी उपयोग की कीमत पर)। पीएक्यू के विशिष्ट संस्करणों ने [[हटर पुरस्कार]] और [[ कैलगरी चुनौती |कैलगरी चुनौती]] जीता है।<ref>{{cite web|url=http://mailcom.com/challenge/ |title=The Compression/SHA-1 Challenge |publisher=Mailcom.com |access-date=2010-05-19}}</ref> पीएक्यू [[जीएनयू जनरल पब्लिक लाइसेंस]] के तहत वितरित [[मुफ्त सॉफ्टवेयर]] है।<ref>{{cite web | |||
[[Image:Paq8o Sample Session.png|thumb|500px|PAQ8O का | |||
|url=http://mattmahoney.net/dc/ | |url=http://mattmahoney.net/dc/ | ||
|title=Homepage of the PAQ compressors | |title=Homepage of the PAQ compressors | ||
| Line 10: | Line 9: | ||
==एल्गोरिदम== | ==एल्गोरिदम== | ||
PAQ | PAQ संदर्भ मिश्रण एल्गोरिथ्म का उपयोग करता है। संदर्भ मिश्रण आंशिक मिलान (पीपीएम) द्वारा भविष्यवाणी से संबंधित है जिसमें कंप्रेसर को भविष्यवक्ता और अंकगणितीय कोडर में विभाजित किया गया है, लेकिन इसमें भिन्नता है कि अगले-प्रतीक भविष्यवाणी की गणना बड़ी संख्या में मॉडल से संभाव्यता अनुमानों के भारित संयोजन का उपयोग करके की जाती है। विभिन्न सन्दर्भों पर आधारित। पीपीएम के विपरीत, किसी संदर्भ को सन्निहित होने की आवश्यकता नहीं है। अधिकांश PAQ संस्करण निम्नलिखित संदर्भों के लिए अगले-प्रतीक आँकड़े एकत्र करते हैं: | ||
* एन-ग्राम|एन-ग्राम; प्रसंग अंतिम है {{Var|n}} पूर्वानुमानित प्रतीक से पहले बाइट्स (जैसा कि पीपीएम में); | * एन-ग्राम|एन-ग्राम; प्रसंग अंतिम है {{Var|n}} पूर्वानुमानित प्रतीक से पहले बाइट्स (जैसा कि पीपीएम में); | ||
* संपूर्ण-शब्द एन-ग्राम, केस और गैर-वर्णमाला वर्णों को अनदेखा करना (पाठ फ़ाइलों में उपयोगी); | * संपूर्ण-शब्द एन-ग्राम, केस और गैर-वर्णमाला वर्णों को अनदेखा करना (पाठ फ़ाइलों में उपयोगी); | ||
| Line 16: | Line 15: | ||
* एनालॉग संदर्भ, जिसमें पिछले 8- या 16-बिट शब्दों के उच्च-क्रम बिट्स शामिल हैं (मल्टीमीडिया फ़ाइलों के लिए उपयोगी); | * एनालॉग संदर्भ, जिसमें पिछले 8- या 16-बिट शब्दों के उच्च-क्रम बिट्स शामिल हैं (मल्टीमीडिया फ़ाइलों के लिए उपयोगी); | ||
* द्वि-आयामी संदर्भ (छवियों, तालिकाओं और स्प्रेडशीट के लिए उपयोगी); पंक्ति की लंबाई दोहराए जाने वाले बाइट पैटर्न की स्ट्राइड लंबाई ज्ञात करके निर्धारित की जाती है; | * द्वि-आयामी संदर्भ (छवियों, तालिकाओं और स्प्रेडशीट के लिए उपयोगी); पंक्ति की लंबाई दोहराए जाने वाले बाइट पैटर्न की स्ट्राइड लंबाई ज्ञात करके निर्धारित की जाती है; | ||
* विशेष मॉडल, जैसे x[[86]] निष्पादन योग्य, [[ विंडोज़ बिटमैप ]], टीआईएफएफ, या [[जेपीईजी]] छवियां; ये मॉडल केवल तभी सक्रिय होते हैं जब विशेष फ़ाइल प्रकार का पता लगाया जाता है। | * विशेष मॉडल, जैसे x[[86]] निष्पादन योग्य, [[ विंडोज़ बिटमैप |विंडोज़ बिटमैप]] , टीआईएफएफ, या [[जेपीईजी]] छवियां; ये मॉडल केवल तभी सक्रिय होते हैं जब विशेष फ़ाइल प्रकार का पता लगाया जाता है। | ||
सभी PAQ संस्करण | सभी PAQ संस्करण समय में बिट की भविष्यवाणी करते हैं और संपीड़ित करते हैं, लेकिन मॉडल के विवरण और भविष्यवाणियों को संयुक्त और पोस्टप्रोसेस करने के तरीके में भिन्नता होती है। बार जब अगली-बिट संभावना निर्धारित हो जाती है, तो इसे [[अंकगणितीय कोडिंग]] द्वारा एन्कोड किया जाता है। संस्करण के आधार पर भविष्यवाणियों के संयोजन की तीन विधियाँ हैं: | ||
* PAQ1 से PAQ3 तक, प्रत्येक पूर्वानुमान को बिट गणनाओं की | * PAQ1 से PAQ3 तक, प्रत्येक पूर्वानुमान को बिट गणनाओं की जोड़ी के रूप में दर्शाया जाता है <math>(n_0, n_1)</math>. इन गणनाओं को भारित योग द्वारा संयोजित किया जाता है, जिसमें लंबे संदर्भों को अधिक महत्व दिया जाता है। | ||
* PAQ4 से PAQ6 में, पूर्वानुमानों को पहले की तरह संयोजित किया जाता है, लेकिन प्रत्येक मॉडल को दिए गए भार को अधिक सटीक मॉडल के पक्ष में समायोजित किया जाता है। | * PAQ4 से PAQ6 में, पूर्वानुमानों को पहले की तरह संयोजित किया जाता है, लेकिन प्रत्येक मॉडल को दिए गए भार को अधिक सटीक मॉडल के पक्ष में समायोजित किया जाता है। | ||
* PAQ7 और बाद में, प्रत्येक मॉडल गिनती की | * PAQ7 और बाद में, प्रत्येक मॉडल गिनती की जोड़ी के बजाय संभावना को आउटपुट करता है। संभावनाओं को [[कृत्रिम तंत्रिका नेटवर्क]] का उपयोग करके संयोजित किया जाता है। | ||
PAQ1SSE और बाद के संस्करण द्वितीयक प्रतीक अनुमान (SSE) का उपयोग करके भविष्यवाणी को पोस्टप्रोसेस करते हैं। किसी तालिका में नई भविष्यवाणी देखने के लिए संयुक्त भविष्यवाणी और | PAQ1SSE और बाद के संस्करण द्वितीयक प्रतीक अनुमान (SSE) का उपयोग करके भविष्यवाणी को पोस्टप्रोसेस करते हैं। किसी तालिका में नई भविष्यवाणी देखने के लिए संयुक्त भविष्यवाणी और छोटे संदर्भ का उपयोग किया जाता है। बिट एन्कोड होने के बाद, पूर्वानुमान त्रुटि को कम करने के लिए तालिका प्रविष्टि को समायोजित किया जाता है। एसएसई चरणों को विभिन्न संदर्भों के साथ पाइपलाइन किया जा सकता है या औसत आउटपुट के साथ समानांतर में गणना की जा सकती है। | ||
===अंकगणित कोडिंग=== | ===अंकगणित कोडिंग=== | ||
एक स्ट्रिंग s को सबसे छोटी बाइट स्ट्रिंग में संपीड़ित किया जाता है जो कि [0, 1] रेंज में बेस-256 [[बड़े एंडियन]] संख्या x का प्रतिनिधित्व करता है जैसे कि P(r < s) ≤ x < P(r ≤ s), जहां P(r < s) संभावना है कि | एक स्ट्रिंग s को सबसे छोटी बाइट स्ट्रिंग में संपीड़ित किया जाता है जो कि [0, 1] रेंज में बेस-256 [[बड़े एंडियन]] संख्या x का प्रतिनिधित्व करता है जैसे कि P(r < s) ≤ x < P(r ≤ s), जहां P(r < s) संभावना है कि यादृच्छिक स्ट्रिंग r जिसकी लंबाई s के समान है, [[शब्दकोषीय क्रम]] में s से कम होगी। ऐसा x खोजना हमेशा संभव है कि x की लंबाई [[शोर-चैनल कोडिंग प्रमेय]] से अधिकतम बाइट लंबी हो, -लॉग<sub>2</sub>पी(आर = एस) बिट्स. एस की लंबाई संग्रह शीर्षलेख में संग्रहीत है। | ||
PAQ में अंकगणित कोडिंग प्रत्येक भविष्यवाणी के लिए x पर निचली और ऊपरी सीमा को बनाए रखते हुए कार्यान्वित की जाती है, प्रारंभ में [0, 1]। प्रत्येक भविष्यवाणी के बाद, वर्तमान सीमा को P(0) और P(1) के अनुपात में दो भागों में विभाजित किया जाता है, संभावना है कि s का अगला बिट क्रमशः 0 या 1 होगा, s के पिछले बिट्स को देखते हुए। फिर अगली बिट को नई श्रेणी के लिए संबंधित उपश्रेणी का चयन करके एन्कोड किया जाता है। | PAQ में अंकगणित कोडिंग प्रत्येक भविष्यवाणी के लिए x पर निचली और ऊपरी सीमा को बनाए रखते हुए कार्यान्वित की जाती है, प्रारंभ में [0, 1]। प्रत्येक भविष्यवाणी के बाद, वर्तमान सीमा को P(0) और P(1) के अनुपात में दो भागों में विभाजित किया जाता है, संभावना है कि s का अगला बिट क्रमशः 0 या 1 होगा, s के पिछले बिट्स को देखते हुए। फिर अगली बिट को नई श्रेणी के लिए संबंधित उपश्रेणी का चयन करके एन्कोड किया जाता है। | ||
संख्या x को बिट भविष्यवाणियों की | संख्या x को बिट भविष्यवाणियों की समान श्रृंखला बनाकर वापस स्ट्रिंग s में विघटित किया जाता है (चूंकि s के पिछले बिट्स ज्ञात हैं)। संपीड़न के साथ सीमा को विभाजित किया गया है। x वाला भाग नई श्रेणी बन जाता है, और संबंधित बिट को s से जोड़ दिया जाता है। | ||
PAQ में, सीमा की निचली और ऊपरी सीमा को 3 भागों में दर्शाया गया है। सबसे महत्वपूर्ण आधार-256 अंक समान हैं, इसलिए उन्हें x के अग्रणी बाइट्स के रूप में लिखा जा सकता है। अगले 4 बाइट्स को मेमोरी में रखा जाता है, ताकि प्रमुख बाइट अलग हो। अनुगामी बिट्स को निचली सीमा के लिए सभी शून्य और ऊपरी सीमा के लिए सभी शून्य माना जाता है। निचली सीमा से | PAQ में, सीमा की निचली और ऊपरी सीमा को 3 भागों में दर्शाया गया है। सबसे महत्वपूर्ण आधार-256 अंक समान हैं, इसलिए उन्हें x के अग्रणी बाइट्स के रूप में लिखा जा सकता है। अगले 4 बाइट्स को मेमोरी में रखा जाता है, ताकि प्रमुख बाइट अलग हो। अनुगामी बिट्स को निचली सीमा के लिए सभी शून्य और ऊपरी सीमा के लिए सभी शून्य माना जाता है। निचली सीमा से और बाइट लिखकर संपीड़न समाप्त किया जाता है। | ||
===अनुकूली मॉडल भार=== | ===अनुकूली मॉडल भार=== | ||
PAQ6 के माध्यम से PAQ संस्करणों में, प्रत्येक मॉडल अलग-अलग संदर्भों के | PAQ6 के माध्यम से PAQ संस्करणों में, प्रत्येक मॉडल अलग-अलग संदर्भों के सेट को गिनती की जोड़ी में मैप करता है, <math>n_0</math>, शून्य बिट्स की गिनती, और <math>n_1</math>, 1 बिट की गिनती। हाल के इतिहास का पक्ष लेने के लिए, विपरीत बिट देखे जाने पर 2 से अधिक की आधी गिनती को छोड़ दिया जाता है। उदाहरण के लिए, यदि किसी संदर्भ से जुड़ी वर्तमान स्थिति है <math>(n_0,n_1) = (12,3)</math> और 1 देखा जाता है, तो गिनती (7, 4) में अपडेट हो जाती है। | ||
एक बिट को अंकगणितीय रूप से उसकी संभाव्यता के आनुपातिक स्थान के साथ कोडित किया जाता है, या तो P(1) या P(0) = 1 - P(1)। संभावनाओं की गणना 0 और 1 की गणना के भारित योग द्वारा की जाती है: | एक बिट को अंकगणितीय रूप से उसकी संभाव्यता के आनुपातिक स्थान के साथ कोडित किया जाता है, या तो P(1) या P(0) = 1 - P(1)। संभावनाओं की गणना 0 और 1 की गणना के भारित योग द्वारा की जाती है: | ||
| Line 52: | Line 51: | ||
===तंत्रिका-नेटवर्क मिश्रण=== | ===तंत्रिका-नेटवर्क मिश्रण=== | ||
PAQ7 से शुरू होकर, प्रत्येक मॉडल | PAQ7 से शुरू होकर, प्रत्येक मॉडल भविष्यवाणी आउटपुट करता है (गिनती की जोड़ी के बजाय)। ये भविष्यवाणियाँ लॉजिस्टिक डोमेन में औसत हैं: | ||
* एक्स<sub>i</sub>= खिंचाव(पी<sub>''i''</sub>(1)), | * एक्स<sub>i</sub>= खिंचाव(पी<sub>''i''</sub>(1)), | ||
* पी(1) = स्क्वैश(Σ<sub>''i''</sub> w<sub>i</sub>एक्स<sub>i</sub>), | * पी(1) = स्क्वैश(Σ<sub>''i''</sub> w<sub>i</sub>एक्स<sub>i</sub>), | ||
| Line 63: | Line 62: | ||
जहां η [[सीखने की दर]] है (आमतौर पर 0.002 से 0.01), y अनुमानित बिट है, और (y − P(1)) भविष्यवाणी त्रुटि है। वेट अपडेट एल्गोरिदम [[पश्चप्रचार]] से अलग है जिसमें P(1)P(0) शब्द हटा दिए जाते हैं। ऐसा इसलिए है क्योंकि तंत्रिका नेटवर्क का लक्ष्य कोडिंग लागत को कम करना है, न कि मूल माध्य वर्ग त्रुटि। | जहां η [[सीखने की दर]] है (आमतौर पर 0.002 से 0.01), y अनुमानित बिट है, और (y − P(1)) भविष्यवाणी त्रुटि है। वेट अपडेट एल्गोरिदम [[पश्चप्रचार]] से अलग है जिसमें P(1)P(0) शब्द हटा दिए जाते हैं। ऐसा इसलिए है क्योंकि तंत्रिका नेटवर्क का लक्ष्य कोडिंग लागत को कम करना है, न कि मूल माध्य वर्ग त्रुटि। | ||
पीएक्यू के अधिकांश संस्करण तंत्रिका नेटवर्क के लिए वजन के सेट के बीच चयन करने के लिए | पीएक्यू के अधिकांश संस्करण तंत्रिका नेटवर्क के लिए वजन के सेट के बीच चयन करने के लिए छोटे संदर्भ का उपयोग करते हैं। कुछ संस्करण एकाधिक नेटवर्क का उपयोग करते हैं जिनके आउटपुट एसएसई चरणों से पहले और नेटवर्क के साथ संयुक्त होते हैं। इसके अलावा, प्रत्येक इनपुट भविष्यवाणी के लिए कई इनपुट हो सकते हैं जो पी के गैर-रेखीय कार्य हैं<sub>''i''</sub>(1) खिंचाव के अतिरिक्त (पी(1))। | ||
===संदर्भ मॉडलिंग=== | ===संदर्भ मॉडलिंग=== | ||
प्रत्येक मॉडल एस के ज्ञात बिट्स को संदर्भों के | प्रत्येक मॉडल एस के ज्ञात बिट्स को संदर्भों के सेट में विभाजित करता है और प्रत्येक संदर्भ को 8-बिट स्थिति द्वारा दर्शाए गए बिट इतिहास में मैप करता है। PAQ6 के माध्यम से संस्करणों में, राज्य काउंटरों की जोड़ी का प्रतिनिधित्व करता है (एन<sub>0</sub>, एन<sub>1</sub>). PAQ7 और बाद के संस्करणों में कुछ शर्तों के तहत, स्थिति अंतिम बिट या संपूर्ण अनुक्रम के मूल्य का भी प्रतिनिधित्व करती है। प्रत्येक मॉडल के लिए 256-प्रविष्टि तालिका का उपयोग करके राज्यों को संभावनाओं के आधार पर मैप किया जाता है। मॉडल द्वारा भविष्यवाणी के बाद, भविष्यवाणी त्रुटि को कम करने के लिए तालिका प्रविष्टि को थोड़ा (आमतौर पर 0.4%) समायोजित किया जाता है। | ||
सभी PAQ8 संस्करणों में, प्रतिनिधित्व योग्य स्थितियाँ इस प्रकार हैं: | सभी PAQ8 संस्करणों में, प्रतिनिधित्व योग्य स्थितियाँ इस प्रकार हैं: | ||
* 4 बिट तक के लिए सटीक बिट अनुक्रम। | * 4 बिट तक के लिए सटीक बिट अनुक्रम। | ||
* 5 से 15 बिट्स के अनुक्रमों के लिए गिनती की | * 5 से 15 बिट्स के अनुक्रमों के लिए गिनती की जोड़ी और नवीनतम बिट का संकेतक। | ||
* 16 से 41 बिट्स के अनुक्रमों के लिए गिनती की | * 16 से 41 बिट्स के अनुक्रमों के लिए गिनती की जोड़ी। | ||
राज्यों की संख्या 256 तक रखने के लिए, प्रतिनिधित्व योग्य गणनाओं पर निम्नलिखित सीमाएँ रखी गई हैं: (41, 0), (40, 1), (12, 2), (5, 3), (4, 4), ( 3, 5), (2, 12), (1, 40), (0, 41)। यदि कोई गिनती इस सीमा से अधिक हो जाती है, तो अगला राज्य n के समान अनुपात के लिए चुना जाता है<sub>0</sub> से एन<sub>1</sub>. इस प्रकार, यदि वर्तमान स्थिति (n<sub>0</sub> = 4, एन<sub>1</sub> = 4, अंतिम बिट = 0) और 1 देखा जाता है, तो नई स्थिति (एन) नहीं है<sub>0</sub> = 4, एन<sub>1</sub> = 5, अंतिम बिट = 1). बल्कि, यह (एन<sub>0</sub> = 3, एन<sub>1</sub> = 4, अंतिम बिट = 1). | राज्यों की संख्या 256 तक रखने के लिए, प्रतिनिधित्व योग्य गणनाओं पर निम्नलिखित सीमाएँ रखी गई हैं: (41, 0), (40, 1), (12, 2), (5, 3), (4, 4), ( 3, 5), (2, 12), (1, 40), (0, 41)। यदि कोई गिनती इस सीमा से अधिक हो जाती है, तो अगला राज्य n के समान अनुपात के लिए चुना जाता है<sub>0</sub> से एन<sub>1</sub>. इस प्रकार, यदि वर्तमान स्थिति (n<sub>0</sub> = 4, एन<sub>1</sub> = 4, अंतिम बिट = 0) और 1 देखा जाता है, तो नई स्थिति (एन) नहीं है<sub>0</sub> = 4, एन<sub>1</sub> = 5, अंतिम बिट = 1). बल्कि, यह (एन<sub>0</sub> = 3, एन<sub>1</sub> = 4, अंतिम बिट = 1). | ||
| Line 80: | Line 79: | ||
===पाठ प्रीप्रोसेसिंग=== | ===पाठ प्रीप्रोसेसिंग=== | ||
PAQ के कुछ संस्करण, विशेष रूप से PAsQDa, PAQAR (दोनों PAQ6 डेरिवेटिव), और PAQ8HP1 से PAQ8HP8 (PAQ8 डेरिवेटिव और [[हटर पुरस्कार]] प्राप्तकर्ता) बाहरी शब्दकोश में शब्दों को देखकर और उन्हें 1- से 3-बाइट कोड के साथ बदलकर टेक्स्ट फ़ाइलों को प्रीप्रोसेस करते हैं। . इसके अलावा, अपरकेस अक्षरों को | PAQ के कुछ संस्करण, विशेष रूप से PAsQDa, PAQAR (दोनों PAQ6 डेरिवेटिव), और PAQ8HP1 से PAQ8HP8 (PAQ8 डेरिवेटिव और [[हटर पुरस्कार]] प्राप्तकर्ता) बाहरी शब्दकोश में शब्दों को देखकर और उन्हें 1- से 3-बाइट कोड के साथ बदलकर टेक्स्ट फ़ाइलों को प्रीप्रोसेस करते हैं। . इसके अलावा, अपरकेस अक्षरों को विशेष वर्ण के साथ एन्कोड किया जाता है जिसके बाद लोअरकेस अक्षर आते हैं। PAQ8HP श्रृंखला में, शब्दकोश को वाक्यात्मक और शब्दार्थ संबंधी शब्दों को साथ समूहित करके व्यवस्थित किया जाता है। यह मॉडलों को संदर्भ के रूप में शब्दकोश कोड के सबसे महत्वपूर्ण बिट्स का उपयोग करने की अनुमति देता है। | ||
==तुलना== | ==तुलना== | ||
निम्नलिखित तालिका मैट महोनी द्वारा [http://mattmahoney.net/dc/text.html बड़े टेक्स्ट संपीड़न बेंचमार्क] से | निम्नलिखित तालिका मैट महोनी द्वारा [http://mattmahoney.net/dc/text.html बड़े टेक्स्ट संपीड़न बेंचमार्क] से नमूना है जिसमें 10 वाली फ़ाइल शामिल है<sup>[[अंग्रेजी विकिपीडिया]] पाठ के 9</sup> बाइट्स (1 [[गीगाबाइट]], या 0.931 [[GiB]])। | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Line 96: | Line 94: | ||
|- | |- | ||
| PAQ8HP8 | | PAQ8HP8 | ||
| 133,423,109 | | 133,423,109 | ||
| {{#expr: ((133423109/1000000000)*100) round 2}} | | {{#expr: ((133423109/1000000000)*100) round 2}} | ||
| 64 639 | | 64 639 | ||
| Line 102: | Line 100: | ||
|- | |- | ||
| [[Prediction by partial matching#PPMd|PPMd]] | | [[Prediction by partial matching#PPMd|PPMd]] | ||
| 183,976,014 | | 183,976,014 | ||
| {{#expr: ((183976014/1000000000)*100) round 2}} | | {{#expr: ((183976014/1000000000)*100) round 2}} | ||
| 880 | | 880 | ||
| Line 108: | Line 106: | ||
|- | |- | ||
| [[bzip2]] | | [[bzip2]] | ||
| 254,007,875 | | 254,007,875 | ||
| {{#expr: ((254007875/1000000000)*100) round 2}} | | {{#expr: ((254007875/1000000000)*100) round 2}} | ||
| 379 | | 379 | ||
| Line 114: | Line 112: | ||
|- | |- | ||
| [[Infozip|InfoZIP]] | | [[Infozip|InfoZIP]] | ||
| 322,649,703 | | 322,649,703 | ||
| {{#expr: ((322649703/1000000000)*100) round 2}} | | {{#expr: ((322649703/1000000000)*100) round 2}} | ||
| 104 | | 104 | ||
| Line 126: | Line 124: | ||
* PAQ1 को 6 जनवरी 2002 को मैट महोनी द्वारा जारी किया गया था। इसमें निश्चित वजन का उपयोग किया गया था और इसमें एनालॉग या विरल मॉडल शामिल नहीं था। | * PAQ1 को 6 जनवरी 2002 को मैट महोनी द्वारा जारी किया गया था। इसमें निश्चित वजन का उपयोग किया गया था और इसमें एनालॉग या विरल मॉडल शामिल नहीं था। | ||
* PAQ1SSE/PAQ2 को 11 मई 2003 को सर्ज ओस्नाच द्वारा जारी किया गया था। इसने भविष्यवक्ता और एनकोडर के बीच | * PAQ1SSE/PAQ2 को 11 मई 2003 को सर्ज ओस्नाच द्वारा जारी किया गया था। इसने भविष्यवक्ता और एनकोडर के बीच माध्यमिक प्रतीक अनुमान (एसएसई) चरण जोड़कर संपीड़न में उल्लेखनीय सुधार किया। एसएसई संक्षिप्त संदर्भ और वर्तमान भविष्यवाणी इनपुट करता है और तालिका से नई भविष्यवाणी आउटपुट करता है। फिर वास्तविक बिट मान को प्रतिबिंबित करने के लिए तालिका प्रविष्टि को समायोजित किया जाता है। | ||
* 9 अक्टूबर 2003 को जारी PAQ3N ने | * 9 अक्टूबर 2003 को जारी PAQ3N ने विरल मॉडल जोड़ा। | ||
* मैट महोनी द्वारा 15 नवंबर 2003 को जारी PAQ4 में अनुकूली भार का उपयोग किया गया। PAQ5 (दिसंबर 18, 2003) और PAQ6 (दिसंबर 30, 2003) | * मैट महोनी द्वारा 15 नवंबर 2003 को जारी PAQ4 में अनुकूली भार का उपयोग किया गया। PAQ5 (दिसंबर 18, 2003) और PAQ6 (दिसंबर 30, 2003) नए एनालॉग मॉडल सहित मामूली सुधार थे। इस बिंदु पर, पीएक्यू सर्वश्रेष्ठ पीपीएम कम्प्रेसर के साथ प्रतिस्पर्धी था और उसने डेटा संपीड़न समुदाय का ध्यान आकर्षित किया, जिसके परिणामस्वरूप अप्रैल 2004 तक बड़ी संख्या में वृद्धिशील सुधार हुए। बर्टो डेस्टासियो ने मॉडलों को ट्यून किया और बिट काउंट डिस्काउंटिंग शेड्यूल को समायोजित किया। जोहान डी बॉक ने यूजर इंटरफ़ेस में सुधार किया। डेविड ए. स्कॉट ने अंकगणित कोडर में सुधार किया। फैबियो बफोनी ने गति में सुधार किया। | ||
* 20 मई 2004 से 27 जुलाई 2004 की अवधि के दौरान, अलेक्जेंडर रतुश्न्याक ने PAQAR के सात संस्करण जारी किए, जिसमें कई नए मॉडल, संदर्भ द्वारा चयनित वजन के साथ कई मिक्सर, प्रत्येक मिक्सर आउटपुट में | * 20 मई 2004 से 27 जुलाई 2004 की अवधि के दौरान, अलेक्जेंडर रतुश्न्याक ने PAQAR के सात संस्करण जारी किए, जिसमें कई नए मॉडल, संदर्भ द्वारा चयनित वजन के साथ कई मिक्सर, प्रत्येक मिक्सर आउटपुट में एसएसई चरण जोड़कर महत्वपूर्ण संपीड़न सुधार किए गए। और इंटेल निष्पादन योग्य फ़ाइलों के संपीड़न को बेहतर बनाने के लिए प्रीप्रोसेसर जोड़ना। PAQAR 2004 के अंत तक शीर्ष रैंक वाले कंप्रेसर के रूप में खड़ा था, लेकिन पिछले PAQ संस्करणों की तुलना में काफी धीमा था। | ||
* 18 जनवरी 2005 से 7 फरवरी 2005 की अवधि के दौरान, प्रेज़ेमिस्लाव स्किबिंस्की ने | * 18 जनवरी 2005 से 7 फरवरी 2005 की अवधि के दौरान, प्रेज़ेमिस्लाव स्किबिंस्की ने अंग्रेजी शब्दकोश प्रीप्रोसेसर के साथ PAQ6 और PAQAR पर आधारित PASqDa के चार संस्करण जारी किए। इसने कैलगरी कॉर्पस पर शीर्ष रैंकिंग हासिल की लेकिन अधिकांश अन्य बेंचमार्क पर नहीं। | ||
* PAQ6 के | * PAQ6 के संशोधित संस्करण ने 10 जनवरी 2004 को मैट महोनी द्वारा कैलगरी चैलेंज जीता। अलेक्जेंडर रतुश्न्याक द्वारा PAQAR के दस बाद के संस्करणों द्वारा इसे बेहतर बनाया गया। सबसे हालिया 5 जून 2006 को प्रस्तुत किया गया था, जिसमें कुल 589,862 बाइट्स का संपीड़ित डेटा और प्रोग्राम स्रोत कोड शामिल था। | ||
* PAQ7 को दिसंबर 2005 में मैट महोनी द्वारा रिलीज़ किया गया था। PAQ7, PAQ6 और वेरिएंट (PAQAR, PAsQDa) का पूर्ण पुनर्लेखन है। संपीड़न अनुपात PAQAR के समान था लेकिन 3 गुना तेज़ था। हालाँकि इसमें x86 और | * PAQ7 को दिसंबर 2005 में मैट महोनी द्वारा रिलीज़ किया गया था। PAQ7, PAQ6 और वेरिएंट (PAQAR, PAsQDa) का पूर्ण पुनर्लेखन है। संपीड़न अनुपात PAQAR के समान था लेकिन 3 गुना तेज़ था। हालाँकि इसमें x86 और शब्दकोश का अभाव था, इसलिए यह विंडोज़ निष्पादनयोग्य और अंग्रेजी पाठ फ़ाइलों के साथ-साथ PAsQDa को संपीड़ित नहीं करता था। इसमें रंगीन बीएमपी, टीआईएफएफ और जेपीईजी फाइलों के मॉडल शामिल हैं, इसलिए ये फाइलें बेहतर तरीके से संपीड़ित होती हैं। PAQ6 से प्राथमिक अंतर यह है कि यह ग्रेडिएंट डिसेंट मिक्सर के बजाय मॉडलों को संयोजित करने के लिए तंत्रिका नेटवर्क का उपयोग करता है। अन्य विशेषता [[ प्रोग्राम फ़ाइल |प्रोग्राम फ़ाइल]] ेल-, वर्ड- और पीडीएफ-फ़ाइलों में एम्बेडेड जेपीईजी और बिटमैप छवियों को संपीड़ित करने की PAQ7 की क्षमता है। | ||
* PAQ8A को 27 जनवरी 2006 को, PAQ8C को 13 फरवरी 2006 को जारी किया गया था। ये प्रत्याशित PAQ8 के प्रायोगिक प्री-रिलीज़ थे। इसने PAQ7 (कुछ मामलों में [[खराब]] संपीड़न) में कई समस्याओं को ठीक किया। PAQ8A में (x86) निष्पादनयोग्यों को संपीड़ित करने के लिए मॉडल भी शामिल है। | * PAQ8A को 27 जनवरी 2006 को, PAQ8C को 13 फरवरी 2006 को जारी किया गया था। ये प्रत्याशित PAQ8 के प्रायोगिक प्री-रिलीज़ थे। इसने PAQ7 (कुछ मामलों में [[खराब]] संपीड़न) में कई समस्याओं को ठीक किया। PAQ8A में (x86) निष्पादनयोग्यों को संपीड़ित करने के लिए मॉडल भी शामिल है। | ||
* PAQ8F को 28 फरवरी, 2006 को जारी किया गया था। PAQ8F में PAQ8A की तुलना में 3 सुधार थे: | * PAQ8F को 28 फरवरी, 2006 को जारी किया गया था। PAQ8F में PAQ8A की तुलना में 3 सुधार थे: अधिक मेमोरी कुशल संदर्भ मॉडल, संपीड़न में सुधार के लिए नया अप्रत्यक्ष संदर्भ मॉडल, और विंडोज़ में ड्रैग और ड्रॉप का समर्थन करने के लिए नया उपयोगकर्ता इंटरफ़ेस। यह PAQ8B/C/D/E वेरिएंट की तरह अंग्रेजी शब्दकोश का उपयोग नहीं करता है। | ||
* PAQ8G को प्रेज़ेमिस्लाव स्किबिंस्की द्वारा 3 मार्च 2006 को रिलीज़ किया गया था। PAQ8G PAQ8F है जिसमें शब्दकोश जोड़े गए हैं और पुन: डिज़ाइन किए गए टेक्स्टफ़िल्टर के रूप में कुछ अन्य सुधार किए गए हैं (जो गैर-पाठ्य फ़ाइलों पर संपीड़न प्रदर्शन को कम नहीं करता है) | * PAQ8G को प्रेज़ेमिस्लाव स्किबिंस्की द्वारा 3 मार्च 2006 को रिलीज़ किया गया था। PAQ8G PAQ8F है जिसमें शब्दकोश जोड़े गए हैं और पुन: डिज़ाइन किए गए टेक्स्टफ़िल्टर के रूप में कुछ अन्य सुधार किए गए हैं (जो गैर-पाठ्य फ़ाइलों पर संपीड़न प्रदर्शन को कम नहीं करता है) | ||
* PAQ8H को 22 मार्च 2006 को अलेक्जेंडर रतुश्न्याक द्वारा जारी किया गया और 24 मार्च 2006 को अद्यतन किया गया। PAQ8H हैमॉडल में कुछ सुधारों के साथ PAQ8G पर आधारित। | * PAQ8H को 22 मार्च 2006 को अलेक्जेंडर रतुश्न्याक द्वारा जारी किया गया और 24 मार्च 2006 को अद्यतन किया गया। PAQ8H हैमॉडल में कुछ सुधारों के साथ PAQ8G पर आधारित। | ||
* PAQ8I को 18 अगस्त 2006 को पावेल एल. होलोबोरोडको द्वारा 24 अगस्त, 4 सितंबर और 13 सितंबर को बग फिक्स के साथ जारी किया गया था। इसमें पोर्टेबल बिटमैप#पीजीएम उदाहरण फ़ाइलों के लिए | * PAQ8I को 18 अगस्त 2006 को पावेल एल. होलोबोरोडको द्वारा 24 अगस्त, 4 सितंबर और 13 सितंबर को बग फिक्स के साथ जारी किया गया था। इसमें पोर्टेबल बिटमैप#पीजीएम उदाहरण फ़ाइलों के लिए ग्रेस्केल छवि मॉडल जोड़ा गया था। | ||
* PAQ8J को बिल पेटिस द्वारा 13 नवंबर 2006 को रिलीज़ किया गया था। यह PAQ8HP5 से लिए गए कुछ टेक्स्ट मॉडल सुधारों के साथ PAQ8F पर आधारित था। इस प्रकार, इसमें PAQ8G से पाठ शब्दकोश या PAQ8I से PGM मॉडल शामिल नहीं थे। | * PAQ8J को बिल पेटिस द्वारा 13 नवंबर 2006 को रिलीज़ किया गया था। यह PAQ8HP5 से लिए गए कुछ टेक्स्ट मॉडल सुधारों के साथ PAQ8F पर आधारित था। इस प्रकार, इसमें PAQ8G से पाठ शब्दकोश या PAQ8I से PGM मॉडल शामिल नहीं थे। | ||
*सर्ज ओस्नाच ने मॉडलिंग सुधारों की | *सर्ज ओस्नाच ने मॉडलिंग सुधारों की श्रृंखला जारी की: 16 नवंबर 2006 को PAQ8JA, 21 नवंबर को PAQ8JB और 28 नवंबर को PAQ8JC। | ||
* PAQ8JD को बिल पेटिस द्वारा 30 दिसंबर 2006 को रिलीज़ किया गया था। तब से इस संस्करण को कई प्रोसेसरों के लिए 32 बिट [[ माइक्रोसॉफ़्ट विंडोज़ ]] और 32 और 64 बिट [[लिनक्स]] में पोर्ट किया गया है। | * PAQ8JD को बिल पेटिस द्वारा 30 दिसंबर 2006 को रिलीज़ किया गया था। तब से इस संस्करण को कई प्रोसेसरों के लिए 32 बिट [[ माइक्रोसॉफ़्ट विंडोज़ |माइक्रोसॉफ़्ट विंडोज़]] और 32 और 64 बिट [[लिनक्स]] में पोर्ट किया गया है। | ||
* PAQ8K को बिल पेटिस द्वारा 13 फरवरी 2007 को रिलीज़ किया गया था। इसमें बाइनरी फ़ाइलों के लिए अतिरिक्त मॉडल शामिल हैं। | * PAQ8K को बिल पेटिस द्वारा 13 फरवरी 2007 को रिलीज़ किया गया था। इसमें बाइनरी फ़ाइलों के लिए अतिरिक्त मॉडल शामिल हैं। | ||
* PAQ8L को मैट महोनी द्वारा 8 मार्च 2007 को रिलीज़ किया गया था। यह PAQ8JD पर आधारित है और | * PAQ8L को मैट महोनी द्वारा 8 मार्च 2007 को रिलीज़ किया गया था। यह PAQ8JD पर आधारित है और [[ गतिशील मार्कोव संपीड़न |गतिशील मार्कोव संपीड़न]] मॉडल जोड़ता है। | ||
* PAQ8O को 24 अगस्त 2007 को एंड्रियास मॉर्फिस द्वारा जारी किया गया था। इसमें PAQ8L की तुलना में बेहतर BMP फ़ाइल स्वरूप और JPEG मॉडल शामिल हैं। वैकल्पिक रूप से SSE2 समर्थन और 64-बिट Linux के लिए संकलित किया जा सकता है। 64-बिट ओएस के तहत एल्गोरिदम में उल्लेखनीय प्रदर्शन लाभ हैं। | * PAQ8O को 24 अगस्त 2007 को एंड्रियास मॉर्फिस द्वारा जारी किया गया था। इसमें PAQ8L की तुलना में बेहतर BMP फ़ाइल स्वरूप और JPEG मॉडल शामिल हैं। वैकल्पिक रूप से SSE2 समर्थन और 64-बिट Linux के लिए संकलित किया जा सकता है। 64-बिट ओएस के तहत एल्गोरिदम में उल्लेखनीय प्रदर्शन लाभ हैं। | ||
* PAQ8P को एंड्रियास मॉर्फिस द्वारा 25 अगस्त 2008 को जारी किया गया था। इसमें बेहतर BMP मॉडल शामिल है और | * PAQ8P को एंड्रियास मॉर्फिस द्वारा 25 अगस्त 2008 को जारी किया गया था। इसमें बेहतर BMP मॉडल शामिल है और [[WAV]] मॉडल जोड़ा गया है। | ||
* PAQ8PX को 25 अप्रैल 2009 को जन ओन्ड्रस द्वारा जारी किया गया था। इसमें बेहतर WAV कम्प्रेशन और EXE कम्प्रेशन जैसे विभिन्न सुधार शामिल हैं। | * PAQ8PX को 25 अप्रैल 2009 को जन ओन्ड्रस द्वारा जारी किया गया था। इसमें बेहतर WAV कम्प्रेशन और EXE कम्प्रेशन जैसे विभिन्न सुधार शामिल हैं। | ||
* PAQ8KX को 15 जुलाई 2009 को जन ओन्ड्रस द्वारा जारी किया गया था। यह PAQ8K के साथ PAQ8PX का संयोजन है। | * PAQ8KX को 15 जुलाई 2009 को जन ओन्ड्रस द्वारा जारी किया गया था। यह PAQ8K के साथ PAQ8PX का संयोजन है। | ||
* PAQ8PF को लवपिंपल द्वारा 9 सितंबर 2009 को बिना सोर्स कोड (जिसके लिए [[GPL]] लाइसेंस की आवश्यकता होती है) के बिना जारी किया गया था। यह 7% खराब संपीड़ित करता है, लेकिन PAQ8PX v66 (1 एमबी अंग्रेजी पाठ से मापा गया) की तुलना में 7 गुना तेज है। | * PAQ8PF को लवपिंपल द्वारा 9 सितंबर 2009 को बिना सोर्स कोड (जिसके लिए [[GPL]] लाइसेंस की आवश्यकता होती है) के बिना जारी किया गया था। यह 7% खराब संपीड़ित करता है, लेकिन PAQ8PX v66 (1 एमबी अंग्रेजी पाठ से मापा गया) की तुलना में 7 गुना तेज है। | ||
* PAQ9A को मैट महोनी द्वारा 31 दिसंबर 2007 को जारी किया गया था। | |||