カコモンノート

問4応用情報技術者 令和2年度 10月

4 / 80問
令和2年度 10月2020年

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

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 3

解説

正解は3。一意に復号できるかをまず調べ、残った方式で平均符号長を比べる。ウ(a=0、b=10、c=110、d=111)はどの符号もほかの符号の先頭部分になっていない(語頭条件を満たす)ので、一意に復号できる。平均符号長は 0.5×1+0.3×2+0.1×3+0.1×3=1.7ビット。

  • 1のアは、「00」がaaなのかcなのか区別できず、一意に復号できない。
  • 2のイは、「010」がa,c(0|10)ともb,a(01|0)とも読めて、一意に復号できない。
  • 4のエは、全て2ビットの固定長で復号はできるが、平均符号長は2.0ビットでウより長い。

根拠:語頭条件(プレフィックス符号)と平均符号長=Σ(出現確率×符号長)。

KEY POINT
一意復号の判定は語頭条件で。満たす符号同士は出現確率×符号長の合計(平均符号長)で比べる。
出典:令和2年度 10月 応用情報技術者試験 午前 問4(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。元の問題冊子から文字を起こす都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。