令和2年度秋期 問4 / 80

令和2年度 秋期 応用情報技術者試験 午前 問4

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

問題の図

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

正解と解説を見る

正解:ウ

この問題は「ハフマン符号化」に関連するものです。
ハフマン符号では、頻度の高い文字を短いビット列で表し、頻度の低い文字を長いビット列で表現することで、全体の平均ビット長を最小化します。


選択肢の検証

ア

  • 符号: a=0, b=1, c=00, d=11
  • 問題点: c = 00 と a = 0 の繰り返しが区別できず、一意に復号できません。
  • 結果: 不適切(一意に復号不可)

イ

  • 符号: a=0, b=01, c=10, d=11
  • 問題点: 符号化後のビット列に「00110」がある場合、
  • abc (00110)
  • aada (00110)
    の区別がつかず、一意に復号できません。
  • 結果: 不適切(一意に復号不可)

ウ

  • 符号: 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ビットで構成されており、一意に復号可能。
  • ただし、aに2ビットが割り当てられており効率が悪い。
  • 平均ビット長: 2.0
  • 結果: 不適切(ビット長が長い)

結論

最も適切な選択肢は「ウ」です。
一意に復号可能で、ビット列の長さが最短に近い方式です。


答え

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

出典:令和2年度 秋期 応用情報技術者試験 午前 問4

令和2年度秋期の他の問題