12.6 Lempel–Ziv 符号の最適性

前節の数え上げには,情報源の確率がどこにも現れなかった.見ていたのはフレーズが相異なることだけで,どのフレーズが起こりやすいかは問わなかったからである.そのぶん結論も粗く,前節が行き着いた 系 12.5.12 が与えたのは文字あたりビットという,アルファベットだけで決まる定数の上界だけだった.本節は同じ数え上げに確率を入れる.鍵になるのは,同じ長さのフレーズは相異なるので,その確率を足してもを超えない,という一点である.確率が小さいものを多く並べるほど本数は稼げるが,そのぶんの逆数の和が大きくなる.この釣り合いを不等式にしたのが Ziv の不等式であり,文字あたりの符号長をエントロピーレートと結びつける橋になる.

フレーズの確率で数え上げを置き換える

補題 12.6.1. を空でない有限アルファベット,以上の整数とし,の空でない部分集合,上の実数値関数でのすべての元で正の値をとりを満たすものとすると

|𝑆|log2|𝑆|𝑧𝑆log21𝑔(𝑧)

である.

証明. と置き,の元をと並べる.は空でないからである.定理 1.7.1𝑏𝑖 :=𝑔(𝑧𝑖)𝑖 =1,,𝑀)に当てる.は非負,は仮定より正である.𝑖𝑎𝑖 =𝑀だから

𝑀log2𝑀𝑧𝑆𝑔(𝑧)𝑀𝑖=1log21𝑔(𝑧𝑖)

である.仮定よりだからであり,は狭義単調増加だから左辺は以上である.

形式化: group_card_mul_log_le_sum_neg_log (ソース)

形式化上の注記. 宣言の仮定は本文より弱く,部分集合が空でないことを要さない(空の場合は,左辺の要素数がで右辺が空の和になり,両辺ともである).

補題 12.6.1 は,本数と確率のやりとりをいちばん短い形で述べたものである.左辺は「相異なるものを何個並べたか」の代償であり,右辺は「それぞれがどれだけ珍しいか」の合計である.並べた個数ぶんの確率の和がを超えられない以上,個数を大きくとれば個々の確率は小さくならざるをえず,の逆数の和がそのぶん膨らむ.の上で一様で,しかも総和がちょうどの場合には,右辺の各項が左辺の個あたりのぶんに等しくなり,両辺が一致する.不等式が述べているのはこの向きだけで,一致するのがその場合に限るかどうかは言っていない.次の定理は,これを長さごとに当てる.

定理 12.6.2(Ziv の不等式). を空でない有限アルファベット,に値をとる確率変数の列,とし,の文字を並べた空でない有限列で,長さの等しいものはどの二つも相異なるものとする.どのについてもであるとし,をこれらの列の長さの集合とすると

𝑘log2𝑘𝑘𝑗=1log21Pr[(𝑋0,,𝑋|𝑠𝑗|1)=𝑠𝑗]+𝑘log2L

である.

証明. だからは空でない有限集合であり,である.各に対し,長さの全体を,その個数をと書く.長さの等しいものは相異なるから,の空でない部分集合で,である.

長さごとに 補題 12.6.1 を当てる.を固定し,に対しと置く.仮定よりのすべての元で正である.またの相異なる元に対する事象は互いに排反だから,である.補題 12.6.1 より

𝑘𝑚log2𝑘𝑚𝑧𝑆𝑚log21𝑔(𝑧)

である.列は長さによって重なりなく分類されるから,について足すと右辺はについてからまで足したものに等しく

𝑚L𝑘𝑚log2𝑘𝑚𝑘𝑗=1log21Pr[(𝑋0,,𝑋|𝑠𝑗|1)=𝑠𝑗]

を得る.

残るのは左辺との差である.に値をとる確率変数で定める(重みは非負で総和がである).定義 1.1.1 より

𝐻(𝑌)=𝑚L𝑘𝑚𝑘log2𝑘𝑚𝑘=log2𝑘1𝑘𝑚L𝑘𝑚log2𝑘𝑚

であり,個の値しかとらないから 定理 1.1.5 よりである.両辺にを掛けて移項すると

