12.1 万能符号と冗長度

第4章の符号語長は,どれも分布から作られていた.定義 4.4.1 の Shannon 符号語長はの値をそのまま見て決まり,4.6 節の Huffman 符号も同じである.符号を作る側が分布を知っていることが,そこでは前提になっていた.本章が扱うのは,その前提が外れた場合である.

分かっているのが,分布がある族のどれかであることだけで,どのが真かは符号を作る時点で決まっていない,という状況を考える.たとえば,同じ言語の文章でも文字の出現の偏りは書き手ごとに違うので,三人の書き手のうち誰が書いたかによって分布が変わる.あるいは,同じ測定を A 社の装置で行うか B 社の装置で行うかによって,雑音の出方が変わる.このとき,一つの符号長の組で,族のどの分布に対しても平均符号長をそのエントロピーの近くに保てるだろうか.族のどれが真であっても文字あたりの平均符号長がそのエントロピーに近づいていく符号がとれるなら,どの分布が真かを知らないことの代償は,長い系列に対してはほとんど払わずに済む.本節はこの問いを,近づき方を測る量を定め,その量で万能符号という語を定めるところまで形にする.

本章では対数の底をにとり,エントロピーと相対エントロピーの単位をビットで測る.本章の符号はすべて二元で,の形の量を扱うので,指数と対数の底をそろえておくと式が読みやすい.底を明示するため,以下ではと書く.エントロピー定義 1.1.1)と相対エントロピー1.6 節)もこの底で測る.対数が狭義単調増加であること(補題 8.2.5)は,以下ことわりなく使う.

符号長の組と冗長度

定義 12.1.1(情報源の族と二元の符号長の組). を空でない有限アルファベット,を空でない有限集合とし,各上の分布で全点で正であるものを与える.この対応を 情報源の族 と呼ぶ.に対し,重の積分布をと書く(第11章と同じ肩の書き方で,である).また,関数長さの符号長の組 であるとは,

𝑥X𝑛2𝑛(𝑥)1

を満たすことをいう(の場合の 定義 4.2.4 の Kraft の不等式である).

第4章の記号との重なりを断っておく.第4章は符号アルファベットの大きさを裸のと書いたが,本章はその値をに固定する.以下でと書くのは第4章の主張を引くときにその値を指定するためで,それ以外のはつねに二つの分布を引数にとる相対エントロピーである.定義 4.3.1の場合しか使わず,その値はに等しい.

長さの符号長の組は,定義 4.2.4 が置いた上の長さの組のうち,について Kraft の不等式を満たすものにほかならない.本章はこの条件をつねに付けて呼ぶので,短い名前を与えた.符号そのものではなく符号長の組を扱うのは,第4章 4.2 節と同じ理由である.Kraft の不等式を満たし,どの値も以上である長さの組には,各点でその長さをもつ二元語頭符号がとれる(定理 4.2.2)ので,符号を作る問題は長さの組を選ぶ問題に置き換わる.逆向きも押さえておく.語頭符号よりも広い一意復号可能な符号まで許しても,その符号語長は Kraft の不等式を満たす(定理 4.5.1)から,長さの組に限って考えても取りこぼしはない(同じ長さをもつ語頭符号がとれることは 系 4.5.3 が述べている).族のほうに全点で正であることを課したのは,定義 4.4.1 の Shannon 符号語長と 1.6 節の相対エントロピーを,値が無限大になる場合を場合分けせずに使うためである.を有限にとったのは,三つの場所で効くからである.一つめは 定義 12.1.5 で,族全体をわたる最悪の冗長度を最大値として書ける.二つめは 12.3 節で,この族を一つの通信路として読むときに入力アルファベットが有限であることを使う.三つめは 系 12.4.9 で,上界にが現れる.文字の偏りや装置の雑音の強さが実数の範囲を連続に動く場合のように,パラメータが連続に動く族は本章では扱わない.

定義 12.1.2(冗長度). 定義 12.1.1 の設定で,𝑛 1を長さの符号長の組,とする.における 冗長度

Δ𝑛(𝑛,𝜃):=1𝑛(𝑥X𝑛𝑃𝑛𝜃({𝑥})𝑛(𝑥)𝐻(𝑃𝑛𝜃))

で定める(定義 1.1.1 のエントロピーを分布に対して書いたもので,底はである).

