戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

応用情報技術者 2020年 秋期 午前204


問題文

a, b, c, dの4文字から成るメッセージを符号化してビット列にする方法として表のア〜エの4通りを考えた。この表はa, b, c, dの各1文字を符号化するときのビット列を表している。メッセージ中でのa, b, c, dの出現頻度は、それぞれ50%, 30%, 10%, 10%であることが分かっている。符号化されたビット列から元のメッセージが一意に復号可能であって、ビット列の長さが最も短くなるものはどれか。
応用情報技術者 2020年 秋期 午前2 問04の選択肢の画像

選択肢

(正解)

🔒 解説は解答すると表示されます

一意復号可能符号【午前2解説】

正解の理由

候補のうち、符号列から元のメッセージが一意に復号でき(=一意復号可能で)かつ平均符号長が最も短いのは です。 の符号は a:0(長さ1)、b:10(長さ2)、c:110(長さ3)、d:111(長さ3)で、どの符号語も他の符号語の接頭辞になっていない(プレフィックス符号)ため一意復号可能です。平均符号長は で、他の「一意復号可能な」候補(エは )より短くなっています。ア・イは一意復号可能でないため除外します。

解法ステップ

  1. 「一意復号可能か」をまず判定する。プレフィックス符号(どのコード語も他のコード語の接頭辞にならない)なら自動的に一意復号可能。
  2. プレフィックス性を満たさない場合は、具体的なビット列で復号の曖昧性(複数の分割が可能か)を探す。見つかればその符号は不適。
  3. 一意復号可能と判定された候補について平均符号長 を計算する。
  4. 平均符号長が最小のものを選ぶ。

選択肢別の誤答解説

  • ア(a:0, b:1, c:00, d:11)
    • 長さ:a=1,b=1,c=2,d=2 → 平均 (短い)が、a=0 が c=00 の接頭辞になっているためプレフィックス性を満たさず、一意復号可能ではありません。実際にビット列 00 は「c」か「a」「a」のどちらの並びとも解釈でき、復号が曖昧になります(例:"c" ⇔ "aa")。
  • イ(a:0, b:01, c:10, d:11)
    • 長さ:a=1,b=2,c=2,d=2 → 平均 (短い)が、a=0 と b=01 の関係によりプレフィックス性を欠き、一意復号可能ではありません。具体例としてビット列 010 は次のように二通りに解釈できます:01|0 = b a、または 0|10 = a c。よって曖昧です。
  • ウ(a:0, b:10, c:110, d:111) ← 有効かつ最短
    • 長さ:a=1,b=2,c=3,d=3。すべての符号語が互いに接頭辞になっていない(プレフィックス符号)ため一意復号可能。平均 。この集合はハフマン符号の結果と一致し、与えられた確率で最適な(平均長が最短の)プレフィックス符号です。
  • エ(a:00, b:01, c:10, d:11)
    • 長さすべて2で平均 。プレフィックス性を満たすため一意復号可能だが、平均長は より長い。

よくある誤解

  • 「非プレフィックスなら必ず一意復号不可能」と思い込む誤り:一般にプレフィックス性がなければ直ちに不適とは限らない(理論上は非プレフィックスでも一意復号可能な例は存在する)が、本問のア・イのように接頭辞関係から具体的な曖昧な分割が作れる場合は明確に一意復号不可能となります。問題では具体的な反例を示して排除するのが確実です。
  • 平均符号長だけで選んでしまう誤り:平均長が最小でも、一意復号可能性を満たさない選択肢は不正解です。まず復号可能性を確認してください。
  • 算出ミス:確率と各符号語の長さを掛けて足す計算で小数点の扱いを誤るケースが多いので計算は慎重に。

補足コラム

  • ハフマン符号は与えられたシンボル確率に対して平均符号長を最小にするプレフィックス符号を構成します。本問でも c,d をまず結合(0.1+0.1=0.2)、次にそれを b(0.3) と結合して 0.5 にし、最後に a(0.5) と結合する手順により、符号長 1,2,3,3 の割当(= )が得られます。
  • 情報理論的下限としてエントロピー があり、今回の確率に対して

    プレフィックス符号の平均長 を満たし、 はこの範囲内で実用上ほぼ最適です。

FAQ

Q1. 「プレフィックス符号」と「一意復号可能」の違いは?
A1. プレフィックス符号は各コード語がどの他のコード語の接頭辞にもならない特別なクラスで、プレフィックス性があれば自動的に一意復号可能になります。逆は必ずしも真ではありません(非プレフィックスでも一意復号可能な例が理論上存在します)が、実務試験ではプレフィックス性で判定するのが速く確実です。
Q2. アやイは平均長が短いのになぜ選べないの?
A2. 平均長が短くても、符号列が一意に分割できなければ元の記号列を復元できません。符号の目的は「短くすること」だけでなく「復元可能であること」も必須だからです。ア・イは具体的に復号の曖昧性(例:アの 00、イの 010)が存在します。
Q3. 与えられた確率で常にハフマン符号が最適ですか?
A3. 与えられたシンボル独立の場面で平均符号長を最小化するプレフィックス符号としてハフマン符号は最適です(確率分布が整数長で割り当てられる制約下)。

関連キーワード: プレフィックス符号、平均符号長、ハフマン符号、クラフトの不等式、エントロピー
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について