สามารถบีบอัดข้อมูลให้มีขนาดเล็กกว่าขีด จำกัด การบีบอัดข้อมูลของแชนนอนได้หรือไม่?


17

ฉันอ่านเกี่ยวกับอัลกอริธึมการบีบอัดข้อมูลและขีด จำกัด ทางทฤษฎีสำหรับการบีบอัดข้อมูล เมื่อเร็ว ๆ นี้ฉันพบวิธีการบีบอัดที่เรียกว่า "Combinatorial Entropy Encoding" แนวคิดหลักของวิธีนี้คือการเข้ารหัสไฟล์เป็นอักขระที่แสดงในไฟล์ความถี่และดัชนีของการเปลี่ยนแปลงอักขระของไฟล์เหล่านี้

เอกสารเหล่านี้อาจช่วยอธิบายวิธีการนี้:

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. วิธีการบีบอัดที่บีบอัดไฟล์ให้เล็กกว่าขีด จำกัด Shannon เคยมีอยู่หรือไม่?

  4. หากการเข้ารหัส combinatorial บีบอัดไฟล์เกินขีด จำกัด ของแชนนอนจริงๆแล้วมันเป็นไปไม่ได้ที่จะบีบอัดไฟล์ซ้ำแล้วซ้ำอีกจนกว่าจะถึงขนาดที่เราต้องการ?


26
แชนนอนพิสูจน์ว่าคุณไม่สามารถบีบอัดต่ำกว่าขีด จำกัด แชนนอน
Yuval Filmus

11
คุณสามารถไปต่ำกว่าขีด จำกัด แชนนอนด้วยการบีบอัดแบบ lossy แชนนอนเพียงแสดงให้เห็นว่าคุณไม่สามารถบีบอัดกว่าขีด จำกัดโดยไม่สูญเสียข้อมูล @YuvalFilmus เช่นเดียวกับในภาพ RGB คุณสามารถทิ้งบิตลำดับต่ำของส่วนประกอบ R, G, B
smci

ที่เกี่ยวข้อง: cs.stackexchange.com/a/44643/26146
Quuxplusone

6
@smci ส่วนใหญ่ไม่เกี่ยวข้องในการอภิปรายเกี่ยวกับทฤษฎีการบีบอัดใด ๆ เห็นได้ชัดว่าฉันสามารถทิ้งทุกบิตและเรียกมันว่าการบีบอัด
ท่อ

1
สมมติว่าฉันมีไฟล์ขนาดใหญ่เหมือนภาพ ตอนนี้ในโมเดลฉันแมปรูปภาพทั้งหมดเป็น "1" ฮ่า .. ฉันได้บีบอัดต่ำกว่าขีด จำกัด แชนนอนเนื่องจากรูปภาพทั้งหมดถูกบีบอัดเป็น "1" ......
Pieter B

คำตอบ:


34

ที่จริงฉันไม่เข้าใจอัลกอริธึมนี้หรือขีด จำกัด แชนนอนดีมากฉันแค่รู้ว่ามันคือผลรวมของความน่าจะเป็นของตัวละครแต่ละตัวคูณด้วย log2 ของส่วนกลับของความน่าจะเป็น

ในที่นี้ปมอยู่ ข้อ จำกัด Shannon ไม่ใช่คุณสมบัติสากลของสตริงข้อความ มันเป็นคุณสมบัติของสตริงของข้อความรวมถึงรูปแบบที่มีความน่าจะเป็น (ขึ้นอยู่กับบริบท) ของสัญลักษณ์ มันบอกเราว่าดีว่ารุ่นสามารถบีบอัดข้อความสมมติว่ารูปแบบที่ถูกต้อง

หากคุณใช้รูปแบบหนึ่งในการคำนวณขีด จำกัด ของแชนนอนแล้วรูปแบบที่แตกต่างกันในการบีบอัดหากรูปแบบที่สองมีความแม่นยำมากขึ้นคุณสามารถเอาชนะขีด จำกัด แชนนอนเดิมที่คุณคำนวณได้ แต่นั่นไม่เกี่ยวข้องจริงๆ


4
เพื่อให้เป็นตัวอย่างที่ใช้งานได้จริงหากคุณรู้ว่าข้อมูลของคุณประกอบด้วยตัวอักษรซ้ำหลาย ๆ ครั้งคุณสามารถบรรลุอัตราการบีบอัดขนาดใหญ่ตามอำเภอใจ (เช่นจาก 10 พันล้าน 'a' เป็น tuple ('a', 10,000000))
Ant

