情報理論・符号理論の問題
情報源の記号 が、それぞれ確率
で出力される。この情報源に対して 2 元ハフマン符号(符号記号は )を構成するとき、1 記号あたりの平均符号長 を求めよ。
この問題で使うもの
- ハフマン符号(説明と入口の問題)
この問題を解けるようになるまで(23 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
技能「ハフマン符号」を使います。確率の小さい 2 つを 1 つにまとめる操作をくり返し、符号の木を作りましょう。
ヒント 2
最初は と をまとめて にします。各記号の符号長は、根からその記号までにまとめられた回数(木の深さ)です。
ヒント 3
まとめる順は となり、符号長は です。あとは を計算します。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
ハフマン符号は、「確率の最も小さい 2 つを 1 つにまとめる」操作を、残りが 1 つになるまでくり返して作ります。
手順 1. 確率を並べると です。最も小さい 2 つは と なので、これをまとめて確率 の節点 を作ります。
手順 2. 残りは です。最も小さい 2 つは と なので、まとめて確率 の節点 を作ります。
手順 3. 残りは の 2 つなので、これをまとめて根(確率 )とします。
符号語の割り当て. まとめるたびに、2 つの枝に と を割り当てます。例えば
となり、符号長は です(クラフトの不等式も で成り立っています)。
平均符号長.
ハフマン符号は語頭符号の中で平均符号長を最小にするので、これが最小値です。
参考(エントロピーとの比較). であり、 が確かめられます。
答え:
別解
確率は a:0.4, b:0.3, c:0.2, d:0.1。ハフマン法では確率の小さい 2 つを順に併合する。
1. d(0.1) と c(0.2) を併合 → 0.3
2. 残りは a:0.4, b:0.3, (cd):0.3。小さい 2 つ b と (cd) を併合 → 0.6
3. a(0.4) と (bcd)(0.6) を併合 → 1
このとき符号長は a:1, b:2, c:3, d:3 となる。
平均符号長は 。
手順 2 で別の組合せを選んだ場合も確認する。b(0.3) と (cd)(0.3) は同確率なので、a(0.4) と b(0.3) を併合する選択もある。この場合は 0.7 になり、これと (cd)(0.3) を併合する。符号長は a:2, b:2, c:2, d:2 となり、平均符号長は 2 である。しかしこれは最小の 2 つを併合していないので、ハフマン法の手順ではない。
実際には、手順 2 で最小の 2 つは b(0.3) と (cd)(0.3) である。a(0.4) は最小の 2 つに入らない。
検算:クラフトの不等式は で成立する。エントロピーは約 1.846 で、 なので整合している。
答えは 。