平成28年度春期 問4 / 80

平成28年度 春期 応用情報技術者試験 午前 問4

a,b,c,d の 4 文字から成るメッセージを符号化してビット列にする方法として表のア~エの 4 通りを考えた。この表は a,b,c,d の各 1 文字を符号化するときのビット列を表している。メッセージ中での a,b,c,d の出現頻度は,それぞれ 50%,30%,10%,10% であることが分かっている。符号化されたビット列から元のメッセージが一意に復号可能であって,ビット列の長さが最も短くなるものはどれか。

a b c d
ア 0 1 00 11
イ 0 01 10 11
ウ 0 10 110 111
エ 00 01 10 11

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ウ

一意に復号できるかを確認し,できるものについて1文字当たりの平均ビット長を求めます。

  • ア: a=0,b=1,c=00,d=11
    誤り。「00」が「aa」なのか「c」なのか区別できないため,一意に復号できません。

  • イ: a=0,b=01,c=10,d=11
    誤り。「010」が「a c(0・10)」なのか「b a(01・0)」なのか区別できないため,一意に復号できません。

  • ウ: a=0,b=10,c=110,d=111
    正しい。どの符号もほかの符号の先頭部分になっていない(接頭語条件を満たす)ので一意に復号できます。平均ビット長は 1 × 0.5 + 2 × 0.3 + 3 × 0.1 + 3 × 0.1 = 1.7 ビットです。

  • エ: a=00,b=01,c=10,d=11
    誤り。一意に復号できますが,全て2ビットなので平均ビット長は2ビットとなり,ウの1.7ビットより長くなります。


答え

ウ: a=0,b=10,c=110,d=111

出典:平成28年度 春期 応用情報技術者試験 午前 問4

平成28年度春期の他の問題