大きな確率の文字がない場合、ハフマンコードはどれくらい良いですか?
確率分布のためのハフマン符号ppp最小加重平均符号語長を有する接頭コードである∑piℓi∑piℓi\sum p_i \ell_i、ここでℓiℓi\ell_iの長さでありiii番目codword。ハフマン符号のシンボルあたりの平均長は、H(p)H(p)H(p)と間であることがよく知られている定理ですH(p)+1H(p)+1H(p)+1。ここで、H(p)=−∑ipilog2piH(p)=−∑ipilog2piH(p) = -\sum_i \, p_i \log_2 p_iは、確率分布のシャノンエントロピーです。 平均長がシャノンエントロピーをほぼ1超える標準的な悪い例は、ような確率分布{.999,.001}{.999,.001}\{.999, .001\}で、エントロピーはほぼ0で、平均コードワード長は1です。これによりギャップが生じます。エントロピーとほぼコードワード長の間111。 しかし、確率分布の最大確率に限界があるとどうなりますか?たとえば、すべての確率が1未満であるとします1212\frac{1}{2}。この場合に見つけることができる最大のギャップは、エントロピーが1よりわずかに大きく、平均コードワード長が1.5よりわずかに小さいなどの確率分布の場合です。0.5。これはあなたができる最善ですか?この場合、厳密に1未満のギャップの上限を指定できますか?{.499,.499,.002}{.499,.499,.002}\{.499, .499, .002\}0.50.50.5 ここで、すべての確率が非常に小さい場合を考えてみましょう。それぞれが確率1 / Mを持つMMM文字にわたる確率分布を選択するとします。あなたが選択した場合この場合、最大のギャップが発生したM ≈ 2 K LN 2を。ここでは、約1 + ln ln 2 − ln 2のギャップがあります。 1/M1/M1/MM≈2kln2M≈2kln2M \approx 2^k \ln 21+lnln2−ln2ln2≈0.08607.1+lnln2−ln2ln2≈0.08607. \frac{1 + \ln \ln 2 - \ln 2}{\ln 2} \approx 0.08607. これは、すべての確率が小さい状況でできる最善の方法ですか? この質問は、このTCS Stackexchange質問に触発されました。