接頭辞のないエンコーディングである必要があるため、ツリーを完成させる必要があるため、ツリーが大きくなります。データの固定長の非エンコードストレージがデータのエンコードよりも効率的であるしきい値はありますか?
一般に「いいえ」。平均的なデータの場合、各文字の頻度は1より
接頭辞のないエンコーディングである必要があるため、ツリーを完成させる必要があるため、ツリーが大きくなります。データの固定長の非エンコードストレージがデータのエンコードよりも効率的であるしきい値はありますか?
回答:
H(A)
この問題のエントロピーは1.998
です。この問題のハフマン符号化と固定長符号化の両方の平均コードワード長は2
です。また、ハフマンエンコーディングを使用して取得したコーディングは間違っています。ハフマンエンコーディングは、この問題の固定長に似たコードも生成します。それは貪欲なアプローチを使用しています。したがってa
、コードは取得しませんが、0
代わりに取得し00
ます。ハフマンコーディングを使用して生成したツリーを再加工します。あなたが得るべき木は:
ハフマンコーディングは、人口分布を2のべき乗で近似します。真の分布が2つの確率の累乗で構成されている(そして入力シンボルが完全に無相関である)場合は、ハフマン符号化が最適です。そうでない場合は、範囲エンコーディングを使用することでより適切に実行できます。ただし、入力の特定のシンボルに特定のビットのセットを割り当てるすべてのエンコーディングの中で最適です。
はい、常に最適です。
いいえ、固定長のエンコードされていないデータを使用するために使用するスペースが少なくなるというしきい値はありません。
私はウェブ上でいくつかの証拠を見つけましたが、 、ウィキペディアの記事Huffmanコーディングます。
これは、より高い圧縮を達成する他の手法もカバーします(ハフマンコードが最適である領域外での作業)。