自分の姓名をローマ字で書いたものから a, i, u, e だけを抜き出し、それを表3と表4の方法で符号化したもののビット数を求めよ。ただし、導出過程も書くこと。
結果は人によって異なる。
表3の方法で符号化したもののビット数は、「文字数」x2 ビット
表3の方法で符号化したもののビット数は、「aの数」+「iの数」x2+「uの数+eの数」x3 ビット
になる。
シンボルが 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\) にしてある。
シンボルが 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の符号の方が効率が良い。
以下の符号の符号の木を描け。
シンボル |
符号語 |
a |
00 |
i |
01 |
u |
100 |
e |
101 |
o |
11 |
符号の木はこのようになる。
枝に寄せて書く「0」「1」とシンボル (a~o) の位置が紛らわしくならないように注意。