การเข้ารหัส Huffman ดีที่สุดเสมอหรือไม่


9

ข้อกำหนดของการเข้ารหัสที่จะนำหน้าเป็นผลลัพธ์ฟรีในต้นไม้ขนาดใหญ่เนื่องจากต้นไม้ต้องสมบูรณ์ มีเกณฑ์ที่การจัดเก็บข้อมูลที่ไม่มีการเข้ารหัสความยาวคงที่จะมีประสิทธิภาพมากกว่าการเข้ารหัสข้อมูลหรือไม่?


โดยทั่วไป 'ไม่' สำหรับข้อมูลโดยเฉลี่ยความถี่ของตัวละครแต่ละตัวจะ> 1 และมันดีที่จะใช้การเข้ารหัส Huffman มากกว่ารหัสที่มีความยาวคงที่

@arunmoezhi คุณช่วยกรุณาอธิบายตัวอย่างที่ฉันให้ไว้ข้างต้นได้ไหม ความถี่ของตัวละครแต่ละตัวมีค่ามากกว่า 1 แต่ความยาวคงที่นั้นเหมาะสมที่สุด

ตัวอย่างนี้น่าสนใจ แต่คุณสามารถให้สถานการณ์ดังกล่าวกับความน่าจะเป็นของตัวละครแต่ละตัวแทนความถี่และตรวจสอบให้แน่ใจ

@ arunmoezhi ฉันได้รวมความน่าจะเป็นของตัวละครและพวกเขาจะเพิ่มได้ถึง 1

คำตอบ:


4

เอนโทรปีสำหรับปัญหานี้คือH(A) 1.998ทั้งการเข้ารหัส Huffman และการเข้ารหัสความยาวคงที่สำหรับปัญหานี้มีความยาว codeword avg 2ดังนี้ และ FYI การเข้ารหัสที่คุณได้ใช้การเข้ารหัส Huffman นั้นผิด การเข้ารหัส Huffman ยังสร้างรหัสที่คล้ายกับความยาวคงที่สำหรับปัญหานี้ มันใช้วิธีโลภ ดังนั้นaไม่ได้รับรหัสเป็นแต่แทนที่จะได้รับ0 00ทำใหม่บนต้นไม้ที่คุณสร้างโดยใช้ Huffman Coding ต้นไม้ที่คุณควรได้รับคือ:ป้อนคำอธิบายรูปภาพที่นี่


ขอบคุณ. คุณช่วยพิสูจน์ได้ไหมว่าการเข้ารหัส Huffman นั้นดีกว่าความยาวคงที่เสมอหรืออย่างน้อยก็แนะนำให้ฉัน

1
คุณสามารถดูได้จากIntroduction to Algorithms CLRSในบทที่ว่าการเจรจาเกี่ยวกับคุณจะได้รับการพิสูจน์อย่างเป็นทางการสำหรับgreedy algorithms Huffman algorithmมันเป็นข้อพิสูจน์ที่ยาวนานและต้องการความอดทนในการอ่าน

8

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


คุณหมายถึงอะไรโดย "ประมาณการกระจายตัวของประชากร"

3
มีการกระจายข้อความจริงตามทฤษฎีซึ่งอาจถูกส่งไปตามสมมุติฐาน ตามหลักการแล้วควรมีการเข้ารหัสแต่ละข้อความในลักษณะที่เป็นสัดส่วนกับล็อกของความน่าจะเป็น แต่เนื่องจากรหัส Huffman เป็นจำนวนบิตจำนวนเต็มซึ่งโดยปริยายจะสอดคล้องกับความน่าจะเป็นที่มีพลังของสอง ดังนั้นการประมาณ ทฤษฎีบทการเข้ารหัสของแชนนอน

8

ใช่มันเป็นสิ่งที่ดีที่สุดเสมอ

ไม่ไม่มีเกณฑ์ที่จะใช้พื้นที่น้อยกว่าในการใช้ข้อมูลที่ไม่มีการเข้ารหัสความยาวคงที่

ผมพบว่าจำนวนของการพิสูจน์บนเว็บ แต่มีการอภิปรายเพียงพอในบทความวิกิพีเดียHuffman การเข้ารหัส

นอกจากนี้ยังครอบคลุมถึงเทคนิคอื่น ๆ ที่ได้รับการบีบอัดที่สูงขึ้น (ทำงานนอกพื้นที่ที่รหัส Huffman เหมาะสมที่สุด)

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