この問題では、情報理論における「情報量」と「効率的な符号化」の概念が問われています。情報量が小さい(出現頻度が高い)記号には短いビット列を、情報量が大きい(出現頻度が低い)記号には長いビット列を割り当てることで、全体のビット列の長さを短くすることができます。これは、ハフマン符号化などの可逆圧縮アルゴリズムの基本原理です。
2016年度 春期 ITサービスマネージャ 午前I 問2
a, b, c, dの4文字から成るメッセージを符号化してビット列にする方法として表のア~エの4通りを考えた。この表はa, b, c, dの各1文字を符号化するときのビット列を表している。メッセージ中でのa, b, c, dの出現頻度は、それぞれ50%, 30%, 10%, 10%であることが分かっている。符号化されたビット列から元のメッセージが一意に復号可能であって、ビット列の長さが最も短くなるものはどれか。
| | a | b | c | d |
|---|---|---|---|---|
| ア | 0 | 1 | 00 | 11 |
| イ | 0 | 01 | 10 | 11 |
| ウ | 0 | 10 | 110 | 111 |
| エ | 00 | 01 | 10 | 11 |
選択肢
解説
結論 → 詳細 → 補足 の 3 層構成
展開閉じる
解説
結論 → 詳細 → 補足 の 3 層構成
まず、各選択肢の平均ビット長を計算します。出現頻度と符号のビット長を掛け合わせ、それらを合計したものが平均ビット長となります。
アは、a(50%)に1ビット、b(30%)に1ビット、c(10%)に2ビット、d(10%)に2ビットを割り当てています。平均ビット長は (0.50*1) + (0.30*1) + (0.10*2) + (0.10*2) = 0.50 + 0.30 + 0.20 + 0.20 = 1.20 ビットとなります。
イは、a(50%)に1ビット、b(30%)に2ビット、c(10%)に2ビット、d(10%)に2ビットを割り当てています。平均ビット長は (0.50*1) + (0.30*2) + (0.10*2) + (0.10*2) = 0.50 + 0.60 + 0.20 + 0.20 = 1.50 ビットとなります。
ウは、a(50%)に1ビット、b(30%)に2ビット、c(10%)に3ビット、d(10%)に3ビットを割り当てています。平均ビット長は (0.50*1) + (0.30*2) + (0.10*3) + (0.10*3) = 0.50 + 0.60 + 0.30 + 0.30 = 1.70 ビットとなります。
エは、a(50%)に2ビット、b(30%)に2ビット、c(10%)に2ビット、d(10%)に2ビットを割り当てています。平均ビット長は (0.50*2) + (0.30*2) + (0.10*2) + (0.10*2) = 1.00 + 0.60 + 0.20 + 0.20 = 2.00 ビットとなります。
これらの中で最も平均ビット長が短くなるのは、アの1.20ビットです。しかし、問題文では「一意に復号可能」であることも条件となっています。一意に復号可能とは、あるビット列を元のメッセージに一意に変換できる性質のことです。これは、ある記号の符号が、他の記号の符号の接頭辞になっていない(接頭辞コードである)必要があります。
アは、aの符号"0"がcの符号"00"の接頭辞になっているため、一意に復号できません。例えば、ビット列"00"があった場合、aなのか、それともcの最初の"0"なのか区別がつきません。
イは、aの符号"0"がbの符号"01"の接頭辞になっていないため、一意に復号できません。
ウは、a="0", b="10", c="110", d="111"となっており、どの記号の符号も他の記号の符号の接頭辞になっていません。このため、一意に復号可能です。平均ビット長は1.70ビットです。
エは、a="00", b="01", c="10", d="11"となっており、どの記号の符号も他の記号の符号の接頭辞になっていません。このため、一意に復号可能です。平均ビット長は2.00ビットです。
一意に復号可能でビット列の長さが最も短くなるのは、ウとなります。
この解説は AI 生成です(詳細)
解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。
AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。
解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
分野「基礎理論」の学習ポイント
この問題の理解を「分野全体の力」に広げるための足がかり
- 何が問われるか
- 2進数・論理演算・確率・統計など、IT全般の土台となる数学・離散構造の理解度。
- 学習の進め方
- 公式の暗記ではなく、ビット表現や真理値表を「手で書ける」状態を作る。例題を3パターン以上手で解いて感覚化する。
- 関連キーワード
- 2進数論理演算シフト演算誤差確率情報量
この問題を AI と深掘りする
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
共有
ショート動画
関連する問題
基礎理論 の他の問題
- ITサービスマネージャ2009年度 秋期 午前I 問12進数の表現で、2の補数を使用する理由はどれか。
- ITサービスマネージャ2009年度 秋期 午前I 問2誤り検出方式である CRC に関する記述として、適切なものはどれか。
- ITサービスマネージャ2009年度 秋期 午前I 問3n個の要素x1,x2,…,xから成る連結リストに対して、新たな要素 xm+1の末尾への追加に要する時間をf(n) とし、末尾の要素x』の削除に要する時間をg(n) とする。 n が非常に大きいとき、実装方法 1 と実装方法2におけるf(n)g(n)の挙動として、適切なものはどれか…
- ITサービスマネージャ2009年度 秋期 午前I 問62台のプリンタがあり、それぞれの稼働率が0.7と0.6である。この2台のいずれか一方が稼働していて、他方が故障している確率は幾らか。ここで、2台のプリンタの稼働状態は独立であり、プリンタ以外の要因は考慮しないものとする。
- ITサービスマネージャ2010年度 秋期 午前I 問1後置表記法(逆ポーランド表記法)では、例えば、式 Y=(A-B)×C を YAB-Cx=と表現する。次の式を後置表記法で表現したものはどれか。 Y=(A+B)×(C-(D÷E))