𝑘log2𝑘𝑚L𝑘𝑚log2𝑘𝑚+𝑘log2𝑑

となる.前段の不等式を入れれば主張を得る.

形式化上の注記. 定理 12.6.2 に対応する単独の宣言は無い.証明の二つの段はどちらも宣言としてあり,長さごとに 補題 12.6.1 を当てる段は同じ補題のポインタ先が,長さごとの本数を束ねる段は card_mul_log_le_sum_group_mul_log_add_card_log (InformationTheory/Shannon/LZ78/ZivLengthGrouping.lean) が一般の重みについて述べている.二つを一つにまとめた宣言は,次の 系 12.6.3 の形についてしか無い.

系 12.6.3. を空でない有限アルファベット,に値をとる確率変数の列,𝑛 1とし,S(𝑥) =(𝑠1,,𝑠𝑘)定義 12.5.1)と書く.のどのフレーズについてもであるとし,に現れるフレーズの長さの集合とすると

𝑘log2𝑘𝑘𝑗=1log21Pr[(𝑋0,,𝑋|𝑠𝑗|1)=𝑠𝑗]+𝑘log2L(𝑥)

である.

証明. だから 系 12.5.5 よりである.命題 12.5.3 よりフレーズはどの二つも相異なり,したがって長さの等しいものも相異なる.命題 12.5.4 よりどれも空列でない.仮定より周辺確率はどれも正だから,定理 12.6.2に当てればよい.

形式化上の注記. 系 12.6.3 に対応する宣言 lz78PhraseStrings_mul_log_le_sum_neg_log_marginal_add_overhead (InformationTheory/Shannon/LZ78/ZivMeasureBridge.lean) は,同じ不等式を定常情報源について述べている.本文の主張は定常性を使わないので,宣言のほうが仮定を一つ多くもつ.そのため形式化ポインタは付けない.機械検証が及んでいるのは定常情報源についての形までで,本節が以下で使うのはその範囲である.宣言では,長さのフレーズを上の関数として読み直す写像 toFinVec を経由して周辺確率を与え,和はフレーズの集合の上でとっている.命題 12.5.3 よりフレーズに重複は無いので,これは本文がについてからまで足すことと同じである.

系 12.6.3 の右辺に現れるのは,情報源が最初の文字でちょうどを出す確率である.いっぽうの途中から切り出された断片で,先頭から現れたとは限らない.この二つが噛み合うのは情報源が定常なとき(定義 3.1.1)で,そのとき窓をどこに置いても長さの並びの分布は同じだから,右辺は「その断片がどれだけ珍しいか」を場所によらずに測ったものになる.定常でない情報源に対しても 系 12.6.3 は成り立つが,右辺が測っているものは断片の出た場所と無関係になってしまう.以下で情報源に定常性を課すのは,この理由による.

不等式の読み方も見ておく.左辺の定理 12.5.7 の左辺と同じ量で,フレーズ数を長さと比べるときの主役だった.定理 12.5.7 はこれをアルファベットの大きさとだけで抑えたが,系 12.6.3 はそれを情報源の確率で抑える.第項のは,フレーズを長さごとに束ねたことの代償である.長さは以上以下だからであり,この項は以下で,ここに 系 12.5.8 の抑えを入れても,で割った値の上界は定数の水準にとどまる.代償を小さくする道は,束ねた個数で測るのをやめて,長さの分布そのもので測ることである.次の借用は,この取り替えを含んでいる.

漸近最適性

ここから先は借りる.先に見取り図を置いておく.示すことは二つに分かれる.

下からの評価,すなわち文字あたりの符号長がエントロピーレートを下回らないことは,3.5 節の Shannon–McMillan–Breiman の定理(定理 3.5.2)が,長さのブロックの確率のをエントロピーレートに寄せることから出る.そこに,Kraft の不等式(定義 4.2.4)を満たす長さの組ではその量を大きく下回る系列がまれである,という評価を合わせる(定義 12.5.9 の符号長がその不等式を満たすことは,前節のはじめに断ったとおり本書では確かめていない).

