符号とエントロピー Entropy of codes |
瞬時復号可能な符号語は、かならず下のように木グラフの先端に割り付けられなければなりません。 左端の根っ子に単位(=1)の水量を仮定し、分岐するたびに水量を半分にして右へ流してゆきます。 すると、先端に流れ着いた水量は、その符号語の長さを
もちろん瞬時復号可能の中には、下図のように先端に符号を割り付けないものも考えられます。 このときは、符号が割り付けられた先端の総水量は1よりも小さくなります。 以上から、瞬時復号可能な符号に関して、一般に が成り立ちます。 この不等式をクラフト(Kraft
)の不等式と呼んでいます。 逆に、符号長がクラフトの不等式を満たすような符号のセットは、必ず木グラスの先端に配置することができます。 一方、各符号語の生起確率を で与えられます。 ここで、次のような問題を考えてみましょう。 符号語の個数 直感的理解のために、簡単な例で上の問題を追ってみましょう。 まず、符号の数を4個とし、符号長を としてみると、 なので、クラフトの不等式を満たしています。 先端のとり方によって、 などが該当します。 しかし、一見して、このような符号は生起確率がどうであれ、無条件に平均符号長を小さくできます。 すなわち、左図の 0100 や、右図の 0001 は、下図のように直前の分岐点へ戻す方がベターですね。 このグラフでは、すべての先端に符号が割つけられていることに注意してください。 そしてこのとき、クラフトの不等式は等式になっています。 他に、異なった構造をもつ木グラフとして下のようなものがあります。 この例題では、4つの先端すべてに符号を割り付けるグラフはこの3つのタイプ (
A と B
と C )
だけです。 これ以外は、どれかと上下対称になっていて、構造的には同じです。 先端に溜まった水量をそれぞれ、
で表すことができます。 一方、エントロピーは で与えられます。 先端のすべてに符号を割り付ける場合だけを考えてよかったので、 そして、もちろん、 が成り立っています。 以上から、この問題の回答として、次のことが期待できそうです。 条件(1)と(2)の下で、 E ≦ L 答えは”Yes” です(証明は、 無記憶情報源について、 注1: シャノンの補助定理は、任意の二つの確率分布の間に
が成り立っていることを示しています。 右辺は「Kullback-Leibler の情報量 」 とも呼ばれており、二つの確率分布の違いを測る尺度としての意味をもちます。 注2: ここでは、具体的な理解のために、非瞬時復号可能な符号を作るストーリーを進めてきました。しかし、非常に長い2値系列を考えたとき、「復号可能」ということはそれらのテーブルを記憶して読み出す作業に過ぎません。 とすれば、非常に長い2値系列のサンプルを考え、その情報量と情報源のエントロピーの関係がどうなるかを確認すればいいわけです。 実際、情報源Sから発生される2値系列がエルゴード的であれば、その2値系列の情報量を長さで割った値が情報源Sの(1記号当たりの)エントロピーに近似することが証明されます(マクミラン(McMillan )の定理)。 |