情報理論・符号理論の問題
符号アルファベットを とする 3 元符号を考える。符号長 の符号語が 個、符号長 の符号語が 個、符号長 の符号語が 個からなる語頭符号(瞬時符号)が存在するような正の整数 の最大値を求めよ。
この問題で使うもの
- 語頭符号とクラフトの不等式(説明と入口の問題)
この問題を解けるようになるまで(12 技能)
読み込み中…
右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。
ヒント
行き詰まったら、上から順に 1 つずつ開いてください。
ヒント 1
語頭符号が存在するかどうかは、クラフトの不等式 で判定できます。ここでは です。
ヒント 2
符号長ごとに個数をかけて足すと となります。
ヒント 3
分母を払うと となります。これを満たす最大の正の整数 を求めましょう。
答えと解説
答えを見る
どこでつまずきましたか?(選ぶと、戻る場所を案内します)
解説を読む
使う事実(クラフトの不等式) 符号長 の 元語頭符号が存在するための必要十分条件は
である。
手順 1:条件を式にする。 ここでは で、符号長は が 個、 が 個、 が 個なので
すなわち
手順 2:不等式を解く。 両辺に をかけて
したがって では語頭符号は存在せず、 のときは不等式(このときは等号)を満たすので存在する。
手順 3:実際に作って確かめる。 短い符号長から順に、すでに使った符号語を語頭に持たないように選ぶ。
- 長さ :
- 長さ : で始まらないもの
- 長さ : で始まらないもの
どの符号語も他の符号語の語頭になっていないので、これは語頭符号である。
よって の最大値は である。
別解
3元符号でクラフトの不等式 が語頭符号の存在条件(必要十分)である。
符号長1が2個、符号長2が2個、符号長3が 個なので
。
通分すると 、すなわち より 。
検算(木で数える):長さ1の語が2個(例: 0, 1)なので、残る長さ1の語は2のみ。2を語頭とする長さ2の語は 20, 21, 22 の3個。うち2個を符号語にすると、残り1個(例: 22)が長さ3の語の語頭になれる。22 を語頭とする長さ3の語は 220, 221, 222 の3個で、 が可能。 は不可能。
よって最大値は 3。