13.3 複雑性とエントロピー

13.2 節までのは一つの自然数についての量で,分布はどこにも現れなかった.いっぽう第2章から第12章までに得た圧縮の限界は,どれも分布から作ったエントロピーで書かれている.二つは測っている相手が違うので,並べただけでは比べられない.本節は,分布の情報源が出した長さのブロックにを当て,その平均を文字あたりに直したものがに近づくことを示す.分布についての量と,一本の系列についての量が,そこで同じ値を指す.

そのためにまず,ブロックに自然数の番号を与えなければならない.定義 13.1.4 のとおり自然数についての量なので,の元をそのまま渡せないからである.番号づけを置いたあと,上からの評価を第12章の型による二段符号から,下からの評価を 定理 13.2.1 の数え上げと第2章の典型集合から作り,二つを挟み撃ちにする.最後に,個々のブロックについて何が言えるかを見る.

以下,を空でない有限アルファベット,上の全点で正の分布とし,第2章 2.1 節と同じ設定でを分布の i.i.d. 情報源,と書く.重の積分布はと書く(第11章と同じ肩の書き方で,である).エントロピー定義 1.1.1)は,第12章と同じく分布に対して書く.すなわちのエントロピーであり,単位は 13.1 節で断ったとおりビットである.

ブロックに番号をつける

定義 13.3.1(ブロックの番号). を空でない有限アルファベットとし,の文字にの番号を一つずつ与えて固定して,文字に与えた番号をと書く(からへの全単射である).に対し

𝑥:=𝑛1𝑖=0𝑐(𝑥𝑖)|X|𝑖

と定める.

第10章は内積を,二つの引数をとると書いたが,本章のはつねに引数を一つとり,有限の対象を自然数に写す符号化を表す.は,の第文字の番号を第桁とする進の数にほかならない.たとえばと番号を与えれば,を下の桁から読んだ二進の数である.番号づけを一つ固定したのは,の値がの文字の並べ方に依るからで,以下では固定したについての値をいう.

形式化: encodeBlock (ソース)

命題 13.3.2. を空でない有限アルファベット,とし,定義 13.3.1 のとおりとする.このときの上で単射であり,どのについてもである.

証明. 上界から示す.どの文字についてもだから,各項をで抑えて足すと隣り合う項が打ち消し合い

𝑥𝑛1𝑖=0(|X|𝑖+1|X|𝑖)=|X|𝑛1

となる.

単射性に移る.進表示にほかならないから,下の桁から一つずつ剥がせばもとのに戻る.これをについての帰納法で書く.のときはで,が単射だからからが定まる.のときは,定義 13.3.1 の和から第項を外してでくくると𝑥 :=(𝑥1,,𝑥𝑛1) X𝑛1)であり,未満だから,で割った余り,はその商としてから定まる.が単射だからが定まり,帰納法の仮定からが定まる.

形式化: 単射性 encodeBlock_injective,上界 encodeBlock_lt (ソース)

命題 13.3.2 の上界は,番号づけが場所を無駄にしていないことを言っている.長さのブロックは個あり,それがちょうど以上未満の自然数に重なりなく収まっている.したがっての二進表示の長さはあまりで,ブロックをそのまま書き写すのに要る長さと変わらない.番号づけそのものは何も圧縮していないということで,圧縮は次の 命題 13.3.3 から始まる.

型による記述

第12章 定義 12.2.1 は,系列を「まず型を送り,次に型類の中の位置を送る」二段の形で書いたときの長さをと置いた.記号を一つ引いておく.実数に対する天井関数,すなわち以上の最小の整数と,その性質は,第4章 4.4 節で既知としたとおりに本節でも使う.の型を,長さの型の型類を(どちらも 定義 11.1.1)と書くと,その長さは

T𝑛(𝑥)=|X|log2(𝑛+1)+log2T𝑛(ˆ𝑃𝑥)

である.第項が型を指すための長さ,第項が型類の中の位置を指すための長さで,どちらも分布を持ち出さずに系列だけから決まる.だからはそのまま機械への指示に写せる.写した先で 定理 13.1.7 を当てれば,の上界が定数の払いで手に入る.

命題 13.3.3(型による記述の上界). を空でない有限アルファベットとし,定義 13.3.1定義 12.2.1 の型による二段符号の符号長とする.このとき定数があって,すべてのとすべてのについて

