表は,文字A~Eを符号化したときのビット表記と,それぞれの文字の出現確率を表したものである。
1文字当たりの平均ビット数は幾らか。
表/文字|ビット表記|出現確率(%)/A|0|50/B|10|30/C|110|10/D|1110|5/E|1111|5
正答2
解説
正解は2です。
1文字当たりの平均ビット数は、各文字のビット長にその出現確率を掛けた値の合計で求めます。
出現確率の高い文字ほど短い符号を割り当てると、平均ビット数が小さくなります。
【計算】
Aのビット長は1、出現確率は0.5なので、1×0.5=0.5です。
Bのビット長は2、出現確率は0.3なので、2×0.3=0.6です。
Cのビット長は3、出現確率は0.1なので、3×0.1=0.3です。
Dのビット長は4、出現確率は0.05なので、4×0.05=0.2です。
Eのビット長は4、出現確率は0.05なので、4×0.05=0.2です。
合計は0.5+0.6+0.3+0.2+0.2=1.8ビットです。
【選択肢別解説】
1:× 1.6ビットは計算結果の1.8ビットと一致しません。
確率の掛け方や項の数え落としがあると、このような値になります。
2:○ 上の計算のとおり、平均ビット数は1.8ビットです。
3:× 2.5ビットは、出現確率で重み付けした計算結果の1.8ビットと一致しません。
4:× 2.8ビットは、出現確率を考えずにビット長を単純平均した値です。
出現確率で重み付けする必要があります。
【ポイント】
平均符号長は「ビット長×出現確率」の総和です。
ハフマン符号のように、よく出る文字に短い符号を割り当てると平均符号長が短くなります。