क्या डेटा को शैनन डेटा कम्प्रेशन सीमा से छोटा करने के लिए संकुचित किया जा सकता है?


17

मैं डेटा संपीड़न एल्गोरिदम और डेटा संपीड़न के लिए सैद्धांतिक सीमा के बारे में पढ़ रहा था। हाल ही में मुझे "कॉम्बिनेटरियल एन्ट्रॉपी एन्कोडिंग" नामक एक संपीड़न विधि का सामना करना पड़ा, इस पद्धति का मुख्य विचार फ़ाइल को फ़ाइल में प्रस्तुत किए गए वर्णों, उनकी आवृत्तियों और फ़ाइल द्वारा प्रस्तुत इन वर्ण क्रमचय के सूचकांक के रूप में दर्ज करना है।

ये दस्तावेज़ इस विधि को समझाने में मदद कर सकते हैं:

https://arxiv.org/pdf/1703.08127

http://www-video.eecs.berkeley.edu/papers/vdai/dcc2003.pdf

https://www.thinkmind.org/download.php?articleid=ctrq_2014_2_10_70019

हालाँकि, पहले दस्तावेज़ में मैंने पढ़ा है कि इस पद्धति का उपयोग करके वे शैनन की सीमा से कुछ पाठ कम कर सकते हैं (वे वर्णों की आवृत्ति को बचाने के लिए आवश्यक स्थान और मेटा को बचाने के लिए आवश्यक स्थान पर विचार नहीं करते थे फ़ाइल का डेटा)। मैंने इसके बारे में सोचा और मैंने पाया कि यह विधि बहुत छोटी फ़ाइलों के लिए बहुत कुशल नहीं होगी, लेकिन दूसरी ओर यह बड़ी फ़ाइलों के साथ अच्छी तरह से काम कर सकती है। वास्तव में मैं पूरी तरह से इस एल्गोरिथ्म या शैनन सीमा को नहीं समझता, मुझे पता है कि यह प्रायिकता के पारस्परिक के द्वारा गुणा किए गए प्रत्येक वर्ण की संभावना का योग है ।log2

इसलिए मेरे कुछ प्रश्न हैं:

  1. क्या यह संपीड़न विधि वास्तव में शैनन सीमा से छोटी फ़ाइलों को संपीड़ित करती है?

  2. क्या कोई संपीड़न एल्गोरिदम है जो शैनन सीमा से कम फ़ाइलों को संपीड़ित करता है (इस प्रश्न का उत्तर जहां तक ​​मुझे पता है कि नहीं है)?

  3. क्या शैनन सीमा से छोटी फ़ाइलों को संपीड़ित करने वाली एक संपीड़न विधि मौजूद हो सकती है?

  4. यदि कॉम्बीनेटरियल एन्कोडिंग वास्तव में शैनन सीमा से परे फ़ाइलों को संपीड़ित करता है, तो क्या फ़ाइल को बार-बार संपीड़ित करना संभव नहीं है जब तक कि हम उस फ़ाइल के आकार तक नहीं पहुंचते जो हम चाहते हैं?


26
शैनन ने साबित किया कि आप शैनन की सीमा से नीचे नहीं जा सकते।
युवल फिल्मस

11
आप हानिपूर्ण संपीड़न के साथ शैनन सीमा से नीचे जा सकते हैं । शैनन ने केवल यह दिखाया कि आप बिना जानकारी खोए सीमा से नीचे नहीं जा सकते । @YuvalFilmus। जैसे, RGB इमेज में आप R, G, B कंपोनेंट्स के लो-ऑर्डर बिट्स को फेंक सकते हैं।
smi


6
@smci कि संपीड़न सिद्धांत के बारे में किसी भी चर्चा में काफी हद तक अप्रासंगिक है। जाहिर है मैं हर बिट को फेंक सकता हूं और इसे संपीड़न कह सकता हूं।
पाइप

1
मान लीजिए कि मेरे पास एक छवि की तरह एक बड़ी फ़ाइल है। अब मॉडल में मैं पूरी छवि को "1" हा पर दिखाता हूं। मैंने शैनन सीमा के नीचे संकुचित किया है क्योंकि पूरी छवि "1" के लिए संकुचित है ......
पीटर बी।

जवाबों:


34

वास्तव में मैं पूरी तरह से इस एल्गोरिथ्म या शैनन सीमा को नहीं समझता, मुझे पता है कि यह संभावना के पारस्परिक के लॉग 2 द्वारा गुणा किए गए प्रत्येक चरित्र की संभावना का योग है।

