語頭条件とは?ごとうじょうけん
語頭条件とは、どの符号語も、他の符号語の先頭部分(接頭辞)になっていないという条件。これを満たす符号は、区切り記号の無いビット列を先頭から順に読むだけで一意に復号でき、後戻りして解釈をやり直す必要がない。
最終更新:2026-10-07
この語が出る過去問を解く →背景
可変長符号は、よく出る記号に短い符号を割り当てて圧縮率を上げる。ところが長さがまちまちだと、受け取ったビット列のどこが切れ目か分からない。切れ目を示す区切り記号を挟めばその分データが増え、圧縮した意味が薄れる。符号の設計側に制約を課すことで、区切り記号なしに切れ目を判定できるようにしたのがこの条件で、ハフマン符号が実用になる前提でもある。
具体例
{0, 10, 110, 111} は語頭条件を満たし、110100 は 110/10/0 と一意に切れる。ハフマン木では符号語が必ず葉に対応し、葉が他の葉の祖先になることはないため、ハフマン符号は作り方から自動的にこの条件を満たす。
試験での引っ掛け
「符号語の長さがすべて違う」ことでも「符号語が互いに異なる」ことでもない。等長符号 {00,01,10,11} も語頭条件を満たすし、逆に {0, 01} は長さが違っても満たさない。「ハフマン符号だが語頭条件を満たさない」という選択肢は常に誤りになる。
関連用語
出た過去問
出典:平成28年度 春期 高度試験 午前Ⅰ 問2(IPA)解説で登場
a, b, c, dの4文字から成るメッセージを符号化してビット列にする方法として表のア~エの4通りを考えた。この表はa, b, c, dの各1文字を符号化する…
正解:a=0, b=10, c=110, d=111
要点:一意復号の条件は語頭条件、高頻度文字ほど短い符号にする
一意復号可能であるには、ある符号語が別の符号語の接頭辞になっていない語頭条件を満たす必要がある。語頭条件を満たすのは0/10/110/111の割当てだけで、平均符号長は1×0.5+2×0.3+3×0.1+3×0.1=1.7ビットとなる。固定長2ビットの割当てより短く、これが最短となる。
出典:令和2年度 10月試験 高度試験 午前Ⅰ 問2(IPA)解説で登場
a, b, c, dの4文字から成るメッセージを符号化してビット列にする方法として表のア〜エの4通りを考えた。この表はa, b, c, dの各1文字を符号化する…
正解:a=0, b=10, c=110, d=111
要点:語頭条件を満たし、高頻度文字ほど短い符号にすると平均長が縮む
一意に復号するには、ある符号語が他の符号語の先頭部分になっていない(語頭条件を満たす)必要がある。ア(0が00の先頭)とイ(0が01の先頭)は語頭条件を満たさず復号が一意に定まらない。残るウとエで平均符号長を計算すると、ウは0.5×1+0.3×2+0.1×3+0.1×3=1.7ビット、エは一律2ビットなので、ウが最短となる。出現頻度の高い文字へ短い符号を割り当てるハフマン符号の考え方である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。