上からの評価は,系 12.6.3 の右辺を,記憶を深さで打ち切った近似の確率,すなわち次の文字が直前の文字だけで決まるとした次のマルコフ情報源の確率で読み直すところから始まる.束ね方も,長さだけで束ねるのをやめて,長さと直前の文字の対で束ねる形に細かくする.こうして束ねた組ごとに 補題 12.6.1 を当てると,で割った右辺は深さの条件付きエントロピー定義 1.2.2)に寄る.最後にを大きくすると,第3章 定理 3.2.6 よりその極限がエントロピーレートである.束ねたことの代償も,この道筋の中で消える.定理 12.6.2 の証明でと落としたところが,長さの平均で決まる上界に取り替わるからである.長さの平均はで,これは以下だから,代償はの水準に下がり,で割ったは,系 12.5.8 よりに近づくのでに向かう.平均が与えられたときのエントロピーの上界としては 定理 10.3.4 の変分上界がある.ただしここで要るのは,どの長さが現れるかによらない形の上界で,本書はそこまでは書き下さない.

見取り図のどの段も本書は書き下さない.とくに難所は,の極限と深さの極限を交換する最後の段である.

Lempel–Ziv 符号の漸近最適性を借りる. 借りるのは,をエルゴード的な定常情報源(定義 3.1.1定義 3.4.1)とすると,確率

LZ𝑛(𝑋𝑛)𝑛𝐻(X)

が成り立つ,という形である(定義 12.5.9 の符号長,𝑋𝑛 =(𝑋0,,𝑋𝑛1)定義 3.2.1 のエントロピーレートで,第3章 3.1 節も本章もの底をにとっているから単位はビットである).当てる相手は,空でない有限アルファベット上のエルゴード的な定常情報源と,定義 12.5.9 の符号長だけである.この借用に依存するのは本節の地の文と 例 12.6.4 だけで,ほかの節はこの結論を使わない.本書はこれを証明しない.骨格は 定理 12.5.7 の数え上げと 系 12.6.3 の不等式で,そこから先は,はじめに置いた見取り図のとおりである.難所として挙げた最後の段が,本書が 3.5 節でやった極限の入れ替えとは別の見積もりになるのは,打ち切りの深さと分解のフレーズ長が絡むからである.いっぽう,この定理は無条件の機械検証済みの定理として形式化されている.3.4 節の Birkhoff の定理や第8章 8.4 節の達成可能性と同じで,本書が証明を載せないことと形式化されていないことは別である.

形式化: lz78_asymptotic_optimality_with_greedy,上からの評価 lz78Greedy_achievability_ae (ソース),下からの評価 lz78Greedy_converse_ae (ソース)

形式化上の注記. 収束先の書き方だけ断っておく.本文のはビットで測ったエントロピーレートで,紐付け先の宣言もビット単位の entropyRate₂ (InformationTheory/Shannon/EntropyRate.lean) に収束すると述べている.第3章 3.2 節が紐付けている entropyRate は自然対数で測ったもので,entropyRate₂ はその定義自体が entropyRateで割ったものである.すなわち二つは同じ量を別の単位で測った別の宣言であり,本節が引くのは entropyRate₂ のほうである.

借りた定理が言っているのは,Lempel–Ziv 符号が万能だということである.ただし 定義 12.1.6 の万能符号とは,三つの点で違っている.一つめは対象で,ここだけは広げたことになる.定義 12.1.6 が族の分布だけを相手にするのに対し,借りた定理はエルゴード的な定常情報源を相手にし,文字ずつの積で書けない,記憶のある情報源もそこに入るからである.二つめは測り方で,こちらは広い狭いが決まらない.冗長度は平均符号長についての量で,借りた定理は確率での収束を述べており,どちらかがどちらかを含むわけではないからである.三つめは述べ方で,定義 12.1.6 は冗長度がに近づくことを求め,借りた定理は文字あたりの符号長がエントロピーレートに近づくことを述べる.族の分布については 補題 2.3.3例 3.2.2 より,もエントロピーレートもに等しいから,この二つの言い方は同じ内容を指している.それでいて,符号を作るのに使ったのは 定義 12.5.1 の分解だけで,情報源の分布はどこにも現れない.

