| a | b | c | d | |
|---|---|---|---|---|
| ア | 0 | 1 | 00 | 11 |
| イ | 0 | 01 | 10 | 11 |
| ウ | 0 | 10 | 110 | 111 |
| エ | 00 | 01 | 10 | 11 |
a,b,c,d の 4 文字から成るメッセージを符号化してビット列にする方法として表のア〜エの 4 通りを考えた。この表は a,b,c,d の各 1 文字を符号化するときのビット列を表している。メッセージ中での a,b,c,d の出現頻度は,それぞれ 50%,30%,10%,10%であることが分かっている。符号化されたビット列から元のメッセージが一意に復号可能であって,ビット列の長さが最も短くなるものはどれか。
ウ. a: 0,b: 10,c: 110,d: 111
ハフマン符号化のように、まず「一意に復号できるか(ある符号が別の符号の接頭辞になっていない=語頭条件を満たすか)」を確認し、次に出現頻度を重みにした平均ビット長を比べて最短のものを選ぶ問題である。ウは 0/10/110/111 でどの符号も他の符号の先頭に現れず一意復号可能で、平均長は 0.5×1+0.3×2+0.1×3+0.1×3=1.7 ビットとなり、固定長(各2ビット=平均2ビット)のエより短く、最も効率がよいので正解はウである。
応用情報技術者試験 平成28年度春期 午前 の過去問一覧へ戻る・問4