カコモンノート

問4応用情報技術者 平成28年度 春期

4 / 80問
平成28年度 春期2016年

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」が「01+0」(ba)とも「0+10」(ac)とも読め、一意に復号できない。
  • 4は、全部2ビットの固定長で復号はできるが、平均は2ビットでウの1.7ビットより長い。

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

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