過去問解きまくり研究所 ホーム

平成28年度 春期 午前 問4

基礎理論

符号化に関する問題

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

abcd
ア010011
イ0011011
ウ010110111
エ00011011
答えと解説を見る

✓ これが正解ウ0 10 110 111

解説

読み方が一通りに決まる中で、平均が最短の割当てを選びます。

関門は二つあります。順番を間違えると必ずつまずくので、先に一つ目から片づけます。一つ目は、続けて並べたビット列を元のメッセージに戻せるかどうかです。見分け方は簡単で、どの符号も、ほかの符号の先頭になっていないことを確かめます。この条件を満たしていれば、先頭から読み進めるだけで区切りが決まります。二つ目は、符号化した後の長さです。一文字あたりの平均は、符号の長さに出現頻度を掛けて足し合わせれば出ます。この二つを満たすのが、a に 0、b に 10、c に 110、d に 111 を割り当てた案です。どの符号もほかの先頭にはなっていないので復号できますし、平均は 0.5 × 1 + 0.3 × 2 + 0.1 × 3 + 0.1 × 3 = 1.7 ビットになります。すべてを 2 ビットにそろえた案は復号できますが平均は 2.0 ビットなので、こちらのほうが短く済みます。この割当ては、出現頻度の小さいものから束ねていくハフマン符号の作り方と同じ形になっており、束ねた深さがそのまま符号の長さになっています。

ほかの選択肢はなぜ違うのか

この問題の用語

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

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)