𝐾U(𝑥𝑛)T𝑛(𝑥)+𝜉

が成り立つ.

証明. から,長さのビット列を組み立てる.と置く(定義 12.2.1 の第項である).

型を書く桁を作る.各文字について定義 2.4.1)は以上以下の整数だから,を第桁とする進の数

𝑢:=𝑎X𝑁(𝑎𝑥)(𝑛+1)𝑐(𝑎)

を作ると,命題 13.3.2 の上界と同じ打ち消しによりである.いっぽう,自然数についてであることとであることとは同値だから,を満たす最小の自然数にほかならない.とくにだから,桁の二進表示で書ける(桁が足りなければ先頭をで埋める).

型類の中の位置を書く桁を作る.の型を,その型類を(どちらも 定義 11.1.1)と書くとである.命題 13.3.2 よりの上で単射だから,の元をの値の小さい順に一列に並べられる.その並びでのの位置をとするとであり,と置くとだから,桁の二進表示で書ける.

二つをつなぐ.を,桁と桁をこの順に並べた長さのビット列とし,の先頭にを置いた長さのビット列とする.先頭がだから,定義 13.1.2 よりが表す自然数の二進表示はそのものであり,からが読み取れる.

復元する手続きを書き下す.を,かつのとき,型を読む・型類を並べる・位置を拾うの三段で次のように定める.型を読むところでは,の二進表示から先頭のを落とした列をとし,を満たす最小の自然数を,と順に試して求める.そのようなはあるのでこの探索は必ず停止し,求まる値は,上で見たとおりの式のに替えたにほかならない.続けて,の先頭桁を二進表示として読んだ自然数進の下の桁に開き,第桁を文字の個数と読む.型類を並べるところでは,$a \mapsto (\text{の個数})/y$ が長さの型(定義 11.1.1)であることを使い,その型類の元をの値の小さい順に一列に並べる.位置を拾うところでは,の残りの桁が表す自然数をその並びでの位置として,そこにあるをとりを返す.以上のどこかで形が合わなければ,は値を持たないとする.この対応は有限個の場合分けと有限回の繰り返し,および必ず停止する探索で書き下せているから,Church–Turing のテーゼより部分計算可能であり,定義 13.1.3 の意味で機械である.

作り方からである.定理 13.1.7 をこのに当てて定数をとると

𝐾U(𝑥𝑛)|𝑠|+𝜉0=T𝑛(𝑥)+1+𝜉0

である.だけで決まり,にもにも依らないから,と置けば主張を得る.

形式化上の注記. 命題 13.3.3 に対応する,一般のアルファベットについての単独の宣言は無い.二値の場合については,型を書く長さと,その系列の型の二値エントロピーを倍したものを直に足した形の上界が condComplexity_bool_block_le (InformationTheory/Shannon/Kolmogorov/Incompressible.lean) にある.一般のアルファベットについては condComplexity_block_typical_le (InformationTheory/Shannon/Kolmogorov/EntropyRate.lean) があるが,こちらは上界の形が違う.抑える相手を強典型集合(定義 2.4.1)の上に限ったうえで,系列ごとの型のエントロピーではなく,情報源の真のエントロピーに典型性の幅を足したものを倍した形で抑えており,型を書く長さにあたる項は,そこに重ねた長さに比例する余裕のほうに吸収されている.しかも可測性と全点正値性を課した情報源を置いた設定の中で,十分大きいについてだけの主張である.命題 13.3.3 のほうは分布を持ち出さず,すべてのとすべてのについて述べている.

命題 13.3.3 の定数は一つに決まらない.不等式を満たす自然数が一つあれば,それより大きい自然数もみな満たすからである.以下では,そのようなものを一つとって固定し,と書く.

条件にを置いたことに注意したい.この記述は,長さを知っている相手に向けて書かれている.長さを知らなければ,型の桁がどこで終わるかも,型類をどう並べるかも決まらないからである.を書き添える手もあるが,本節はを条件として渡す形をとり,条件を外したについては何も述べない.

平均は両側からエントロピーに寄る

長さのブロックは有限個で,命題 13.1.6 よりどのも有限だから,の平均

