ハフマン符号化と確率が同じ場合での平均符号長の違い[情報理論]

はじめに

こんにちは、ぽたです。今回は、ハフマン符号化した場合に何パターンか作れる場合ありますよね。平均符号長の長さは同じなのかと気になったので考えてみました。

スポンサーリンク

ハフマン符号化とは

ハフマン符号化とは、確率が大きいもの、出てきやすいものの符号長を短く、出てきにくいものの符号長を長くすることによって全体の符号長を小さくするという符号化です。

ハフマン符号化された符号はハフマン符号と呼ばれますが、これは現代でも画像の圧縮などにも使われるので、有用性のある符号です。現在、圧縮するといわれるとファイルとか写真とかを思い浮かべるとおもいますが、大体利用されていたりします。簡単かつ効果絶大な符号になっています。

符号化のやり方

ハフマン符号化のやり方は簡単です。確率が求まっていた場合、小さい確率のものを二つ取り出し、足し算しながら符号を作っていくやり方です。実際にやってみます。例えば、

このように4つ符号があった場合を考えてみましょう。英字は符号で横の分数は確率になっています。これをハフマン符号化すると、

と、4つ符号が出てきました。小さい確率のものから足し算していくと、このような形で符号化できます。

平均符号長

上から平均符号長を出してみましょう。平均符号長の定義として、

ただし、pは確率、lはその符号の長さです。

確かに、符号の長さに、その確率を掛算してすべて足してあげると、全体の符号長出そうですよね。それでは上の符号を例にして平均符号長を計算してみましょう。

より、平均符号長は2とわかります。今回はすべて符号長が2だったので簡単にイメージでもわかります。

スポンサーリンク

面白い点、疑問点

上の符号化をしているとき、少し疑問に感じませんでしたか?

同じ確率が3つある場合、どれか2つを選んで確率を足し算することになります。その場合って個々の符号の長さは変わってきます。その場合、どうなるんだ?と思っていました。一緒に考えてみましょう。例えば、

このように計算した場合、別の符号が出てきます。先ほどはすべての符号長が2だったのに対して、今回は符号長の長さが3のものが二つ、符号長の長さが2,1のものが一つずつあります。

この場合の平均符号長を計算してみると、

となるため、平均符号長は2で変わりません

それはそうですよね。1/3のときの足し算のパターンが違うだけですが、その時にどれに符号長1を追加しても答えは変わるわけないです。

スポンサーリンク

まとめ

今回考えてわかったこととして、

  • 確率が同じものが複数ある場合、符号長が異なったり符号自体が異なったりすることがある。
  • どのように考えても平均符号長は同じ
  • ハフマン符号化は簡単かつ強い

です。実は少し友達に聞かれたのでまとめてみました。参考になれば幸いです。院試に関係することをたくさんまとめているのでぜひ見ていってください。

それではまた、ぽたでした。

コメント

タイトルとURLをコピーしました