比べる相手は二つある.第2章 定理 2.3.2 の符号は分布を知って作られており,定義 12.1.1 の枠組みで言えば,族が点のとき,つまり真の分布が分かっている場合にあたる.第3章 系 3.5.10 は同じ極限をエルゴード的な定常情報源まで広げたが,そこでも符号を作る側は情報源を知っている.しかもそのうち記憶のあるものは,定義 12.1.1 の族には入らない.族の分布はどれも文字ずつの積だからである.本節の符号は,どちらの場合にも情報源を知らないまま同じ極限に届く.

例 12.6.4(二つの偏ったコイン(Lempel–Ziv 符号)). 例 12.1.7 の族をとり,を一つ固定して,の i.i.d. 情報源で,エルゴード的(定義 3.4.1)であるものとする.このときがどちらであってもビットであり(例 1.1.2 の二値エントロピー),借用した Lempel–Ziv 符号の漸近最適性より,確率

LZ𝑛(𝑋𝑛)𝑛𝐻𝑏(0.1)

である.すなわち,族のどちらが真であっても,符号を取り替えずに同じ値に届く.

証明. 例 3.1.2 より i.i.d. 情報源は定常だから,仮定と合わせてはエルゴード的な定常情報源である.エントロピーレートは 例 3.2.2 よりであり,に従う.も一方の点の確率がの二値分布だから,どちらでも 例 1.1.2 よりである.値はビットである.この情報源に借用した漸近最適性を当てれば結論を得る.定義 12.5.1 の分解だけから決まる関数で,を見ずに定まっているから,どちらのに対しても当てているのは同じ符号長の組である.

形式化上の注記. 例 12.6.4 に対応する単独の宣言は無い.i.i.d. 情報源のエントロピーレートをと計算した宣言も,二値エントロピーの値を与えた宣言も無い.借用した漸近最適性そのものは機械検証されているので,足りていないのは,この情報源がその仮定を満たすことと,エントロピーレートの値の計算である.

i.i.d. 情報源がエルゴード的であることは 3.4 節が述べているが,本書はそれを証明していない.そこで 例 12.6.4 では,エルゴード性を仮定として置いた.数を並べると,この族について本章がたどった道のりが見える.例 12.1.7 では,と決めつけた符号長の組がのもとで文字あたりビットを余計に払い,何も知らないふりをして書き写す組でもビットを余計に払っていた(どちらもエントロピーからの超過分である).型による二段符号はでこれをビット以下に,混合による符号はビット以下に抑えた(例 12.2.7例 12.4.8).Lempel–Ziv 符号はどちらの分布も見ずに作られていながら,文字あたりの符号長がエントロピーレートビットに寄る,すなわち超過分がに向かう(前の四つの値は平均についてのもので,こちらは確率での収束だから,測り方は違う).

借りた定理は片側だけの主張ではない.偏りの大きい情報源では縮み,偏りの無い情報源では縮まない,という両方を含んでいる.一様な i.i.d. 情報源が(例 12.6.4 と同じくエルゴード的だとすれば)そうで,例 1.1.3例 3.2.2 よりエントロピーレートはビットだから,文字あたりの符号長はそこに落ち着く.これは各文字をそのまま書き写すのに要する長さで(の冪ならちょうど整数になる),縮んでいない.縮まないことは欠点ではない.エントロピーレートがその情報源の文字あたりの不確かさそのものだからである.

本章は,情報源の分布を知らずに符号を作る問題を二つの道筋で扱った.一方は 定義 12.1.1 の枠組みで,分布の族が与えられているところから始め,冗長度という一つの量に問題を落とし,型(12.2 節)と推定した分布(12.4 節)の二つの作り方で上から抑え,通信路容量(12.3 節)で下から抑えた.他方は本節までの二つで,族も分布も持ち出さず,一本の系列の中の繰り返しだけを見て符号を作り,それでも文字あたりの符号長がエントロピーレートに届くことを見た.前者は「どの分布が真か」を有限個の候補の中で測る問題で,後者は候補を用意しない.同じ「知らずに符号化する」でも,知らなさの測り方が違っている.

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