𝔼[𝐾U(𝑋𝑛𝑛)]=𝑥X𝑛𝑝𝑛({𝑥})𝐾U(𝑥𝑛)

は有限個の項の和である.これをで割った量が本節の主役で,上からは 命題 13.3.3第12章が,下からは 定理 13.2.1第2章が抑える.

補題 13.3.4. を空でない有限アルファベット,上の全点で正の分布とし,第2章 2.1 節と同じ設定でを分布の i.i.d. 情報源,とする.定義 13.3.1命題 13.3.3 の定数の一つとすると,すべてのについて

1𝑛𝔼[𝐾U(𝑋𝑛𝑛)]𝐻(𝑝)+|X|log2(𝑛+1)+2+𝜉𝑛

である(定義 1.1.1 のエントロピー).

証明. 第12章の族の設定を,一つの分布に潰して使う.点集合とし,と置くと,は空でない有限集合では全点で正だから,これは 定義 12.1.1 の情報源の族である.が全点で正であることは 定義 12.1.1 が族に課す条件であり,本補題の仮定でもある.積分布はである.

とする.定理 12.2.4 をこの族のに当てると,定義 12.1.2 より

1𝑛(𝑥X𝑛𝑝𝑛({𝑥})T𝑛(𝑥)𝐻(𝑝𝑛))|X|log2(𝑛+1)+2𝑛

である.は分布の i.i.d. 情報源の長さのブロックの分布だから,補題 2.3.3 よりである.これを移項して

1𝑛𝑥X𝑛𝑝𝑛({𝑥})T𝑛(𝑥)𝐻(𝑝)+|X|log2(𝑛+1)+2𝑛

を得る.

命題 13.3.3 の不等式にを掛けてについて足す.重みは非負で総和がだから

𝔼[𝐾U(𝑋𝑛𝑛)]𝑥X𝑛𝑝𝑛({𝑥})T𝑛(𝑥)+𝜉

である.両辺をで割り,上の評価を入れると主張を得る.

形式化上の注記. 補題 13.3.4 の形の宣言は無い.形式化が持つのは,任意のについて十分大きいで平均が以下になるという形の kolmogorov_entropy_rate_upper (InformationTheory/Shannon/Kolmogorov/EntropyRate.lean) で,本文が書いたについての明示的な速さは含んでいない.

下からの評価に移る.上からの評価が符号を一つ作って見せたのに対し,下からの評価は符号を作らない.短い記述は本数が限られているという 定理 13.2.1 の数え上げと,実際に現れるブロックはどれも確率がの近くにあるという 定理 2.2.4 を,そのまま突き合わせる.

補題 13.3.5. を空でない有限アルファベット,上の全点で正の分布とし,第2章 2.1 節と同じ設定でを分布の i.i.d. 情報源,とする.定義 13.3.1 とすると,任意のについて,が十分大きければ

1𝑛𝔼[𝐾U(𝑋𝑛𝑛)]𝐻(𝑝)𝜀

である(定義 1.1.1 のエントロピー).

証明. とする.のときは,以上だから左辺が以上で,右辺は以下であり,主張は成り立つ.以下とする.

失う量を先に割り振っておく.から引かれるのは次の三つで,そのそれぞれを以下に抑える.

  1. 典型集合に置く幅.
  2. 記述が短いほうへ数え落とす確率にを掛けたもの.これはさらに,が典型集合を外れる分と,典型集合に入ったうえで記述が短い分とに割れるので,を掛けたものをどちらも以下にする.を選ぶのは後者のためで,がその確率の上界になる.
  3. 記述の長さの下限にとる整数の端数.

割り振りに合わせて三つの数を選ぶ.と置くとである.自然数を満たすようにとる.そしてに対し,を満たす自然数の全体を考える.だから,が十分大きければがこれを満たしてこの集合は空でなく,しかもが上界だから,最大の元をもつ.それをと書く.以下そのようなだけを見る.とり方から

𝑘𝑛+𝑚𝑛(𝐻(𝑝)𝜀1)<𝑘𝑛+1+𝑚

である(右側はが上の集合に入らないことによる).

典型集合の上で,記述の短いブロックの確率を抑える.定義 2.2.1 の典型集合とする.命題 13.3.2 よりの上で単射だから,を満たすの個数は,を満たす自然数の個数以下であり,定理 13.2.1 よりより小さい.いっぽうなら 定理 2.2.4 よりである.二つを掛け合わせ,を使うと