12

มันง่ายมากที่จะแสดงให้เห็นว่าคุณสามารถบีบอัดให้ต่ำกว่าขีด จำกัด ของแชนนอนได้ - ใช้ตัวโกงที่มีไฟล์ทั่วไปมากมายที่กำหนดให้กับโทเค็น ไฟล์ดังกล่าวจะถูกจัดเก็บเป็นโทเค็นเหล่านั้น (เห็นได้ชัดว่าคอมเพรสเซอร์ต้องมีขนาดใหญ่มากหรือกำลังวาดอยู่ในห้องสมุดที่มีขนาดใหญ่มาก)

คอมเพรสเซอร์จะมีประสิทธิภาพน้อยกว่าในการจัดการกับไฟล์ใด ๆ ที่ไม่ได้อยู่ในไลบรารี่ของมันเนื่องจากมันจะต้องแยกโทเค็นออกจากการบีบอัดตามปกติ

สิ่งที่คุณไม่สามารถทำคือมีคอมเพรสเซอร์ที่เต้นนอนส์ จำกัดบนไฟล์ทั้งหมด


11

คุณใช้โมเดลกับข้อมูลโดยคำนวณลำดับความน่าจะเป็น fe 1/2, 1/3, 1/6. จากนั้นให้เข้ารหัสแต่ละสัญลักษณ์ด้วยความน่าจะเป็นพี, คุณต้องการ ล.โอก.2(1/พี)เกร็ด และด้วยรูปแบบที่เฉพาะเจาะจงคุณไม่สามารถบีบอัดข้อมูลได้ดีไปกว่าเอนโทรปีของความน่าจะเป็นที่ผลิตโดยโมเดลเฉพาะนี้

แต่ถ้าคุณใช้โมเดลอื่นคุณจะได้ลำดับความน่าจะเป็นอีกลำดับ เฟตัวอักษร "U" ค่อนข้างหายากดังนั้นความน่าจะเป็นของตนเหนือข้อความทั้งหมดอาจจะเป็น 3% และมันก็น่าจะเป็นที่คุณจะต้องกำหนดให้จดหมายฉบับนี้ใช้เพื่อ-0 แบบจำลองมาร์คอฟ

แต่ในตำราภาษาอังกฤษหลังจาก "q" มักจะเป็น "u" ดังนั้นเมื่อใช้แบบจำลอง order-1 คุณสามารถกำหนดความน่าจะเป็นที่สูงขึ้นให้กับ "u" ที่ตามหลัง "q" ซึ่งจะเป็นการปรับปรุงอัตราส่วนการบีบอัด

ยิ่งไปกว่านั้นบางรุ่นแสดงสัญลักษณ์น้อยกว่าอินพุต, fe LZ77 แทนที่ข้อความซ้ำด้วยการอ้างอิงกลับดังนั้น "abababab" จึงกลายเป็น "ab [2,8]"

เมื่อมีคนพูดถึงเอนโทรปีของข้อมูลบางส่วนมากกว่าข้อมูลที่ถูกบีบอัดโดยแบบจำลองเฉพาะเธอมักจะหมายถึงแชนนอนเอนโทรปีที่ผลิตโดยแบบจำลองลำดับ -0 คือกำหนดสัญลักษณ์ความน่าจะเป็นให้กับแต่ละข้อความ เห็นได้ชัดว่าคุณสามารถเอาชนะมาร์จิ้นนี้ได้โดยใช้โมเดลที่ซับซ้อนกว่านี้กับข้อมูล


3

การตีความที่เป็นไปได้อีกอย่างของข้อความ: อัลกอริทึมการบีบอัดที่กำหนดจะให้การบีบอัดข้อความที่ดีขึ้นและการบีบอัดข้อความที่แย่กว่า อย่างไรก็ตามโดยทั่วไปผู้ใช้จะใส่ใจกับไฟล์บางประเภท (หน้า HTML เป็นภาษาอังกฤษ, รหัสเครื่อง 80386) มากกว่าไฟล์อื่น ๆ (ตารางตัวเลขสุ่มอย่างแท้จริง, เสียงไร้ความหมายที่เลือกเพื่อลดการซ้ำซ้อน) รูปแบบการบีบอัดใด ๆ ที่จะทำให้การค้าดีขึ้นในการบีบอัดข้อมูลในโลกแห่งความเป็นจริงด้วยความเลวร้ายยิ่งกว่าไร้ประโยชน์ในการบีบอัดสตริงชนิดอื่น ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.