4.4 Shannon 符号

定理 4.3.2 の等号条件は,がすべてので整数になることを要求していた.そうでない分布では,この値を整数に直さなければ符号語長にできない.いちばん素朴な直し方は切り上げである.本節はそれで作った符号を調べ,切り上げの代償が全体で高々文字であることを示す.

実数に対し,以上の最小の整数をと書き,天井関数と呼ぶ.天井関数についてが成り立つことを既知とする.この性質を使うのは,本節と 4.6 節のほか,第2章 2.3 節,第6章 6.3 節,第8章 8.4 節,第12章 12.1 節,12.2 節と 12.4 節,第13章 13.3 節と 13.6 節である.

定義 4.4.1(Shannon 符号語長). を有限アルファベット,を整数とし,を上の分布ですべてのでを満たすものとする.

ℓS(𝑥):=⌈log𝐷⁡1𝑝(𝑥)⌉

をの Shannon 符号語長 と呼ぶ.

は,第1章 1.6 節が先取りした「確率の記号には文字」という割り当てを,そのまま整数に切り上げたものである.天井関数の性質から

log𝐷⁡1𝑝(𝑥)≤ℓS(𝑥)<log𝐷⁡1𝑝(𝑥)+1

であり,記号ごとに見て高々文字の払いすぎで済んでいる(図 4.4.1).確率の小さい記号の符号語が,確率の大きい記号の符号語より短くなることもない.切り上げる前のが確率について減少しており,切り上げで大小が逆転することはないからである.

図 4.4.1. のときの Shannon 符号語長(階段)と,切り上げる前の(曲線).横軸は記号の確率で,印は例 4.4.5 のである.

形式化: shannonLength (ソース)

符号として成立すること

命題 4.4.2. を有限アルファベット,を整数とし,を上の分布ですべてのでを満たすものとする.このとき

∑𝑥∈X𝐷−ℓS(𝑥)≤1

である.

証明. であり,だからは減少する.よって

𝐷−ℓS(𝑥)≤𝐷−log𝐷⁡(1/𝑝(𝑥))=𝑝(𝑥)

である.について足し合わせると,右辺の総和はになる.◼

形式化: shannonLength_kraft_le_one (ソース)

系 4.4.3. を個以上の文字からなる有限アルファベット,を整数とし,を上の分布ですべてのでを満たすものとする.このときすべてのでであり,上の元語頭符号で,各の符号語長がに等しいものが存在する.

証明. は文字以上あり分布はすべての点で正だから,どのについてもである.よってとなり,切り上げたは以上の整数である.これと命題 4.4.2 の不等式を合わせると,定理 4.2.2 が求める語頭符号を与える.◼

形式化上の注記

系 4.4.3 に対応する単独の宣言はない.命題 4.4.2 の形式化と定理 4.2.2 の形式化を合わせた形になるが,その組み合わせを書いた宣言はない.また,Shannon 符号語長が以上であることは定理 4.2.2 の形式化が仮定として求めるところで,それを与える宣言もないので,形式化では別に要る.

挟み撃ち

定理 4.4.4. を有限アルファベット,を整数とし,を上に分布をもつ確率変数で,すべてのでを満たすものとする.このとき

𝐻𝐷(𝑋)≤∑𝑥∈X𝑝(𝑥)ℓS(𝑥)<𝐻𝐷(𝑋)+1

である.

証明. 左側は命題 4.4.2 と定理 4.3.2 から従う.よりだから,は以上の整数であり,命題 4.4.2 よりは Kraft の不等式を満たすからである.

右側を示す.天井関数の性質よりであり,を掛けて足し合わせると

∑𝑥𝑝(𝑥)ℓS(𝑥)<∑𝑥𝑝(𝑥)log𝐷⁡1𝑝(𝑥)+∑𝑥𝑝(𝑥)=𝐻𝐷(𝑋)+1

となる(は分布が載っているので空でなく,項が少なくとも一つあるから狭義の不等号が保たれる).◼

形式化: 挟み撃ち shannonCode_expected_length_bounds,上からの評価 expectedLength_shannon_lt_entropyD_add_one (ソース)

