表は、文字A〜Eを符号化したときのビット表記と、
それぞれの文字の出現確率を表したものである。
1文字当たりの平均ビット数は幾らか。
┌──┬─────┬──────┐
│文字│ビット表記│出現確率(%)│
├──┼─────┼──────┤
│ A │ 0│ 50 │
├──┼─────┼──────┤
│ B │ 10│ 30 │
├──┼─────┼──────┤
│ C │ 110│ 10 │
├──┼─────┼──────┤
│ D │ 1110│ 5 │
├──┼─────┼──────┤
│ E │ 1111│ 5 │
└──┴─────┴──────┘
ア 1.6 イ 1.8 ウ 2.5 エ 2.8
ハフマン (Huffman) 符号に関する問題である。
ハフマン符号は最も出現数の高い文字から順に
0 10 110 1110 ・・・ と符号化し、
最も出現率の低い文字の最終ビットは1、
次に出現率の低い文字の最終ビットを0として符号化する。
1文字当たりの平均ビット数を求めるには
各文字を表すビット長を出現確率で加重平均する。
1×50% + 2×30% + 3×10% + 4×5% + 4×5%
= 0.5 + 0.6 + 0.3 + 0.2 + 0.2
= 1.8
EXCEL VBAのご相談なら ファーストマクロ へ
タグ:ハフマン符号