情報理論・符号理論の問題
情報源の記号 が、それぞれ確率
で出力される。この情報源に対して 元ハフマン符号(符号アルファベット )を構成するとき、 記号あたりの平均符号長 を求めよ。ただし は の確率、 は の符号語の長さである。
この問題で使うもの
- ハフマン符号(説明と入口の問題)
この問題を解けるようになるまで(23 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
ハフマン符号の構成法を使います。確率の小さい つを つにまとめる操作を繰り返しましょう。
ヒント 2
確率を分母 にそろえると ()です。まず と をまとめて にし、次に残りの中で最も小さい つを選びます。
ヒント 3
まとめる順は → → 全体となるので、符号長は です。あとは を計算します。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
ハフマン符号は、「確率の最も小さい つを つにまとめる」操作を、残りが つになるまで繰り返して作ります。まとめるたびに、まとめた つの片方に 、もう片方に を割り当てます。
比べやすいように、確率を分母 にそろえます。
手順 1:最も小さい つは と です。これをまとめて (確率 )とします。
残りは です。
手順 2:最も小さい つは と です。これをまとめて (確率 )とします。
残りは です。
手順 3:残りの つをまとめると確率 になり、終わりです。
符号語の割り当て:まとめた順と逆にたどり、 を付けていきます。
- 手順 3:、
- 手順 2:、
- 手順 1:、
よって符号長は です。符号 は、どの符号語も他の符号語の語頭(先頭部分)になっていないので、語頭符号です。(なお、符号長について とクラフトの不等式を満たしており、この符号長をもつ語頭符号が存在することとも整合しています。)
平均符号長:
ハフマン符号は語頭符号の中で平均符号長が最小になる符号なので、 がこの情報源に対する 元語頭符号の平均符号長の最小値です。
(参考)エントロピーは ビットであり、 が成り立っていることも確かめられます。
答え:
別解
確率を 20 分の何かで表すと、 である。
ハフマン法で確率の小さい 2 つを順に併合する。
1. 最小の 2 つ と を併合して を得る。
2. 残りは である。小さい 2 つ と を併合して を得る。
3. 残りは と なので、最後にこれらを併合する。
符号語の長さは が 1、 が 2、 が 3、 が 3 となる。
平均符号長は
検算として、併合で現れた確率(内部節点)の和を求める。 となり、一致する。
なお、 と の側を最初に併合する別の木(長さ 2,2,2,2 など)では平均が 2 になり、より大きいので最適ではない。