Pr[𝑋𝑛𝑇(𝑛)𝜀1 かつ 𝐾U(𝑋𝑛𝑛)<𝑘𝑛]2𝑘𝑛2𝑛(𝐻(𝑝)𝜀1)2𝑚

である.

記述が短くない確率を下から抑える.事象は,が典型集合に入らない場合と,入ったうえで記述が短い場合に分かれるから

Pr[𝐾U(𝑋𝑛𝑛)𝑘𝑛]Pr[𝑋𝑛𝑇(𝑛)𝜀1]2𝑚

である.定理 2.2.3 よりだから,が十分大きければにできる.

平均を下から抑える.以上で以上だから,の側の項を落として

𝔼[𝐾U(𝑋𝑛𝑛)]𝑘𝑛Pr[𝐾U(𝑋𝑛𝑛)𝑘𝑛]

である.だから,右辺をで割った値は

𝑘𝑛𝑛𝑘𝑛𝑛(1Pr[𝐾U(𝑋𝑛𝑛)𝑘𝑛])𝑘𝑛𝑛𝐻(𝑝)((1Pr[𝑋𝑛𝑇(𝑛)𝜀1])+2𝑚)

以上である.いまのとり方と直前の段から,右端の括弧にを掛けたものは以下である.またのとり方の右側の不等式よりだから,となるまで大きくとれば,全体は以上である.

形式化: kolmogorov_entropy_rate_lower (ソース)

定理 13.3.6(複雑性とエントロピー). を空でない有限アルファベット,上の全点で正の分布とし,第2章 2.1 節と同じ設定でを分布の i.i.d. 情報源,とする.定義 13.3.1 とすると

1𝑛𝔼[𝐾U(𝑋𝑛𝑛)]𝐻(𝑝)(𝑛)

である(定義 1.1.1 のエントロピー).

証明. とする.補題 13.3.5 より,が十分大きければ左辺は以上である.

上からは 補題 13.3.4を与える.この第項はに収束する.本章の底で読むと 補題 11.2.2 よりであり,に依らない有限の数だからその倍もに収束し,に収束するからである.よってが十分大きければ左辺は以下である.

二つの「十分大きい」の大きいほうをとれば,それ以上のについて左辺との差はより大きくならない.

形式化: kolmogorov_entropy_rate (ソース)

形式化上の注記. 形式化の上半は,強典型集合(定義 2.4.1)の上と外に平均を分け,それぞれを別の上界で抑えて組み立てており,本文が引く 定理 12.2.4 は使っていない.下半は本文と同じく,記述の短い対象の数え上げと典型集合(定義 2.2.1)による.保証しているのは定理の正しさであって,紙の証明手順の一致ではない.

定理 13.3.6 が,本節のはじめに述べた二つの量を結んでいる.左辺は,情報源が実際に出した一本のブロックを,分布を知らない機械に書き出させる長さの平均である.右辺は,分布だけから決まる量である.第2章の情報源符号化定理も同じ値を両側から挟んだが,あちらの符号は分布を知って作られていた.こちらのは分布を一度も見ていない.それでも文字あたりの長さは同じところへ行く.

分布を見ないことの代償は 補題 13.3.4 の右辺に出ている.右辺がを超える分はを足したもので,前半は第12章 定理 12.2.4 が型による二段符号に与えた冗長度の上界そのもの,後半が,機械を一つ固定して一本の系列を測るようにしたぶんである.|X| =2なら,前半は第12章 例 12.2.7 が計算したビットで,後半はビットである.

をどう思えばよいかを書いておく.命題 13.3.3 の証明のとおり 定理 13.1.7 の定数から来ており,定理 13.1.7 の証明が与える定数は,当てた機械に番号づけが与えた番号にを足したものだった.命題 13.3.3 の証明はそれにさらにを足すので,は,型と型類から系列を復元する手続きに番号づけが与えた番号にを足した値でとれる.すなわち,番号づけの中でこの復元器が早い番号を持てばは小さく,遅い番号しか持たなければ大きい.どの手続きに何番を与えるかは番号づけの取り方に依る.13.1 節が番号づけに依るのと同じことである.第12章 例 12.2.7ビットのほうは,番号づけを持ち出さずに書けた数だった.

