基本情報技術者 2011年 春期 午前(科目A) 問03
問題文
表は、文字A〜Eを符号化したときのビット表記と、それぞれの文字の出現確率を表したものである。1文字当たりの平均ビット数は幾らになるか。

選択肢
ア:1.6
イ:1.8(正解)
ウ:2.5
エ:2.8
🔒 解説は解答すると表示されます
符号語の平均ビット長【午前解説】
正解の理由
与えられた符号と出現確率から平均符号長(1文字当たりの平均ビット数)を求めるには、各文字の符号長 と確率 の積を合計します。
表より各文字の符号長は A:1、B:2、C:3、D:4、E:4、確率は A:0.50、B:0.30、C:0.10、D:0.05、E:0.05 です。
したがって平均符号長は
表より各文字の符号長は A:1、B:2、C:3、D:4、E:4、確率は A:0.50、B:0.30、C:0.10、D:0.05、E:0.05 です。
したがって平均符号長は
よって選択肢は イ が正解です。
解法ステップ
- 表から各文字の符号長 を数える(A=1、B=2、C=3、D=4、E=4)。
- 出現確率を%→小数に直す(50%→0.50 等)。
- 各文字について を計算する。
- A:
- B:
- C:
- D:
- E:
- これらを合計する:。
- 得られた値と選択肢を照合し、イ を選ぶ。
選択肢別の誤答解説
- ア: 1.6 — 確率変換や符号長の数え間違い、あるいは B を誤って1ビットと扱ったなどの計算ミスが原因。正しい積和計算を行えば1.6にはなりません。
- イ: 1.8 — 正解。上記の重み付き和で一致します。
- ウ: 2.5 — 符号長の一部を誤って短く(または長く)見積もる、あるいは特定文字の確率を誤入力して誤った重み付けをしたことが考えられます。
- エ: 2.8 — 符号長の単純平均 を誤って「平均符号長」として使った典型的なミス。確率を考慮しない単純平均は問題の求める期待値と異なります。
よくある誤解
- 出現確率を%のまま扱い、 などの大きい数で計算してしまう(必ず100で割る)。
- 符号長を数え間違える(例:「10」を1ビットと誤認するなど)。
- 「平均」を無視して単純平均(符号長の算術平均)を取ってしまうと意味が異なります。
補足コラム
今回の符号は接頭辞(プレフィックス)符号になっており(0, 10, 110, 1110, 1111)、一義的に復号可能です。情報理論的に理想的には平均符号長はソースのエントロピー を下限として です。参考までにこの分布のエントロピーは
で、今回の平均長 はエントロピーに非常に近く効率の良い符号設計になっていることが分かります。
FAQ
Q1: なぜ%を小数に直す必要がありますか?
A1: 期待値は確率(0〜1)で重み付けする計算です。%はそのまま使うとスケールが100倍ずれるため、必ず100で割って小数にします。
A1: 期待値は確率(0〜1)で重み付けする計算です。%はそのまま使うとスケールが100倍ずれるため、必ず100で割って小数にします。
Q2: 符号が接頭辞であるかはどう確認しますか?
A2: どのコード語も他のコード語の先頭部分になっていなければ接頭辞符号です。今回 0 は他の先頭にならず、10 は他の先頭になりませんので接頭辞符号です。
A2: どのコード語も他のコード語の先頭部分になっていなければ接頭辞符号です。今回 0 は他の先頭にならず、10 は他の先頭になりませんので接頭辞符号です。
Q3: 平均符号長がエントロピーより小さくなることはありますか?
A3: 接頭辞符号(可変長符号)の平均長は理論上エントロピー未満にはできません。実際には符号化の粒度のためわずかにエントロピーを上回ります。
A3: 接頭辞符号(可変長符号)の平均長は理論上エントロピー未満にはできません。実際には符号化の粒度のためわずかにエントロピーを上回ります。
関連キーワード: Huffman符号、平均符号長、接頭辞符号、エントロピー、情報理論、期待値、確率変数

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

