情報理論・符号理論の問題
情報源 は 4 個の記号 を、それぞれ次の確率で出力する。 符号記号を とする 3 元の語頭符号で の各記号を 1 個ずつ符号化するとき、1 記号あたりの平均符号長 ( は の符号語の長さ)の最小値を求めよ。
この問題で使うもの
- D 元ハフマン符号(説明と入口の問題)
この問題を解けるようになるまで(24 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
3 元ハフマン符号を使います。まず、記号数 が となるように、確率 のダミー記号を補いましょう。
ヒント 2
なのでダミー記号を 1 個補って 5 個にし、確率の小さい 3 個を 1 つにまとめる操作をくり返します。分母を にそろえると比べやすくなります。
ヒント 3
最初にまとめるのは の 3 個で、合計 です。残る をまとめると木が完成します。各記号の深さが符号長です。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
3 元ハフマン符号を作れば、平均符号長が最小の 3 元語頭符号が得られる。
手順 1:ダミー記号を補う。 3 元ハフマン符号では、毎回確率の小さい 3 個を 1 個にまとめるので、記号数は 1 回ごとに ずつ減る。最後にちょうど 3 個をまとめて 1 個にするには、記号数 が でなければならない。いまは で、 なので、確率 のダミー記号 を 1 個補って記号数を にする。
分母を にそろえると、確率は となる。
手順 2:小さい 3 個をまとめる。 いちばん小さい 3 個は , , である。これらをまとめて確率 の節点 を作る。残りは の 3 個である。
手順 3:残った 3 個をまとめる。 この 3 個をまとめると確率 の根になり、木が完成する。
手順 4:符号語を割り当てる。 根から に 、 に 、 に を割り当て、 の下で に 、 に 、 に を割り当てると、 となる(ダミー記号の符号語 は使わない)。符号長は である。
手順 5:平均符号長を計算する。
ハフマン符号は平均符号長が最小の語頭符号なので、求める最小値は である。
(参考:ダミーを補わずに の 3 個を先にまとめると、根の下に枝が 2 本しか出ず、符号長が となって と大きくなる。)
別解
3 元の語頭符号の最小平均符号長は、3 元ハフマン符号で得られる。記号数 4 は偶数で、3 元の完全木に必要な「1 + 2k 個」にならないので、確率 0 のダミー記号を 1 個加えて 5 個にする。
1. 確率の小さい 3 つ(0, 3/20, 1/5)を合併して 7/20 とする。
2. 残りは 2/5, 1/4, 7/20 の 3 つなので、これらを合併して根とする。
符号語の長さは 、 となる。
検算として、クラフトの不等式から別の長さの組を調べる。長さ 1 の語を 3 個にすると となり、4 つ目の語に長さを割り当てられない。したがって長さ 1 の語は多くても 2 個である。残り 2 個は長さ 2 以上なので、長さ が最適で、 が最小値となる。