4.4 Shannon 符号
定理 4.3.2 の等号条件は,log𝐷1𝑝(𝑥)がすべての𝑥で整数になることを要求していた.そうでない分布では,この値を整数に直さなければ符号語長にできない.いちばん素朴な直し方は切り上げである.本節はそれで作った符号を調べ,切り上げの代償が全体で高々1文字であることを示す.
実数𝑡に対し,𝑡以上の最小の整数を⌈𝑡⌉と書き,天井関数と呼ぶ.天井関数について𝑡 ≤⌈𝑡⌉ <𝑡 +1が成り立つことを既知とする.この性質を使うのは,本節と 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 符号語長). Xを有限アルファベット,𝐷 ≥2を整数とし,𝑝をX上の分布ですべての𝑥 ∈Xで𝑝(𝑥) >0を満たすものとする.
ℓS(𝑥):=⌈log𝐷1𝑝(𝑥)⌉を𝑥の Shannon 符号語長 と呼ぶ.
ℓSは,第1章 1.1 節が予告した「確率𝑝(𝑥)の記号にはlog𝐷1𝑝(𝑥)文字」という割り当てを,そのまま整数に切り上げたものである.天井関数の性質から
log𝐷1𝑝(𝑥)≤ℓS(𝑥)<log𝐷1𝑝(𝑥)+1であり,記号ごとに見て高々1文字の払いすぎで済んでいる.確率の小さい記号の符号語が,確率の大きい記号の符号語より短くなることもない.切り上げる前のlog𝐷1𝑝(𝑥)が確率について減少しており,切り上げで大小が逆転することはないからである.
符号として成立すること
命題 4.4.2. Xを有限アルファベット,𝐷 ≥2を整数とし,𝑝をX上の分布ですべての𝑥 ∈Xで𝑝(𝑥) >0を満たすものとする.このとき
∑𝑥∈X𝐷−ℓS(𝑥)≤1である.
証明. ℓS(𝑥) ≥log𝐷1𝑝(𝑥)であり,𝐷 >1だから𝑡 ↦𝐷−𝑡は減少する.よって
𝐷−ℓS(𝑥)≤𝐷−log𝐷(1/𝑝(𝑥))=𝑝(𝑥)である.𝑥について足し合わせると,右辺の総和は1になる.◼
系 4.4.3. Xを2個以上の文字からなる有限アルファベット,𝐷 ≥2を整数とし,𝑝をX上の分布ですべての𝑥 ∈Xで𝑝(𝑥) >0を満たすものとする.このときすべての𝑥 ∈XでℓS(𝑥) ≥1であり,X上の𝐷元語頭符号で,各𝑥の符号語長がℓS(𝑥)に等しいものが存在する.
証明. Xは2文字以上あり分布はすべての点で正だから,どの𝑥についても𝑝(𝑥) <1である.よってlog𝐷1𝑝(𝑥) >0となり,切り上げたℓS(𝑥)は1以上の整数である.これと命題 4.4.2 の不等式を合わせると,定理 4.2.2 が求める語頭符号を与える.◼
挟み撃ち
定理 4.4.4. Xを有限アルファベット,𝐷 ≥2を整数とし,𝑋をX上に分布𝑝をもつ確率変数で,すべての𝑥 ∈Xで𝑝(𝑥) >0を満たすものとする.このとき
𝐻𝐷(𝑋)≤∑𝑥∈X𝑝(𝑥)ℓS(𝑥)<𝐻𝐷(𝑋)+1である.
証明. 左側は命題 4.4.2 と定理 4.3.2 から従う.𝑝(𝑥) ≤1よりlog𝐷1𝑝(𝑥) ≥0だから,ℓS(𝑥)は0以上の整数であり,命題 4.4.2 よりℓSは Kraft の不等式を満たすからである.
右側を示す.天井関数の性質よりℓS(𝑥) <log𝐷1𝑝(𝑥) +1であり,𝑝(𝑥) >0を掛けて足し合わせると
∑𝑥𝑝(𝑥)ℓS(𝑥)<∑𝑥𝑝(𝑥)log𝐷1𝑝(𝑥)+∑𝑥𝑝(𝑥)=𝐻𝐷(𝑋)+1となる(Xは分布が載っているので空でなく,項が少なくとも一つあるから狭義の不等号が保たれる).◼
定理 4.4.4 と定理 4.3.2 を並べると,最小の平均符号長が幅1文字まで決まる.下からは𝐻𝐷(𝑋)で押さえられ,上からは,アルファベットが2文字以上ですべての記号の確率が正なら Shannon 符号語長をもつ語頭符号がとれて(系 4.4.3),その平均符号長が𝐻𝐷(𝑋) +1未満に収まる(定理 4.4.4).幅は1文字で,しかもその1は切り上げから来ている.記号ごとに1文字未満の払いすぎがあり,平均をとってもそれ以上にはならない,というだけのことである.
例 4.4.5(Shannon 符号は最適とは限らない). 𝐷 =2,X ={1,2,3}とし,𝑋はX上の一様分布に従うとする.このときℓS(𝑥) =2がすべての𝑥で成り立ち,その平均符号長は2である.一方,例 4.3.4 の長さの組ℓ(1) =1,ℓ(2) =ℓ(3) =2は Kraft の不等式を満たし,平均符号長は5/3で,こちらのほうが小さい.
証明. 𝑝(𝑥) =1/3だからlog23 =1.5849…を切り上げてℓS(𝑥) =2であり,平均符号長は13(2 +2 +2) =2である.後半は例 4.3.4 で確かめた.5/3 <2である.◼
Shannon 符号は定理 4.4.4 の幅に収まるが,その幅の中でいちばん良いとは限らない.例 4.4.5 では,切り上げの丸め方を記号ごとに独立に決めたせいで場所が余っている.ℓSの Kraft 和は3 ×2−2 =3/4で,4.2 節の木の言葉でいえば,深さ2に4つある場所のうち1つが空いたまま残っている.例 4.3.4 の長さの組は,その空きを使って符号語を1本だけ長さ1に縮め,和を1にしている.すなわち例 4.4.5 は,記号ごとに独立に切り上げるという一つの規則が最小を与えないことを示している.どの長さの組が最小を与えるかという問いには,4.6 節が符号アルファベットが2文字の場合について答える.
ブロックにまとめる
系 4.4.6. Xを2個以上の文字からなる有限アルファベット,𝐷 ≥2を整数とし,𝑋0,𝑋1,…をX上の分布𝑝に従う i.i.d. 情報源で,すべての𝑥 ∈Xで𝑝(𝑥) >0を満たすものとする.𝑋を分布𝑝に従う確率変数とする.このとき各𝑛 ≥1について,X𝑛上の𝐷元語頭符号𝑐𝑛であって,𝑋𝑛 :=(𝑋0,…,𝑋𝑛−1)の分布について定めた平均符号長が
𝐻𝐷(𝑋)≤𝐿(𝑐𝑛)𝑛<𝐻𝐷(𝑋)+1𝑛を満たすものが存在する.
証明. 𝑋𝑛の分布はX𝑛上の分布で,独立性より各点の確率は𝑝の値の積だから,すべての点で正である.また|X𝑛| =|X|𝑛 ≥2である.よって系 4.4.3 をX𝑛とこの分布に当てると,Shannon 符号語長を符号語長にもつ𝐷元語頭符号𝑐𝑛がとれる.定理 4.4.4 より
𝐻𝐷(𝑋𝑛)≤𝐿(𝑐𝑛)<𝐻𝐷(𝑋𝑛)+1である.補題 2.3.3 より𝐻(𝑋𝑛) =𝑛 𝐻(𝑋)であり,両辺をlog𝐷で割ると𝐻𝐷(𝑋𝑛) =𝑛 𝐻𝐷(𝑋)となる.これを代入して𝑛で割れば主張を得る.◼
系 4.4.6 は第2章の結論と本章の結論をつなぐ.第2章のブロック情報源符号は誤り確率を許す代わりにレートを𝐻(𝑋)に近づけたが,ここでは復号がつねに成功する符号だけを使って,1文字あたりの符号長を𝐻𝐷(𝑋)に近づけている.代償として払っているのは同じもの,すなわちブロック長𝑛を大きくとる必要である.切り上げの1文字は𝑛文字で割り勘にされるので,𝑛を大きくすれば消える.
逆に,本章の符号が第2章の符号より余分に払っているものもある.符号語の長さが送るものによって変わることである.第2章のブロック情報源符号はX𝑛を{1,…,𝑀𝑛}に写すので,出力の長さはどのブロックでも同じだった(定義 2.3.1).長さを固定したまま復号を確率1で成功させようとすると,確率が正の系列どうしは相異なる番号に写らなければならず,番号は台の元の個数だけ要る.系 4.4.6 のようにすべての記号の確率が正なら台はX𝑛全体だから,レートはlog|X|に戻って,圧縮の余地が消える.第2章が誤りを許したのは,長さを固定したままレートを下げるためである.
InformationTheory — 形式化検証つき情報理論教科書(レビュー版).数式は MathJax + AMS Euler で事前レンダリング.