इसमें क्रुक्स निहित है। शैनन की सीमा पाठ की एक स्ट्रिंग की कुछ सार्वभौमिक संपत्ति नहीं है। यह पाठ के एक स्ट्रिंग प्लस की संपत्ति है जो एक मॉडल (संभवतः संदर्भ-निर्भर) प्रतीकों की संभावनाएं प्रदान करता है। यह बताता है कि मॉडल कितना सही है , यह मानते हुए कि मॉडल सटीक है

यदि आप शैनन सीमा की गणना करने के लिए एक मॉडल का उपयोग करते हैं और फिर संपीड़ित करने के लिए एक अलग मॉडल, यदि दूसरा मॉडल अधिक सटीक है, तो आप अपने द्वारा गणना की गई मूल शैनन सीमा को हरा सकते हैं, लेकिन यह वास्तव में प्रासंगिक नहीं है।


4
एक व्यावहारिक उदाहरण बनाने के लिए, यदि आप जानते हैं कि आपके डेटा में एक ही अक्षर बार-बार N सम्‍मिलित है, तो आप मनमाने ढंग से बड़ी संपीडन दर (यानी 10 बिलियन 'ए' से टपल ('ए', 10000000) तक जा सकते हैं)
एंट

12

यह दिखाने के लिए सामान्य रूप से सरल है कि आप शैनन सीमा के नीचे संपीड़ित कर सकते हैं - एक धोखा कंप्रेसर लें जिसमें सामान्य फ़ाइलों का एक गुच्छा होता है जो टोकन को सौंपा जाता है। कहा फ़ाइलों को उन टोकन के रूप में संग्रहीत किया जाता है। (जाहिर है, कंप्रेसर बहुत बड़ा होना चाहिए , या एक बहुत बड़े पुस्तकालय पर आरेखण होना चाहिए।)

कंप्रेसर स्वाभाविक रूप से किसी भी फाइल से निपटने में कम कुशल होगा, जो इसमें लाइब्रेरी में नहीं है, हालांकि, यह किसी तरह से एक सामान्य संपीड़न से टोकन को अलग करना होगा।

आप जो नहीं कर सकते हैं वह एक कंप्रेसर है जो सभी फाइलों पर शैनन सीमा को हराता है ।


11

1/21/31/6plog2(1/p)

लेकिन यदि आप एक और मॉडल लागू करते हैं, तो आपको संभावनाओं का एक और क्रम मिलेगा। Fe अक्षर "u" बल्कि दुर्लभ है, इसलिए पूरे पाठ पर इसकी संभावना 3% हो सकती है, और यह संभावना है कि आपको इस पत्र को एक ऑर्डर -0 मार्कोव मॉडल का उपयोग करके असाइन करना होगा ।

लेकिन अंग्रेजी ग्रंथों में, "क्यू" के बाद आमतौर पर "यू" आता है, इसलिए ऑर्डर -1 मॉडल का उपयोग करके, आप "क्यू" के बाद "यू" के लिए बहुत अधिक संभावना प्रदान कर सकते हैं, इस प्रकार संपीड़न अनुपात में सुधार कर सकते हैं।

इसके अलावा, कुछ मॉडल इनपुट प्रतीकों की तुलना में कम प्रतीकों का उत्पादन करते हैं, फ़े LZ77 बैक-रेफ़रेंस के साथ टेक्स्ट रिपीटिशन को प्रतिस्थापित करता है, इसलिए "अबाबैब" "ab [2,8]" में बदल जाता है।

जब कोई व्यक्ति किसी विशेष मॉडल द्वारा संपीड़ित डेटा के बजाय कुछ डेटा के शैनन एन्ट्रॉपी के बारे में बात करता है, तो वह आमतौर पर ऑर्डर -0 मॉडल द्वारा निर्मित शैनन एन्ट्रापी का अर्थ है, प्रत्येक प्रतीक को पूरे पाठ पर इसकी संभावना को निर्दिष्ट करता है। जाहिर है, आप डेटा को अधिक परिष्कृत मॉडल लागू करके इस मार्जिन को हरा सकते हैं।


3

पाठ की एक और संभावित व्याख्या: दिए गए संपीड़न एल्गोरिदम आपको कुछ पाठों का बेहतर संपीड़न, और दूसरों पर बदतर संपीड़न देने जा रहा है। हालांकि, उपयोगकर्ताओं को आमतौर पर कुछ प्रकार की फाइलों (अंग्रेजी में एचटीएमएल पेज, 80386 मशीन कोड) की तुलना में दूसरों की तुलना में अधिक परवाह है (पुनरावृत्ति को कम करने के लिए चुने गए अर्थहीन यादृच्छिक संख्या के टेबल)। कोई भी कंप्रेशन स्कीम वास्तविक दुनिया के डेटा को संपीड़ित करने के साथ-साथ कुछ अन्य प्रकार के तारों को संपीड़ित करने में बेकार होने से बेहतर बनाने के लिए व्यापार करने जा रही है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.