情報理論・符号理論の問題
情報源記号 を、それぞれ確率
で発生する記憶のない情報源がある。各情報源記号に、符号アルファベット の記号列(空でないもの)からなる符号語を つずつ割り当て、どの符号語もほかの符号語の接頭語にならないようにする( 元の瞬時符号)。
このような符号のうち、情報源記号 個あたりの平均符号長 ( は の符号語の長さ)の最小値を求めよ。
この問題で使うもの
- D 元ハフマン符号(説明と入口の問題)
- 語頭符号とクラフトの不等式(説明と入口の問題)
この問題を解けるようになるまで(24 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
元ハフマン符号を作ります。 個ずつまとめる操作で最後にちょうど 個が残るよう、記号の個数を調整する必要があるか考えましょう。
ヒント 2
回まとめるごとに個数は 減るので、個数が奇数になるように確率 のダミー記号を 個加えます。確率を 倍して として計算すると楽です。
ヒント 3
1 回目は をまとめて 、2 回目は をまとめて になります。残り 個を根でまとめ、各記号の深さ(符号長)を読み取りましょう。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
元ハフマン符号は、確率の小さい 個を つにまとめる操作を繰り返して符号の木を作る。最後にちょうど 個が残って根でまとまるためには、記号の個数 が を満たす必要がある( 回まとめるごとに個数が ずつ減るから)。 はこれを満たさないので、確率 のダミー記号 を 個加えて 個にする。このとき 元ハフマン符号は 元瞬時符号の中で平均符号長が最小になる(ダミー記号は確率 なので平均符号長に寄与しない)。
計算しやすいように確率を 倍した重みで書くと、
1 回目. 小さい 個 をまとめて重み の節点 を作る。残りは 。
2 回目. 小さい 個 と重み の 個( または 。どちらを選んでも平均符号長は同じ)をまとめて重み の節点 を作る。ここでは を選ぶ。残りは 。
3 回目. 残った 個をまとめて根(重み )とする。
符号長は、根からの深さとして
- :深さ 、
- が深さ なので :
- が深さ なので :
となる。たとえば , , , , , ( はダミー記号用で使わない)とすればよい。クラフトの不等式を確かめると
で、確かに瞬時符号が存在する。
平均符号長は
(別の確かめ方)平均符号長は、作った内部節点の重みの和を全体の重みで割ったものに等しい:。2 回目で を選んだ場合も内部節点の重みは で変わらないので、最小値は である。
(参考)エントロピーによる下界は
で、 と矛盾しない。
別解
3 元の最適な瞬時符号は 3 元ハフマン符号。記号数 6 は偶数なので、確率 0 のダミー記号を 1 つ加えて 7 個にする。確率を 単位で並べると 。
1. 小さい 3 つ を併合 → 。残り: 。
2. 小さい 3 つ を併合 → 。残り: 。
3. 3 つを併合 → 。
平均符号長 内部節点の確率の和 。
符号長: は 1、 は 2、 は 3。。クラフト和 で成立。
下界の確認: エントロピー(3 を底)は約 程度で、 はこれ以上であり矛盾しない。