いっぽう 補題 13.3.5定理 13.3.6 にはが現れない.下からの評価は機械を作らずに数え上げだけで出ており,極限のほうはで割って消してしまうからである.

圧縮できないブロック

定理 13.3.6 は平均についての主張で,一本一本のブロックについては何も言っていない.そこで,個々のブロックのうち,これ以上短く書けないものを取り出して調べる.アルファベットはにとり,番号はと与えて固定する.

定義 13.3.7(圧縮できないブロック). とする.圧縮できない とは

𝐾U(𝑥𝑛)𝑛

が成り立つことをいう(定義 13.3.1𝑐(0) =0に当てたものである).

13.2 節は「ビット未満では書き出せない」ことを指して同じ言葉を地の文で使ったが,ここで名前を与えるのは,長さのブロックについてととった場合である.この条件は長さのブロック一つについてのもので,長さを伸ばしながら同じ条件を課しても,無限に続く列そのものについての性質を定めたことにはならない.本書は無限列についての同種の概念を扱わない.

命題 13.3.8.を対応させて,どのについても定義 13.3.7 の意味で圧縮できないようにできる.

証明. を固定する.定理 13.2.1に当てると,を満たす自然数個より少ない.いっぽうの要素数はであり,命題 13.3.2 よりはその上で単射だから,個の相異なる自然数からなる.したがってそのすべてがを満たすことはなく,圧縮できないが少なくとも一つある.各についてそのようなものを一つ選んでとすればよい.

形式化: exists_incompressible_bool_seq (ソース)

圧縮できないブロックがあることは分かった.では,そのようなブロックはどんな見た目をしているだろうか.手がかりは 命題 13.3.3 にある.型による記述の長さは型類の要素数で決まり,型類はの個数が偏るほど小さくなる.したがって個数の偏ったブロックには短い記述があり,圧縮できないブロックにはその短さが無いのだから,個数は偏っていないことになる.次の定理はこの筋を不等式にしたものである.

定理 13.3.9(圧縮できないブロックのの頻度). とする.が十分大きければ,定義 13.3.7 の意味で圧縮できないどのについても

𝑁(1𝑥)𝑛12<𝛿

である(定義 2.4.1 の,に含まれるの個数).

証明. 以上以下だから,のときは左辺が以下で主張が成り立つ.以下とする.

型による上界を二値に当てる.とし,命題 13.3.3 の定数の一つとする.をとり,と置く.天井関数の性質4.4 節)を 定義 12.2.1 の二つの項に当てると

T𝑛(𝑥)<2log2(𝑛+1)+2+log2T𝑛(ˆ𝑃𝑥)

である.

型類の要素数を本章の底で読む.第11章の底を自然対数にとっているので,定理 11.1.8 の上界はそこで測ったエントロピーをの肩に乗せた形をしているが,本章の底で読めばである(読み替えは第12章 12.2 節が置いたものと同じである).ととって両辺のをとるとである.また 定義 11.1.1 よりだから,例 1.1.2 よりである.

圧縮できないことを不等式にする.が圧縮できないとすると,定義 13.3.7命題 13.3.3 と上の二つから

𝑛𝐾U(𝑥𝑛)T𝑛(𝑥)+𝜉<2log2(𝑛+1)+2+𝜉+𝑛𝐻𝑏(𝑟)

であり,で割って移項すると

1𝐻𝑏(𝑟)<2log2(𝑛+1)+2+𝜉𝑛

を得る.

頻度がから離れていると左辺が正の定数以上になることを見る.とする.補題 9.3.1 の第の主張(二値エントロピー関数の対称性)よりだから,に取り替えてとしてよい.するとだから,補題 9.3.1 の第の主張(区間での単調性)よりである.いっぽう 定理 1.1.5に当てるとで,等号は分布が一様のとき,すなわちのときに限るが,だからそうではない.よってである.

二つを突き合わせる.いま見たとおり,圧縮できないを満たすなら

0<1𝐻𝑏(12𝛿)1𝐻𝑏(𝑟)<2log2(𝑛+1)+2+𝜉𝑛

