情報理論・符号理論の問題
記号 をそれぞれ確率 で、各時刻独立に出力する無記憶情報源 を考える。 の出力を 個ずつまとめたブロック( の 通り)を つの記号とみなし、この 個の記号に対して 元ハフマン符号(符号記号は )を構成する。
このとき、元の情報源 の記号 個あたりの平均符号長(ブロック 個あたりの平均符号長を で割ったもの)を求めよ。
この問題で使うもの
- ハフマン符号(説明と入口の問題)
- 独立な試行と反復試行(説明と入口の問題)
この問題を解けるようになるまで(24 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
まず 個のブロックそれぞれの確率を求め、 を単位とする整数の重みに直してからハフマンの手順を実行しましょう。
ヒント 2
重みは です。最小の つを併合する操作を繰り返します。平均符号長は「併合で生じた節点の重みの総和」としても計算できます。
ヒント 3
最初の併合は 、次は 、その次は です。最終的な符号長は となり、クラフトの和は になります。ここから平均符号長を計算し、最後に で割ります。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
ブロックの確率
各時刻の出力は独立なので、ブロックの確率は各記号の確率の積である。 を 個含むブロックの確率は であり、そのようなブロックは 個ある。 を単位として重みで書くと
となる( が 、 を 個含む ブロックが 、 を 個含む ブロックが 、 が )。
ハフマン符号の構成
重みの小さい つを繰り返し併合する。
- :残りは
- :残りは
- :残りは
- :残りは
- :残りは
- :残りは
- :根
根から木をたどると、各ブロックの符号長は次のようになる。
- ():根 の子なので長さ
- の 個: の子 個と の子 個で、いずれも長さ
- は長さ の節点で、その子 は長さ 、さらにその子 はすべて長さ
よって符号長は である。
クラフトの不等式による確認
語頭符号であることを確かめると
となり、クラフトの不等式を等号で満たす。ハフマン符号の符号木は、すべての内部節点がちょうど つの子をもつ完全な 分木なので、等号になるのは当然である。
平均符号長
ブロック 個あたりの平均符号長は
である。
別の計算法として、併合で生じた節点の重みの和 を で割っても同じ値になる。
ハフマン符号は最適な語頭符号である。同順位の併合の選び方によって符号語は変わりうるが、平均符号長はつねに同じ値になる。
したがって、元の記号 個あたりの平均符号長は
である。
参考までに、エントロピーは である。 が成り立ち、情報源符号化定理の評価と矛盾しない。
別解
ブロックの確率を を単位として表すと、 が 、 が各 、 が各 、 が である。
ハフマン法で、小さい 2 つを順に併合する。
1.
2.
3.
4.
5.
6.
7.
ブロック 1 個あたりの平均符号長は、併合で作られた節点の重みの総和を で割った値に等しい。
である。
検算として符号長を具体的に割り当てる。 は長さ 2、 は長さ 3 が 2 つと長さ 4 が 1 つ、あるいは各 3 などに分かれうるが、平均は併合の和で一意に定まる。ここでは平均が であり、ブロックのエントロピー 以上で、 未満となり整合する。
元の情報源の記号 1 個あたりでは、 ビットである。