括弧の中は,真の分布がであるときの平均符号長から,同じ分布のエントロピーを引いたものである.第4章 4.3 節が示したとおり,このエントロピーはどの符号長の組でも下回れない下界だったから,差は下界からの超過分を表している.それを長さで割って文字あたりに直したのが冗長度である.を引数にとっているのが要点で,一つのに対しての元の数だけ冗長度がある.万能符号を求めるとは,このすべてを同時に小さくするを求めることにほかならない.あとで見るように,符号長の組を選ぶことはある分布を信じることに対応し,冗長度の倍は,その信じ違いの大きさと,符号が場所を余らせたぶんとの和になる(補題 12.3.2).

記号を一つ断っておく.第6章 6.1 節は確率単体を裸のと書いたが,本章のはつねに添字を持ち,二つの引数をとる.このあと置くミニマックス冗長度も添字を持つ.裸のは本章に現れない.

形式化上の注記. 冗長度に対応する宣言は無い.平均符号長 expectedLength とエントロピー entropyD (InformationTheory/Shannon/ShannonCode/Basic.lean) はどちらも形式化されているが,その差をで割った量に名前を与えた宣言は無い.

命題 12.1.3. 定義 12.1.1 の設定で,𝑛 1を長さの符号長の組,とするとである.

証明. 上に分布をもつ確率変数とする.の上で定義され以上の整数値をとり,について Kraft の不等式を満たすから,定理 4.3.2に当てて

𝐻2(𝑋𝑛)𝑥X𝑛𝑃𝑛𝜃({𝑥})𝑛(𝑥)

を得る.本章は底をにとっているのでであり,差は以上である.で割っても符号は変わらない.

形式化上の注記. 命題 12.1.3 に対応する単独の宣言は無い.定理 4.3.2 の形式化 entropyD_le_expectedLength_of_kraft (InformationTheory/Shannon/ShannonCode/Basic.lean) は全点で正の分布について述べているのでにそのまま当たるが,その差をで割った冗長度の形にした宣言は無い(例 12.1.4 と同じ理由である).

冗長度が負にならないというのは,符号長の組をどう選んでも平均符号長がエントロピーを下回れない,という 定理 4.3.2 の言い換えである.したがって冗長度は,に近いほど良い符号だという読み方ができる.そのものになるのは,確率がちょうどの冪の逆数に並んでいる特別な場合に限る(定理 4.3.2 の等号条件).

分布を知っている場合と,知らずに決めつけた場合

例 12.1.4(分布を知っている場合). 定義 12.1.1 の設定でを一つ固定し,とする.上の分布について 定義 4.4.1𝐷 =2)の Shannon 符号語長

𝑛(𝑥):=log21𝑃𝑛𝜃({𝑥})

をとると,は長さの符号長の組であり

0Δ𝑛(𝑛,𝜃)<1𝑛

である.

証明. は全点で正だからも全点で正であり,定義 4.4.1 が当たる.が長さの符号長の組であることは,命題 4.4.2𝐷 =2,分布に当てればよい(値が以上の整数であることは天井関数の定義から従う).

上に分布をもつ確率変数とし,定理 4.4.4 を同じ設定に当てると

𝐻2(𝑋𝑛)𝑥X𝑛𝑃𝑛𝜃({𝑥})𝑛(𝑥)<𝐻2(𝑋𝑛)+1

である.だから,各辺からを引いてで割れば主張を得る.

形式化上の注記. 例 12.1.4 に対応する単独の宣言は無い.定理 4.4.4 の形式化 shannonCode_expected_length_bounds (InformationTheory/Shannon/ShannonCode/Basic.lean) は有限アルファベットと全点で正の分布について述べているのでにそのまま当たるが,それをで割って冗長度の形にした宣言は無い(系 4.4.6 と同じ理由である).

例 12.1.4を使って作られている.族の中の一つを狙って作った符号なので,真の分布が別ののものだったときに何が起きるかは,これだけでは分からない.次の二つの定義で,族全体をわたる最悪の冗長度を測る量を置き,そのうえで万能符号という語を定める.そのあとで実際に起きることを二つのコインで見る.

定義 12.1.5(ミニマックス冗長度). 定義 12.1.1 の設定でとする.長さミニマックス冗長度

Δ𝑛:=inf𝑛 max𝜃Θ Δ𝑛(𝑛,𝜃)

で定める.下限は長さの符号長の組の全体,最大は有限集合の上でとる.