定理 4.4.4 と定理 4.3.2 を並べると,最小の平均符号長が幅文字まで決まる.下からはで押さえられ,上からは,アルファベットが文字以上ですべての記号の確率が正なら Shannon 符号語長をもつ語頭符号がとれて(系 4.4.3),その平均符号長が未満に収まる(定理 4.4.4).幅は文字で,しかもそのは切り上げから来ている.記号ごとに文字未満の払いすぎがあり,平均をとってもそれ以上にはならない,というだけのことである.

例 4.4.5(Shannon 符号は最適とは限らない). 𝐷 =2,とし,は上の一様分布に従うとする.このときがすべてので成り立ち,その平均符号長はである.一方,例 4.3.4 の長さの組,は Kraft の不等式を満たし,平均符号長はで,こちらのほうが小さい.

証明. だからを切り上げてであり,平均符号長はである.後半は例 4.3.4 で確かめた.である.◼

Shannon 符号は定理 4.4.4 の幅に収まるが,その幅の中でいちばん良いとは限らない.例 4.4.5 では,切り上げの丸め方を記号ごとに独立に決めたせいで場所が余っている.の Kraft 和はで,4.2 節の木の言葉でいえば,深さにつある場所のうちつが空いたまま残っている.例 4.3.4 の長さの組は,その空きを使って符号語を本だけ長さに縮め,和をにしている.すなわち例 4.4.5 は,記号ごとに独立に切り上げるという一つの規則が最小を与えないことを示している.どの長さの組が最小を与えるかという問いには,4.6 節が符号アルファベットが文字の場合について答える.

ブロックにまとめる

系 4.4.6. を個以上の文字からなる有限アルファベット,を整数とし,を上の分布に従う i.i.d. 情報源で,すべてのでを満たすものとする.を分布に従う確率変数とする.このとき各について,上の元語頭符号であって,の分布について定めた平均符号長が

𝐻𝐷(𝑋)≤𝐿(𝑐𝑛)𝑛<𝐻𝐷(𝑋)+1𝑛

を満たすものが存在する.

証明. の分布は上の分布で,独立性より各点の確率はの値の積だから,すべての点で正である.またである.よって系 4.4.3 をとこの分布に当てると,Shannon 符号語長を符号語長にもつ元語頭符号がとれる.定理 4.4.4 より

𝐻𝐷(𝑋𝑛)≤𝐿(𝑐𝑛)<𝐻𝐷(𝑋𝑛)+1

である.補題 2.3.3 よりであり,両辺をで割るととなる.これを代入してで割れば主張を得る.◼

形式化上の注記

系 4.4.6 に対応する単独の宣言はない.平均符号長の評価は,定理 4.4.4 の形式化を上の分布に当て,補題 2.3.3 の形式化と組み合わせれば得られるが,その組み合わせを書いた宣言はない.符号の存在のほうは系 4.4.3 を経由するので,Shannon 符号語長が以上であることが要り,それを与える宣言はない.対数の底のそろえ方(補題 2.3.3 のエントロピーは自然対数で測ってあり,は底をにとる)と,上の分布を像測度として与える手当ても,形式化では別に要る.

系 4.4.6 は第2章の結論と本章の結論をつなぐ.第2章のブロック情報源符号は誤り確率を許す代わりにレートをに近づけたが,ここでは復号がつねに成功する符号だけを使って,文字あたりの符号長をに近づけている.代償として払っているのは同じもの,すなわちブロック長を大きくとる必要である.切り上げの文字は文字で割り勘にされるので,を大きくすれば消える.

逆に,本章の符号が第2章の符号より余分に払っているものもある.符号語の長さが送るものによって変わることである.第2章のブロック情報源符号はをに写すので,出力の長さはどのブロックでも同じだった(定義 2.3.1).長さを固定したまま復号を確率で成功させようとすると,確率が正の系列どうしは相異なる番号に写らなければならず,番号は台の元の個数だけ要る.系 4.4.6 のようにすべての記号の確率が正なら台は全体だから,レートはに戻って,圧縮の余地が消える.第2章が誤りを許したのは,長さを固定したままレートを下げるためである.

情報理論入門(Lean による形式証明つき)・GitHub