4.3 平均符号長の下界
4.2 節で,符号を作る問題は長さの組を選ぶ問題に置き換わった.残っているのは最小化である.Kraft の不等式を満たすℓすべてにわたって∑𝑥𝑝(𝑥)ℓ(𝑥)を小さくしたい.本節はその値を下から抑える.答えはエントロピーで,しかも下界を与える道具は第1章の情報不等式ただ一つである.
符号アルファベットが𝐷文字あるので,比べる相手も底を𝐷にとったエントロピーになる.先に記号を用意する.
定義 4.3.1(底を𝐷にとったエントロピー). Xを有限アルファベット,𝐷 ≥2を整数とし,𝑋をX上に分布𝑝をもつ確率変数とする.
𝐻𝐷(𝑋):=−∑𝑥∈X𝑝(𝑥)log𝐷𝑝(𝑥)と書く.𝑝(𝑥) =0の項は定義 1.1.1 と同じく0と約束する.
log𝐷𝑡 =log𝑡/log𝐷だから𝐻𝐷(𝑋) =𝐻(𝑋)/log𝐷であり,新しい量が増えたわけではない.エントロピーを「𝐷文字を単位として測り直した」だけである.𝐷 =2ならlog𝐷 =1なので𝐻2(𝑋) =𝐻(𝑋)である.
下界
定理 4.3.2. Xを有限アルファベット,𝐷 ≥2を整数とし,𝑋をX上に分布𝑝をもつ確率変数とする.ℓ :X →{0,1,2,…}が Kraft の不等式を満たすならば
𝐻𝐷(𝑋)≤∑𝑥∈X𝑝(𝑥)ℓ(𝑥)である.等号が成り立つのは,すべての𝑥 ∈Xで𝑝(𝑥) =𝐷−ℓ(𝑥)となるとき,かつそのときに限る.
証明. 𝐾 :=∑𝑥𝐷−ℓ(𝑥)とおく.Xには分布𝑝が載っているから空ではなく,各項は正だから𝐾 >0であり,仮定より𝐾 ≤1である.𝑟(𝑥) :=𝐷−ℓ(𝑥)/𝐾とおくと,𝑟はX上の分布で,すべての𝑥で𝑟(𝑥) >0である.
差を二つの部分に分ける.定義 4.3.1 より
∑𝑥𝑝(𝑥)ℓ(𝑥)−𝐻𝐷(𝑋)=∑𝑥𝑝(𝑥)(ℓ(𝑥)+log𝐷𝑝(𝑥))=∑𝑥𝑝(𝑥)log𝐷𝑝(𝑥)𝐷−ℓ(𝑥)である(𝑝(𝑥) =0の項はどの表示でも0である).𝐷−ℓ(𝑥) =𝐾 𝑟(𝑥)を入れ,∑𝑥𝑝(𝑥) =1を使うと
∑𝑥𝑝(𝑥)ℓ(𝑥)−𝐻𝐷(𝑋)=∑𝑥𝑝(𝑥)log𝐷𝑝(𝑥)𝑟(𝑥)+log𝐷1𝐾となる.
二つの項がどちらも非負であることを見る.log𝐷𝑡 =log𝑡/log𝐷とlog𝐷 >0より
∑𝑥𝑝(𝑥)log𝐷𝑝(𝑥)𝑟(𝑥)=1log𝐷∑𝑥𝑝(𝑥)log𝑝(𝑥)𝑟(𝑥)であり,右辺の和は分布𝑝と分布𝑟の相対エントロピーだから,定理 1.6.1 より0以上である.また0 <𝐾 ≤1よりlog𝐷(1/𝐾) ≥0である.よって差は0以上で,不等式が従う.
等号を調べる.差が0になるのは二つの項がともに0のときに限る.定理 1.6.1 の等号条件より,第 1 項が0になるのは𝑝 =𝑟のとき,かつそのときに限る.第 2 項が0になるのは𝐾 =1のとき,かつそのときに限る.両方が成り立てば𝑝(𝑥) =𝑟(𝑥) =𝐷−ℓ(𝑥)である.逆にすべての𝑥で𝑝(𝑥) =𝐷−ℓ(𝑥)ならば𝐾 =∑𝑥𝑝(𝑥) =1かつ𝑟 =𝑝となり,二つの項はどちらも0になる.◼
証明の要点は一つだけである.Kraft の不等式を満たす長さの組ℓは,𝐷−ℓ(𝑥)を正規化すれば分布𝑟を作る.そして平均符号長と𝐻𝐷(𝑋)の差は,真の分布𝑝とその𝑟との隔たりに,正規化で捨てたぶんlog𝐷(1/𝐾)を足したものになる.どちらも非負なので下界が出る.第1章 1.6 節で相対エントロピーを「𝑞だと思い込んで符号化したために余計に払う符号長」と読んだが,本節はその読み方を字義どおりに実現している.長さの組ℓを選ぶことが分布𝑟を信じることに対応し,信じ違いのぶんが超過符号長の主要部になる.場所を余さず使いきったとき,すなわち𝐾 =1のときには,超過符号長は信じ違いのぶんちょうどである.
系 4.3.3. Xを有限アルファベット,𝐷 ≥2を整数とし,𝑋をX上に分布𝑝をもつ確率変数とする.X上の任意の𝐷元語頭符号𝑐について𝐻𝐷(𝑋) ≤𝐿(𝑐)である.
証明. 𝑐の符号語長をℓとする.定義 4.1.1 より符号語は空でないからℓ(𝑥) ≥1であり,定理 4.2.1 より∑𝑥𝐷−ℓ(𝑥) ≤1である.よってℓは Kraft の不等式を満たし,定理 4.3.2 より𝐻𝐷(𝑋) ≤∑𝑥𝑝(𝑥)ℓ(𝑥) =𝐿(𝑐)を得る.◼
例 4.3.4(三つの記号が等確率のとき). 𝐷 =2,X ={1,2,3}とし,𝑋はX上の一様分布に従うとする.Kraft の不等式を満たすどのℓ :X →{0,1,2,…}についても,定理 4.3.2 の等号は成り立たない.一方,ℓ(1) =1,ℓ(2) =ℓ(3) =2は Kraft の不等式を満たし,その平均符号長は5/3である.下界𝐻2(𝑋) =log3との差は0.0817…である.
証明. 定理 4.3.2 の等号条件は,すべての𝑥で𝑝(𝑥) =2−ℓ(𝑥)となることを要求する.ここで𝑝(𝑥) =1/3であり,ℓ(𝑥)が整数であるかぎり2−ℓ(𝑥)が1/3になることはないから,等号は成り立たない.
後半は計算である.2−1 +2−2 +2−2 =1だからℓは Kraft の不等式を満たし,平均符号長は13(1 +2 +2) =53である.例 1.1.3 より𝐻(𝑋) =log3で,𝐷 =2だから𝐻2(𝑋) =log3 =1.5849…であり,5/3 =1.6666…との差が0.0817…になる.◼
定理 4.3.2 が言っているのは「Kraft の不等式を満たすどの長さの組でも,平均符号長は𝐻𝐷(𝑋)を下回れない」ことだけで,𝐻𝐷(𝑋)に届く符号があるとは言っていない.等号が成り立つのは,確率がちょうど𝐷の冪の逆数に並んでいるという特別な場合に限る(例 4.1.4 がそれで,例 4.3.4 はそうでない).一般にはlog𝐷(1/𝑝(𝑥))を整数に丸めるぶんだけ損をする.その損が高々1文字で収まることを,すべての記号の確率が正である場合について次節で示す.そこで作る長さの組を符号として実現するには,アルファベットが2文字以上であることも要る.
InformationTheory — 形式化検証つき情報理論教科書(レビュー版).数式は MathJax + AMS Euler で事前レンダリング.