が有限なので内側は最大値である.外側を下限で書いたのは,最小を与える符号長の組があるかどうかを言わずに済ませるためである.下限をとる値の集合は空でなく(例 12.1.4が一つの元を与える),命題 12.1.3 よりどの元も以上だから,以上の実数として定まる.が小さいということは,どのをとっても,のどの元が真であっても文字あたりの損がに収まる符号長の組がある,ということである.下限がその集合の元であるとは限らないので,を許さずに同じことは言えない.

これで,節のはじめに挙げた問いを言葉のまま述べられる.

定義 12.1.6(万能符号). 定義 12.1.1 の設定で,各に長さの符号長の組を一つずつ与えたものをと書く.これが族に対する 万能符号 であるとは,

lim𝑛 max𝜃Θ Δ𝑛(𝑛,𝜃)=0

が成り立つことをいう(定義 12.1.2 の冗長度).

最大をの上でとっているところに,この節の問いがそのまま入っている.ごとに符号を選び直してよいのなら 例 12.1.4 が答えを与えるが,そこで得たに依っており,真のを知らなければ選べない.一つので族の全体を賄う以上,測るのはいちばん悪いでの冗長度になる.命題 12.1.3 よりこの最大は以上だから,定義 12.1.6 が求めているのは,最悪の冗長度がとともにへ減っていくことである.そのような列が実際にあるかどうかは,定義からは何も出てこない.次節がそれを一つ作る.

例 12.1.7(二つの偏ったコイン). X ={0,1}とし,𝑃1(0) =0.1𝑃1(1) =0.9𝑃2(0) =0.9とする.とし,だと決めつけて 例 12.1.4 の符号長の組(分布についての Shannon 符号語長)をとると

Δ𝑛(𝑛,2)𝐷(𝑃2𝑃1)=0.8log29=2.535

ビットである.いっぽう(すべての)とおくと,も長さの符号長の組であり,どちらのについても

Δ𝑛(𝑛,𝜃)=1𝐻𝑏(0.1)=0.531

ビットである(例 1.1.2 の二値エントロピーで,である).したがってビットがすべてので成り立つ.

証明.の主張から見る.4.4 節が既知とした天井関数の性質よりだから

𝑛Δ𝑛(𝑛,2)=𝑥𝑃𝑛2({𝑥})𝑛(𝑥)𝐻(𝑃𝑛2)𝑥𝑃𝑛2({𝑥})log21𝑃𝑛1({𝑥})𝐻(𝑃𝑛2)

である.右辺でを書き下して二つの和をまとめると,1.6 節の相対エントロピーの定義そのものになり,右辺はに等しい.はどちらも全点で正だから 補題 11.4.5 よりであり(この等式は底のとり方に依らない),両辺をで割ると第の不等式を得る.値は

𝐷(𝑃2𝑃1)=0.9log20.90.1+0.1log20.10.9=(0.90.1)log29

であり,だからである.

の主張に移る.だからであり,は長さの符号長の組である.平均符号長はに依らずで,は分布の i.i.d. 情報源の長さのブロックの分布だから 補題 2.3.3 よりである.どちらのでもの一方の点の確率がだから,例 1.1.2 よりである.よってとなる.値はだからである.最後に,定義 12.1.5 の下限をとる範囲に入っており,そこでの最大はに依らずだから,である.

形式化上の注記. 例 12.1.7 は形式化されていない.例 12.1.7 に付した証明が,この主張の保証のすべてである.

決めつけの代償が,二つの意味で大きいことに注目したい.一つめはとの関係である.分布を知っていれば冗長度は未満で,を大きくすれば消える(例 12.1.4)のに対し,と決めつけたときのビットは,をいくら大きくとっても減らない.相対エントロピーが文字あたりの量として残るからである.二つめは,この代償が「何も知らないふりをする」ことよりも高くつく点である.は系列をそのままビットで書き写すだけの符号長の組で,分布についての知識を何も使っていないが,その冗長度はビットで,決めつけたときの分の以下である.この族では,間違った分布を信じるより偏りを使わないほうが良いことになる.

の冗長度がに依らないのは,この族の二つの分布のエントロピーがどちらもだからで,族の取り方に依る話である.例 12.1.7 が与えたビットという上界も,この族についてのものでしかない.次節はの上界を,族の取り方に依らない形で,しかもとともにに向かう形で与える.

InformationTheory — 形式化検証つき情報理論教科書(レビュー版).数式は MathJax + AMS Euler で事前レンダリング.