DE-C09情報Ⅰ 対策問題

コミュニケーションと情報デザインデジタル化計算特訓

出現頻度が偏った4文字を、固定長(2ビットずつ)ではなくハフマン法(平均1.6ビット)で符号化した。1000文字のデータで節約できるビット数はどれか。

解答・解説を見る

正解: 1

正答

1

この問題のポイント

圧縮の効果を差で計算する を問う問題です。「基準(固定長)-圧縮後」という比較の型を身につけます。

解説

圧縮の効果は、圧縮しなかった場合(固定長)を基準に置き、圧縮後との差を取ることで数値化できます。4種類の文字を固定長で区別するには2ビット必要(2²=4)、という前提も式に入っています。

手順どおり計算します。

  1. 固定長の総ビット数 = 2ビット × 1000文字 = 2000ビット。
  2. ハフマン法の総ビット数 = 平均1.6ビット × 1000文字 = 1600ビット。
  3. 節約できたビット数 = 2000 - 1600 = 400ビット
  4. 割合で言えば 400 ÷ 2000 = 20%の削減。

「平均1.6ビット」は、出現頻度の高い文字に短い符号を与えた結果、1文字あたり平均でこの長さになる、という期待値的な値です。「平均符号長 × 文字数 = 総ビット数」という計算に慣れておきましょう。

共通テストの圧縮計算は、まさにこの「固定長なら何ビット → 圧縮後は何ビット → 差(または割合)はいくら」という比較形式で出題されます。問われているのが「差」なのか「圧縮後の総量」なのか「削減率」なのかを、最後に確認してから答えを選びましょう。

選択肢の確認

1.○ 2000 - 1600 = 400ビットの節約(20%削減)。
2.× 200ビットは、差の計算や桁の処理を誤った値。
3.× 1600ビットはハフマン法での総ビット数であり、「節約できた量」ではない。
4.× 40ビットは桁を1つ間違えた値。

ここだけは覚えよう

節約量=固定長の総ビット数-圧縮後の総ビット数 — 総ビット数は平均符号長×文字数で求める。

関連問題

DE-C08DE-C10