である.右辺は,本章の底で読んだ 補題 11.2.2 よりに収束するから,を十分大きくとれば以下になる.そのようなについては上の不等式が成り立ちようがないので,圧縮できないどのを満たす.

形式化: incompressible_freq_near_half (ソース)

系 13.3.10.を一つずつ与え,が十分大きいところでは定義 13.3.7 の意味で圧縮できないとする.このとき

𝑁(1𝑥(𝑛))𝑛12(𝑛)

である(定義 2.4.1 の,系列に含まれるの個数).

証明. とする.定理 13.3.9に当てると,が十分大きければ,圧縮できないどのについてもである.仮定よりが十分大きいところでは圧縮できないから,二つの「十分大きい」の大きいほうをとれば,それ以上のについてである.

形式化: incompressible_seq_freq_tendsto_half (ソース)

定理 13.3.9 の証明がに要求しているのは,以下になることだけである.この量はとともにへ向かうが,向かい方はで割った速さでしかないので,を小さくとると要求が満たされるはすぐに大きくなる.数で見ておく.

例 13.3.11(頻度が効きはじめる規模). とし,命題 13.3.3 の定数の一つとする.定理 13.3.9 の証明がに要求する不等式

2log2(𝑛+1)+2+𝜉𝑛1𝐻𝑏(25)

の右辺はである.左辺をとして読んでも,ではその値がで不等式は成り立たず,ではとなって成り立つ.またでこの不等式が成り立つのはのときに限る.

証明. 右辺を計算する.log25 =2.3219280だからであり,例 1.1.2 より

𝐻𝑏(25)=25×1.3219280+35×0.7369655=0.9709505

である.よって右辺はである.

左辺に移る.は自然数だから左辺はについて単調に増え,のときがいちばん小さい.だからでのその値はで,右辺より大きい.だからでのその値はで,右辺より小さい.

を見る.だから左辺はであり,これが右辺以下であることはと同じで,が自然数であることと合わせてと同じである.

例 13.3.11は粗い要求で,頻度がからのあいだにあれば満たされる.それでも,定数をと最も甘く見積もってさえでは要求が満たされず,で満たされるのは以下のときに限る.定理 13.3.9系 13.3.10での主張であって,手元の長さのブロックについて頻度を保証するものではない.

本節が結んだものを並べておく.平均については 定理 13.3.6 で,分布から決まると,分布を見ない機械が一本の系列に払う長さの平均が,文字あたりで一致した.個々のブロックについては 定理 13.3.9 で,圧縮できないブロックのの頻度がに近いことが分かった.後者は一方向だけの主張である.頻度がに近いことは圧縮できないことの帰結であって,逆は成り立たない.

例 13.3.12(交互に並ぶブロック). 偶数に対し,を,第文字がで割った余りであるもの,すなわちとする.このときである(定義 2.4.1 の,系列に含まれるの個数).また定数があって,すべての偶数についてである.に依らないから,を満たす偶数については定義 13.3.7 の条件を満たさない.

証明. と書く.の第文字がであるのはが奇数のときで,以上未満の奇数は個だからである.

上界に移る.を,以上の偶数のときとし,そのほかでは値を持たないと定める(第引数は使わない).を求めるには 定義 13.3.1 の和を項だけ足せばよいので,この対応は有限個の場合分けと有限回の繰り返しで書き下せており,Church–Turing のテーゼより部分計算可能で,定義 13.1.3 の意味で機械である.定理 13.1.7 をこのに当てて定数をとる.偶数について,空列をとるとであり,だからである.

最後の主張は,のとき 定義 13.3.7が成り立たないことによる.

例 13.3.12 の列は,の頻度がちょうどでありながら,長さによらない定数ビットの指示で書き出せる.長さが条件として渡されているので,指示のほうは「交互に並べろ」とだけ言えばよく,を書き添える必要がないからである.定理 13.3.9 が言っているのは,圧縮できないブロックが偏った頻度を持ちえないというところまでで,頻度がに近いブロックの中には,このように短い記述を持つものがある.

ここまでのは,対象のほうに長さを与える量だった.次節は向きを変え,記述の長さのほうから対象に重みを与える.でたらめに書いた指示がその対象を出す確率として読める重みで,そのためには機械を一つ取り替えなければならない.のままでは,その重みを全部足したものがを超えてしまうからである.

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