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

語頭条件を満たし、高頻度文字ほど短い符号にすると平均長が縮む

頻出高度試験・午前I(全区分共通)2020年度 10月試験2/テクノロジ系 / 基礎理論

a, b, c, dそれぞれの符号化ビット列を示す表。列見出しはa, b, c, d、行見出しはア〜エ。ア: a=0, b=1, c=00, d=11。イ: a=0, b=01, c=10, d=11。ウ: a=0, b=10, c=110, d=111。エ: a=00, b=01, c=10, d=11。
a, b, c, dそれぞれの符号化ビット列を示す表。列見出しはa, b, c, d、行見出しはア〜エ。ア: a=0, b=1, c=00, d=11。イ: a=0, b=01, c=10, d=11。ウ: a=0, b=10, c=110, d=111。エ: a=00, b=01, c=10, d=11。
abcd
010011
0011011
010110111
00011011

選択肢

正解と解説

正解: a=0, b=10, c=110, d=111

一意に復号するには、ある符号語が他の符号語の先頭部分になっていない(語頭条件を満たす)必要がある。ア(0が00の先頭)とイ(0が01の先頭)は語頭条件を満たさず復号が一意に定まらない。残るウとエで平均符号長を計算すると、ウは0.5×1+0.3×2+0.1×3+0.1×3=1.7ビット、エは一律2ビットなので、ウが最短となる。出現頻度の高い文字へ短い符号を割り当てるハフマン符号の考え方である。

選択肢ごとの解説

出典:令和2年度 10月試験 高度試験・午前I(全区分共通) 問2(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。