ハフマン法
意味・解説
出現頻度が高いデータには短い符号、低いデータには長い符号を割り当てて圧縮する手法。
データの統計的な性質を利用した可逆圧縮アルゴリズム。よく使われる文字には少ないビット数を、めったに出ない文字には多いビット数を与えることで、全体としてのデータ量を削減する。ZIPやJPEGの内部でも利用されている。
くわしく
ハフマン法は、情報の「偏り」を利用して効率化を図る、数学的に美しい圧縮アルゴリズムである。
1. アルゴリズムの仕組み:まずデータの出現回数を調査し、頻度の高い順に並べる。それに基づき「ハフマン木」と呼ばれる木構造を作り、各データに重複のない最適なビット列(符号)を割り当てる。
2. 圧縮の論理:例えば日本語の文章で「の」や「に」は頻出するため1ビットや2ビットで表し、めったに出ない難しい漢字には16ビットを割り当てる。これにより、文章全体を平均的に短くできる。
3. 広範な応用:この手法は、ZIP圧縮やJPEG、MP3など、現代のほぼすべての主要な圧縮形式の最終工程で組み込まれている。実務上のプログラミングでは、自分で実装することは少ないが、効率的な情報伝達の基礎理論として極めて重要である。
例文
ハフマン法を用いて、特定の英単語が頻出するログファイルを効率よく圧縮した。
同義語: ハフマン符号化
分類: データ圧縮アルゴリズム