情報理論・符号理論の問題
情報源記号 がそれぞれ確率
で独立に発生する無記憶情報源がある。この情報源の各記号に、符号アルファベット の語を符号語として割り当てる 3 元の瞬時符号(どの符号語も他の符号語の接頭語にならない符号)を考える。このような符号の平均符号長(1 記号あたりの符号語の長さの期待値)の最小値を求めよ。
この問題で使うもの
- D 元ハフマン符号(説明と入口の問題)
この問題を解けるようになるまで(24 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
平均符号長が最小の瞬時符号はハフマン符号で得られる。3 元の場合は毎回 3 個ずつまとめる。
ヒント 2
3 個ずつまとめると節点数は 2 ずつ減るので、記号数は奇数でなければならない。6 個なので確率 0 のダミー記号を 1 個加える。確率は分母 24 にそろえて重み で考えるとよい。
ヒント 3
最初の併合は をまとめて 、次は をまとめて 、最後に をまとめる。各記号の深さ(符号長)を読み取り、確率との積を足す。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
確率をすべて分母 でそろえると、 の重みは (単位 )である。
瞬時符号の平均符号長の最小値は、ハフマン符号によって達成される(ハフマン符号の最適性)。そこで 3 元ハフマン符号を作る。
ダミー記号の追加 3 元ハフマン符号では、毎回 3 個の節点を 1 個にまとめるので、まとめるたびに節点の数は 減る。最後に節点がちょうど 1 個になるには、最初の記号数 が を満たす必要がある。 は偶数なので、確率 のダミー記号 を 1 個加えて 7 個にする。重みは となる。
併合の手順
- 小さい 3 つ ()をまとめて にする。残り:
- 小さい 3 つ (、先の併合節点、)をまとめて にする。残り:
- 残り 3 つをまとめて (根)にする。
符号長 根からの深さが符号長なので
(ダミー も長さ だが確率 なので平均には寄与しない)。
これらの長さはクラフトの不等式
を満たしており、確かにこの長さの 3 元瞬時符号が存在する(ダミーを含めると和はちょうど )。
平均符号長
(検算: 平均符号長は併合でできた節点の重みの和に等しく、 となり一致する。)
よって求める最小値は である。
別解
3 元ハフマン符号が最適なので、これで平均符号長の最小値を求める。記号数 6 は 3 元木が完全になる個数(奇数)ではないので、確率 0 のダミー記号を 1 つ加えて 7 個にする。
1. 確率の小さい 3 つ を併合して を得る。
2. 残りは 。小さい 3 つ を併合して を得る。
3. 残りは 。この 3 つを併合して になる。
平均符号長は、併合で作られた内部節点の確率の和に等しい。
検算として符号長から直接計算する。符号長は が 1、 が 2、 が 3 となる。
したがって最小値は である。