応用情報暗記無料で始める

ハフマン符号とは?はふまんふごう

ハフマン符号とは、記号ごとの出現確率が分かっているとき、平均符号長が最小になる可変長符号を機械的に構成するアルゴリズム。確率の小さい二つを束ねる操作を繰り返して二分木を作るため、どの符号語も他の符号語の先頭部分にならず、区切り記号を挟まなくても受信側が一意に復号できる符号が得られる。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では2問の解説で触れられています。

応用情報技術者試験の頻出用語/テクノロジ系

別名:ハフマン符号と符号木

この語が出る過去問を解く →

背景

すべての文字に同じビット幅を割り当てていた時代は、頻出する文字も滅多に出ない文字も同じ容量を食い、回線と記憶媒体を無駄に使っていた。長さを可変にすれば縮むが、境界が分からなくなって復号できない。この「縮めたいが区切れなくなる」対立を、接頭辞にならない符号語の集合を確率だけから導くことで調停したのがハフマンの手続きである。理論値であるエントロピーにどこまで近づけるかという評価軸を持ち込んだ点で、情報量の計算とセットで問われる。

具体例

デビッド・ハフマンが1952年にMITで考案し、いまもZIPやgzipのDEFLATE、JPEGのエントロピー符号化段で使われている。A=0.5、B=0.25、C=D=0.125なら符号は0・10・110・111となり、平均符号長は0.5×1+0.25×2+0.125×3×2=1.75ビット。固定長の2ビットより12.5%短い。

試験での引っ掛け

圧縮率は最短の符号語の長さではなく、平均符号長=Σ(出現確率×符号長)で評価する。木の形は結合の順序によって複数あり得るが、そのどれを選んでも平均符号長は同じ値になる。逆に全記号の確率が等しい場合は縮まず、固定長符号と同じ長さになる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 2問の解説で触れられる
  • 分野:テクノロジ系
  • 圧縮率は最短の符号語の長さではなく、平均符号長=Σ(出現確率×符号長)で評価する。