Kode Huffman untuk distribusi probabilitas adalah kode awalan dengan panjang codeword rata-rata tertimbang minimum , di mana adalah panjang dari kata sandi ke- . Ini adalah teorema yang terkenal bahwa panjang rata-rata per simbol kode Huffman adalah antara dan , di mana adalah entropi Shannon dari distribusi probabilitas.
Contoh buruk kanonik, di mana panjang rata-rata melebihi entropi Shannon hampir 1, adalah distribusi probabilitas seperti , di mana entropi hampir 0, dan panjang rata-rata kode kata adalah 1. Ini memberikan celah antara entropi dan panjang kode sandi hampir .
Tetapi apa yang terjadi ketika ada batasan pada probabilitas terbesar dalam distribusi probabilitas? Misalkan, misalnya, bahwa semua probabilitas kurang dari . Kesenjangan terbesar yang dapat saya temukan dalam kasus ini adalah untuk distribusi probabilitas seperti , di mana entropi sedikit lebih dari 1 dan panjang rata-rata codeword sedikit kurang dari 1,5, memberikan gap mendekati . Apakah ini yang terbaik yang dapat Anda lakukan? Bisakah Anda memberi batas atas pada celah yang benar-benar kurang dari 1 untuk kasus ini?
Sekarang, mari kita perhatikan kasus di mana semua probabilitas sangat kecil. Misalkan Anda memilih distribusi probabilitas atas huruf, masing-masing memiliki probabilitas . Dalam hal ini, kesenjangan terbesar terjadi jika Anda memilih . Di sini, Anda mendapatkan celah sekitar Apakah ini yang terbaik yang dapat Anda lakukan dalam situasi di mana semua probabilitas kecil?
Pertanyaan ini terinspirasi oleh pertanyaan TCS Stackexchange ini .
sumber
Dilihat oleh terikat, saya yakin Anda bermaksud untuk mengajukan pertanyaan yang berbeda ... atau Anda hanya tidak menentukan bagaimana Anda mengambil "rata-rata". Jadi saya akan menjawab keduanya. Jawabannya adalah tidak untuk kedua pertanyaan itu.H(p)≤…≤H(p)+1
Pertama, jika Anda menentukan panjang kode rata-rata menggunakan distribusi yang seragam di atas kata-kata kode dan menganggap sebagai batas atas pada probabilitas salah satu elemen, maka pertimbangkan kode panjang q + k di mana 2 q - 1 kata kode memiliki panjang q dan sisanya 2 q + k - 1 memiliki panjang q + k . Untuk distribusi yang dikodekan dengan sempurna oleh kode ini, panjang rata-rata mendekati q + k , kecuali jika Anda juga memiliki batas yang lebih rendah untuk probabilitas satu elemen, sedangkan entropinya adalah2−q q+k 2q−1 q 2q+k−1 q+k q+k .q+k2
Sekarang mari kita perhatikan "panjang rata-rata" yang berarti panjang codeword rata-rata ketika kode Huffman digunakan untuk kode untuk . Di sini, terikat ketat, dan distribusi contoh mencapai dalam batas adalah satu di mana setiap elemen terjadi dengan probabilitas 2 q ± 1 / 2 untuk q ∈ Z . (Elemen terakhir diberikan probabilitas sisa, tetapi tidak akan membuat perbedaan asimptotik).p 2q±1/2 q∈Z.
Sebagai contoh, pertimbangkan Laluq=7.
menghasilkanA=52,B=76. Distribusi kami memiliki52elemen dengan probabilitas2 - 6.5 ,76dengan probabilitas2 - 7.5 , dan satu elemen mendapatkan sisanya.A+B=128,A2–√+B/2–√≤128,maxA∈ZA A=52,B=76 52 2−6.5 76 2−7.5
Kemudian , sedangkan kode Raih Huffman ( 52 ⋅ 0,5 - 76 ⋅ 0,5 ) / 128 ≈ 0,99436 kehilangan entropi. (Kebetulan, kerugian entropi memiliki nama, apakah Anda melakukan pengkodean Huffman atau pengkodean sewenang-wenang untuk Q : K divergensi Kullback-Liebler D ( P ‖ Q ) = ∑ p iH(X)=(52⋅6.5+76⋅7.5)/128=7.09375 (52⋅0.5−76⋅0.5)/128≈0.99436 Q . Menggunakannya, saya menemukan beberapa hari yang lalu, mengarah ke batas Chernoff dua sisi yang lebih ketat, seperti yang dapat Anda lihat di Wikipedia untuk batas Chernoff.)D(P∥Q)=∑pilogpiqi+∑(1−pi)log1−pi1−qi
sumber