平成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