第5回 情報源符号化 課題解答例

課題1

自分の姓名をローマ字で書いたものから a, i, u, e だけを抜き出し、それを表3と表4の方法で符号化したもののビット数を求めよ。ただし、導出過程も書くこと。

結果は人によって異なる。
表3の方法で符号化したもののビット数は、「文字数」x2 ビット
表3の方法で符号化したもののビット数は、「aの数」+「iの数」x2+「uの数+eの数」x3 ビット
になる。

課題2

シンボルが a, i, u, e だけの場合に情報源事象系が
\( X= \begin{bmatrix} x_a & x_i & x_u & x_e \\ 0.25 & 0.25 & 0.25 & 0.25 \end{bmatrix} \)
のとき、表4の符号での平均符号長を求めよ。また、表3と表4の符号のどちらが効率が良いか述べよ。

表4の符号では \(l_a=1, l_i=2, l_u=l_e=3\) であることを使って、

\( \begin{eqnarray} L&&=\displaystyle \sum_n p_nl_n\\ &&=0.25\times1+0.25\times2+0.25\times3+0.25\times3\\ &&=0.25\times(1+2+3+3)\\ &&=2.25 \end{eqnarray} \)

なので、平均符号長は 2.25ビット になる。
一方、表3の符号では計算するまでもなく平均符号長は2ビットで上の計算結果より小さい。よってこの情報源事象系では 表3の符号の方が効率が良い

1行目の総和のカウンタ用の変数は何でもよいが、2番目のシンボル「i」との重複を避けるためここでは \(n\) にしてある。

課題3

シンボルが a, i, u, e だけの場合に情報源事象系が
\( X= \begin{bmatrix} x_a & x_i & x_u & x_e \cr 0.8 & 0.1 & 0.05 & 0.05 \end{bmatrix} \)
のとき、表4の符号での平均符号長を求めよ。また、表3と表4の符号のどちらが効率が良いか述べよ。

表4の符号では \(l_a=1, l_i=2, l_u=l_e=3\) であることを使って、

\( \begin{eqnarray} L&&=\displaystyle \sum_n p_nl_n\\ &&=0.8\times1+0.1\times2+0.05\times3+0.05\times3\\ &&=0.8+0.2+(0.05+0.05)\times3\\ &&=1.3 \end{eqnarray} \)

なので、平均符号長は 1.3ビット になる。
一方、表3の符号では計算するまでもなく平均符号長は2ビットで上の計算結果より大きい。よってこの情報源事象系では 表4の符号の方が効率が良い

課題4

以下の符号の符号の木を描け。
シンボル 符号語
a 00
i 01
u 100
e 101
o 11


符号の木はこのようになる。


枝に寄せて書く「0」「1」とシンボル (a~o) の位置が紛らわしくならないように注意。