13.3 複雑性とエントロピー
13.2 節までの𝐾Uは一つの自然数についての量で,分布はどこにも現れなかった.いっぽう第2章から第12章までに得た圧縮の限界は,どれも分布から作ったエントロピーで書かれている.二つは測っている相手が違うので,並べただけでは比べられない.本節は,分布𝑝の情報源が出した長さ𝑛のブロックに𝐾Uを当て,その平均を1文字あたりに直したものが𝐻(𝑝)に近づくことを示す.分布についての量と,一本の系列についての量が,そこで同じ値を指す.
そのためにまず,ブロックに自然数の番号を与えなければならない.𝐾Uは 定義 13.1.4 のとおり自然数についての量なので,X𝑛の元をそのまま渡せないからである.番号づけを置いたあと,上からの評価を第12章の型による二段符号から,下からの評価を 定理 13.2.1 の数え上げと第2章の典型集合から作り,二つを挟み撃ちにする.最後に,個々のブロックについて何が言えるかを見る.
以下,Xを空でない有限アルファベット,𝑝をX上の全点で正の分布とし,第2章 2.1 節と同じ設定で𝑋0,𝑋1,…を分布𝑝の i.i.d. 情報源,𝑋𝑛 :=(𝑋0,…,𝑋𝑛−1)と書く.𝑝の𝑛重の積分布は𝑝𝑛と書く(第11章と同じ肩の書き方で,𝑝𝑛({𝑥}) :=∏𝑛−1𝑖=0𝑝(𝑥𝑖)である).エントロピー𝐻(定義 1.1.1)は,第12章と同じく分布に対して書く.すなわち𝐻(𝑝)は𝑋0のエントロピーであり,単位は 13.1 節で断ったとおりビットである.
ブロックに番号をつける
定義 13.3.1(ブロックの番号). Xを空でない有限アルファベットとし,Xの文字に0,1,…,|X| −1の番号を一つずつ与えて固定して,文字𝑎に与えた番号を𝑐(𝑎)と書く(𝑐はXから{0,1,…,|X| −1}への全単射である).𝑛 ≥1と𝑥 =(𝑥0,…,𝑥𝑛−1) ∈X𝑛に対し
⟨𝑥⟩:=𝑛−1∑𝑖=0𝑐(𝑥𝑖)|X|𝑖と定める.
第10章は内積を,二つの引数をとる⟨ ⋅ , ⋅ ⟩と書いたが,本章の⟨ ⋅⟩はつねに引数を一つとり,有限の対象を自然数に写す符号化を表す.⟨𝑥⟩は,𝑥の第𝑖文字の番号を第𝑖桁とする|X|進の数にほかならない.たとえばX ={0,1}に𝑐(0) =0,𝑐(1) =1と番号を与えれば,⟨𝑥⟩は𝑥を下の桁から読んだ二進の数である.番号づけを一つ固定したのは,⟨𝑥⟩の値がXの文字の並べ方に依るからで,以下では固定した𝑐についての値をいう.
命題 13.3.2. Xを空でない有限アルファベット,𝑛 ≥1とし,⟨ ⋅⟩を 定義 13.3.1 のとおりとする.このとき𝑥 ↦⟨𝑥⟩はX𝑛の上で単射であり,どの𝑥 ∈X𝑛についても⟨𝑥⟩ <|X|𝑛である.
証明. 上界から示す.どの文字𝑎についても𝑐(𝑎) ≤|X| −1だから,各項を(|X| −1)|X|𝑖 =|X|𝑖+1 −|X|𝑖で抑えて足すと隣り合う項が打ち消し合い
⟨𝑥⟩≤𝑛−1∑𝑖=0(|X|𝑖+1−|X|𝑖)=|X|𝑛−1となる.
単射性に移る.⟨𝑥⟩は𝑥の|X|進表示にほかならないから,下の桁から一つずつ剥がせばもとの𝑥に戻る.これを𝑛についての帰納法で書く.𝑛 =1のときは⟨𝑥⟩ =𝑐(𝑥0)で,𝑐が単射だから⟨𝑥⟩から𝑥0が定まる.𝑛 ≥2のときは,定義 13.3.1 の和から第0項を外して|X|でくくると⟨𝑥⟩ =𝑐(𝑥0) +|X| ⟨𝑥−⟩(𝑥− :=(𝑥1,…,𝑥𝑛−1) ∈X𝑛−1)であり,𝑐(𝑥0)は|X|未満だから,𝑐(𝑥0)は⟨𝑥⟩を|X|で割った余り,⟨𝑥−⟩はその商として⟨𝑥⟩から定まる.𝑐が単射だから𝑥0が定まり,帰納法の仮定から𝑥−が定まる.◼
命題 13.3.2 の上界は,番号づけが場所を無駄にしていないことを言っている.長さ𝑛のブロックは|X|𝑛個あり,それがちょうど0以上|X|𝑛未満の自然数に重なりなく収まっている.したがって⟨𝑥⟩の二進表示の長さは𝑛log2|X|あまりで,ブロックをそのまま書き写すのに要る長さと変わらない.番号づけそのものは何も圧縮していないということで,圧縮は次の 命題 13.3.3 から始まる.
型による記述
第12章 定義 12.2.1 は,系列を「まず型を送り,次に型類の中の位置を送る」二段の形で書いたときの長さをℓT𝑛と置いた.記号を一つ引いておく.実数𝑡に対する天井関数⌈𝑡⌉,すなわち𝑡以上の最小の整数と,その性質𝑡 ≤⌈𝑡⌉ <𝑡 +1は,第4章 4.4 節で既知としたとおりに本節でも使う.𝑥 ∈X𝑛の型をˆ𝑃𝑥,長さ𝑛の型𝑃の型類をT𝑛(𝑃)(どちらも 定義 11.1.1)と書くと,その長さは
ℓT𝑛(𝑥)=⌈|X|log2(𝑛+1)⌉+⌈log2∣T𝑛(ˆ𝑃𝑥)∣⌉である.第1項が型を指すための長さ,第2項が型類の中の位置を指すための長さで,どちらも分布を持ち出さずに系列だけから決まる.だからℓT𝑛はそのまま機械への指示に写せる.写した先で 定理 13.1.7 を当てれば,𝐾Uの上界が定数の払いで手に入る.
命題 13.3.3(型による記述の上界). Xを空でない有限アルファベットとし,⟨ ⋅⟩を 定義 13.3.1,ℓT𝑛を 定義 12.2.1 の型による二段符号の符号長とする.このとき定数𝜉 ∈ℕがあって,すべての𝑛 ≥1とすべての𝑥 ∈X𝑛について
𝐾U(⟨𝑥⟩∣𝑛)≤ℓT𝑛(𝑥)+𝜉が成り立つ.
証明. 𝑛 ≥1と𝑥 ∈X𝑛から,長さℓT𝑛(𝑥) +1のビット列を組み立てる.𝐴𝑛 :=⌈|X|log2(𝑛 +1)⌉と置く(定義 12.2.1 の第1項である).
型を書く桁を作る.各文字𝑎 ∈Xについて𝑁(𝑎 ∣𝑥)(定義 2.4.1)は0以上𝑛以下の整数だから,𝑁(𝑎 ∣𝑥)を第𝑐(𝑎)桁とする(𝑛 +1)進の数
𝑢:=∑𝑎∈X𝑁(𝑎∣𝑥)(𝑛+1)𝑐(𝑎)を作ると,命題 13.3.2 の上界と同じ打ち消しにより𝑢 ≤(𝑛 +1)|X| −1である.いっぽう,自然数𝐴について2𝐴 ≥(𝑛 +1)|X|であることと𝐴 ≥log2((𝑛 +1)|X|) =|X|log2(𝑛 +1)であることとは同値だから,𝐴𝑛は2𝐴 ≥(𝑛 +1)|X|を満たす最小の自然数にほかならない.とくに2𝐴𝑛 ≥(𝑛 +1)|X| >𝑢だから,𝑢は𝐴𝑛桁の二進表示で書ける(桁が足りなければ先頭を0で埋める).
型類の中の位置を書く桁を作る.𝑥の型をˆ𝑃𝑥,その型類をT𝑛(ˆ𝑃𝑥)(どちらも 定義 11.1.1)と書くと𝑥 ∈T𝑛(ˆ𝑃𝑥)である.命題 13.3.2 より⟨ ⋅⟩はX𝑛の上で単射だから,T𝑛(ˆ𝑃𝑥)の元を⟨ ⋅⟩の値の小さい順に一列に並べられる.その並びでの𝑥の位置を𝑖とすると0 ≤𝑖 <|T𝑛(ˆ𝑃𝑥)|であり,𝐵 :=⌈log2|T𝑛(ˆ𝑃𝑥)|⌉と置くと2𝐵 ≥|T𝑛(ˆ𝑃𝑥)|だから,𝑖は𝐵桁の二進表示で書ける.
二つをつなぐ.𝑑を,𝑢の𝐴𝑛桁と𝑖の𝐵桁をこの順に並べた長さ𝐴𝑛 +𝐵 =ℓT𝑛(𝑥)のビット列とし,𝑠を𝑑の先頭に1を置いた長さℓT𝑛(𝑥) +1のビット列とする.先頭が1だから,定義 13.1.2 より𝑠が表す自然数の二進表示は𝑠そのものであり,𝑠から𝑑が読み取れる.
復元する手続きを書き下す.M(𝑧,𝑦)を,𝑧 ≥1かつ𝑦 ≥1のとき,型を読む・型類を並べる・位置を拾うの三段で次のように定める.型を読むところでは,𝑧の二進表示から先頭の1を落とした列を𝑑とし,2𝐴 ≥(𝑦 +1)|X|を満たす最小の自然数𝐴を,𝐴 =0,1,2,…と順に試して求める.そのような𝐴はあるのでこの探索は必ず停止し,求まる値は,上で見たとおり𝐴𝑛の式の𝑛を𝑦に替えた𝐴𝑦 :=⌈|X|log2(𝑦 +1)⌉にほかならない.続けて,𝑑の先頭𝐴𝑦桁を二進表示として読んだ自然数𝑢を(𝑦 +1)進の下の|X|桁に開き,第𝑐(𝑎)桁を文字𝑎の個数と読む.型類を並べるところでは,$a \mapsto (\text{𝑎の個数})/y$ が長さ𝑦の型(定義 11.1.1)であることを使い,その型類の元を⟨ ⋅⟩の値の小さい順に一列に並べる.位置を拾うところでは,𝑑の残りの桁が表す自然数をその並びでの位置として,そこにある𝑥′ ∈X𝑦をとり⟨𝑥′⟩を返す.以上のどこかで形が合わなければ,M(𝑧,𝑦)は値を持たないとする.この対応は有限個の場合分けと有限回の繰り返し,および必ず停止する探索で書き下せているから,Church–Turing のテーゼより部分計算可能であり,定義 13.1.3 の意味で機械である.
作り方からM(𝑠,𝑛) =⟨𝑥⟩である.定理 13.1.7 をこのMに当てて定数𝜉0 ∈ℕをとると
𝐾U(⟨𝑥⟩∣𝑛)≤|𝑠|+𝜉0=ℓT𝑛(𝑥)+1+𝜉0である.𝜉0はMだけで決まり,Mは𝑛にも𝑥にも依らないから,𝜉 :=𝜉0 +1と置けば主張を得る.◼
命題 13.3.3 の定数は一つに決まらない.不等式を満たす自然数が一つあれば,それより大きい自然数もみな満たすからである.以下では,そのようなものを一つとって固定し,𝜉と書く.
条件に𝑛を置いたことに注意したい.この記述は,長さ𝑛を知っている相手に向けて書かれている.長さを知らなければ,型の桁がどこで終わるかも,型類をどう並べるかも決まらないからである.𝑛を書き添える手もあるが,本節は𝑛を条件として渡す形をとり,条件を外した𝐾U(⟨𝑥⟩)については何も述べない.
平均は両側からエントロピーに寄る
長さ𝑛のブロックは有限個で,命題 13.1.6 よりどの𝐾U(⟨𝑥⟩ ∣𝑛)も有限だから,𝐾U(⟨𝑋𝑛⟩ ∣𝑛)の平均
𝔼[𝐾U(⟨𝑋𝑛⟩∣𝑛)]=∑𝑥∈X𝑛𝑝𝑛({𝑥})𝐾U(⟨𝑥⟩∣𝑛)は有限個の項の和である.これを𝑛で割った量が本節の主役で,上からは 命題 13.3.3 と第12章が,下からは 定理 13.2.1 と第2章が抑える.
補題 13.3.4. Xを空でない有限アルファベット,𝑝をX上の全点で正の分布とし,第2章 2.1 節と同じ設定で𝑋0,𝑋1,…を分布𝑝の i.i.d. 情報源,𝑋𝑛 :=(𝑋0,…,𝑋𝑛−1)とする.⟨ ⋅⟩を 定義 13.3.1,𝜉を 命題 13.3.3 の定数の一つとすると,すべての𝑛 ≥1について
1𝑛𝔼[𝐾U(⟨𝑋𝑛⟩∣𝑛)]≤𝐻(𝑝)+|X|log2(𝑛+1)+2+𝜉𝑛である(𝐻は 定義 1.1.1 のエントロピー).
証明. 第12章の族の設定を,一つの分布に潰して使う.Θを1点集合{𝜃0}とし,𝑃𝜃0 :=𝑝と置くと,Θは空でない有限集合で𝑃𝜃0は全点で正だから,これは 定義 12.1.1 の情報源の族である.𝑝が全点で正であることは 定義 12.1.1 が族に課す条件であり,本補題の仮定でもある.積分布は𝑃𝑛𝜃0 =𝑝𝑛である.
𝑛 ≥1とする.定理 12.2.4 をこの族の𝜃0に当てると,定義 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 の不等式に𝑝𝑛({𝑥})を掛けて𝑥について足す.重みは非負で総和が1だから
𝔼[𝐾U(⟨𝑋𝑛⟩∣𝑛)]≤∑𝑥∈X𝑛𝑝𝑛({𝑥})ℓT𝑛(𝑥)+𝜉である.両辺を𝑛で割り,上の評価を入れると主張を得る.◻
下からの評価に移る.上からの評価が符号を一つ作って見せたのに対し,下からの評価は符号を作らない.短い記述は本数が限られているという 定理 13.2.1 の数え上げと,実際に現れるブロックはどれも確率が2−𝑛𝐻の近くにあるという 定理 2.2.4 を,そのまま突き合わせる.
補題 13.3.5. Xを空でない有限アルファベット,𝑝をX上の全点で正の分布とし,第2章 2.1 節と同じ設定で𝑋0,𝑋1,…を分布𝑝の i.i.d. 情報源,𝑋𝑛 :=(𝑋0,…,𝑋𝑛−1)とする.⟨ ⋅⟩を 定義 13.3.1 とすると,任意の𝜀 >0について,𝑛が十分大きければ
1𝑛𝔼[𝐾U(⟨𝑋𝑛⟩∣𝑛)]≥𝐻(𝑝)−𝜀である(𝐻は 定義 1.1.1 のエントロピー).
証明. 𝜀 >0とする.𝐻(𝑝) ≤𝜀のときは,𝐾Uが0以上だから左辺が0以上で,右辺は0以下であり,主張は成り立つ.以下𝐻(𝑝) >𝜀とする.
失う量を先に割り振っておく.𝐻(𝑝)から引かれるのは次の三つで,そのそれぞれを𝜀/3以下に抑える.
- 典型集合に置く幅.
- 記述が短いほうへ数え落とす確率に𝐻(𝑝)を掛けたもの.これはさらに,𝑋𝑛が典型集合を外れる分と,典型集合に入ったうえで記述が短い分とに割れるので,𝐻(𝑝)を掛けたものをどちらも𝜀/6以下にする.𝑚を選ぶのは後者のためで,2−𝑚がその確率の上界になる.
- 記述の長さの下限にとる整数の端数.
割り振りに合わせて三つの数を選ぶ.𝜀1 :=𝜀/3と置くと0 <𝜀1 <𝐻(𝑝)である.自然数𝑚を2−𝑚 𝐻(𝑝) ≤𝜀/6を満たすようにとる.そして𝑛 ≥1に対し,𝑘 +𝑚 ≤𝑛(𝐻(𝑝) −𝜀1)を満たす自然数𝑘の全体を考える.𝑛(𝐻(𝑝) −𝜀1) →∞だから,𝑛が十分大きければ𝑘 =0がこれを満たしてこの集合は空でなく,しかも𝑛(𝐻(𝑝) −𝜀1)が上界だから,最大の元をもつ.それを𝑘𝑛と書く.以下そのような𝑛だけを見る.とり方から
𝑘𝑛+𝑚≤𝑛(𝐻(𝑝)−𝜀1)<𝑘𝑛+1+𝑚である(右側は𝑘𝑛 +1が上の集合に入らないことによる).
典型集合の上で,記述の短いブロックの確率を抑える.𝑇(𝑛)𝜀1を 定義 2.2.1 の典型集合とする.命題 13.3.2 より𝑥 ↦⟨𝑥⟩はX𝑛の上で単射だから,𝐾U(⟨𝑥⟩ ∣𝑛) <𝑘𝑛を満たす𝑥 ∈X𝑛の個数は,𝐾U(𝑧 ∣𝑛) <𝑘𝑛を満たす自然数𝑧の個数以下であり,定理 13.2.1 より2𝑘𝑛より小さい.いっぽう𝑥 ∈𝑇(𝑛)𝜀1なら 定理 2.2.4 より𝑝𝑛({𝑥}) ≤2−𝑛(𝐻(𝑝)−𝜀1)である.二つを掛け合わせ,𝑘𝑛 ≤𝑛(𝐻(𝑝) −𝜀1) −𝑚を使うと
Pr[𝑋𝑛∈𝑇(𝑛)𝜀1 かつ 𝐾U(⟨𝑋𝑛⟩∣𝑛)<𝑘𝑛]≤2𝑘𝑛2−𝑛(𝐻(𝑝)−𝜀1)≤2−𝑚である.
記述が短くない確率を下から抑える.事象{𝐾U(⟨𝑋𝑛⟩ ∣𝑛) <𝑘𝑛}は,𝑋𝑛が典型集合に入らない場合と,入ったうえで記述が短い場合に分かれるから
Pr[𝐾U(⟨𝑋𝑛⟩∣𝑛)≥𝑘𝑛]≥Pr[𝑋𝑛∈𝑇(𝑛)𝜀1]−2−𝑚である.定理 2.2.3 よりPr[𝑋𝑛 ∈𝑇(𝑛)𝜀1] →1だから,𝑛が十分大きければ(1 −Pr[𝑋𝑛 ∈𝑇(𝑛)𝜀1])𝐻(𝑝) ≤𝜀/6にできる.
平均を下から抑える.𝐾Uは0以上で𝑘𝑛も0以上だから,𝐾U(⟨𝑋𝑛⟩ ∣𝑛) <𝑘𝑛の側の項を落として
𝔼[𝐾U(⟨𝑋𝑛⟩∣𝑛)]≥𝑘𝑛Pr[𝐾U(⟨𝑋𝑛⟩∣𝑛)≥𝑘𝑛]である.𝑘𝑛/𝑛 ≤𝐻(𝑝) −𝜀1 <𝐻(𝑝)だから,右辺を𝑛で割った値は
𝑘𝑛𝑛−𝑘𝑛𝑛(1−Pr[𝐾U(⟨𝑋𝑛⟩∣𝑛)≥𝑘𝑛])≥𝑘𝑛𝑛−𝐻(𝑝)((1−Pr[𝑋𝑛∈𝑇(𝑛)𝜀1])+2−𝑚)以上である.いま𝑚のとり方と直前の段から,右端の括弧に𝐻(𝑝)を掛けたものは𝜀/3以下である.また𝑘𝑛のとり方の右側の不等式より𝑘𝑛/𝑛 >𝐻(𝑝) −𝜀1 −(1 +𝑚)/𝑛だから,𝑛を(1 +𝑚)/𝑛 ≤𝜀/3となるまで大きくとれば,全体は𝐻(𝑝) −𝜀1 −𝜀/3 −𝜀/3 =𝐻(𝑝) −𝜀以上である.◻
定理 13.3.6(複雑性とエントロピー). Xを空でない有限アルファベット,𝑝をX上の全点で正の分布とし,第2章 2.1 節と同じ設定で𝑋0,𝑋1,…を分布𝑝の i.i.d. 情報源,𝑋𝑛 :=(𝑋0,…,𝑋𝑛−1)とする.⟨ ⋅⟩を 定義 13.3.1 とすると
1𝑛𝔼[𝐾U(⟨𝑋𝑛⟩∣𝑛)]⟶𝐻(𝑝)(𝑛→∞)である(𝐻は 定義 1.1.1 のエントロピー).
証明. 𝜀 >0とする.補題 13.3.5 より,𝑛が十分大きければ左辺は𝐻(𝑝) −𝜀以上である.
上からは 補題 13.3.4 が𝐻(𝑝) +(|X|log2(𝑛 +1) +2 +𝜉)/𝑛を与える.この第2項は0に収束する.本章の底で読むと 補題 11.2.2 よりlog2(𝑛 +1)/𝑛 →0であり,|X|は𝑛に依らない有限の数だからその|X|倍も0に収束し,(2 +𝜉)/𝑛も0に収束するからである.よって𝑛が十分大きければ左辺は𝐻(𝑝) +𝜀以下である.
二つの「十分大きい」の大きいほうをとれば,それ以上の𝑛について左辺と𝐻(𝑝)の差は𝜀より大きくならない.◼
定理 13.3.6 が,本節のはじめに述べた二つの量を結んでいる.左辺は,情報源が実際に出した一本のブロックを,分布を知らない機械に書き出させる長さの平均である.右辺は,分布だけから決まる量である.第2章の情報源符号化定理も同じ値を両側から挟んだが,あちらの符号は分布𝑝を知って作られていた.こちらの𝐾Uは分布を一度も見ていない.それでも1文字あたりの長さは同じところへ行く.
分布を見ないことの代償は 補題 13.3.4 の右辺に出ている.右辺が𝐻(𝑝)を超える分は(|X|log2(𝑛 +1) +2)/𝑛に𝜉/𝑛を足したもので,前半は第12章 定理 12.2.4 が型による二段符号に与えた冗長度の上界そのもの,後半が,機械を一つ固定して一本の系列を測るようにしたぶんである.|X| =2,𝑛 =1000なら,前半は第12章 例 12.2.7 が計算した0.02193…ビットで,後半は𝜉/1000ビットである.
𝜉をどう思えばよいかを書いておく.𝜉は 命題 13.3.3 の証明のとおり 定理 13.1.7 の定数から来ており,定理 13.1.7 の証明が与える定数は,当てた機械に番号づけが与えた番号に2を足したものだった.命題 13.3.3 の証明はそれにさらに1を足すので,𝜉は,型と型類から系列を復元する手続きに番号づけが与えた番号に3を足した値でとれる.すなわち,番号づけの中でこの復元器が早い番号を持てば𝜉は小さく,遅い番号しか持たなければ大きい.どの手続きに何番を与えるかは番号づけの取り方に依る.13.1 節の𝑏が番号づけに依るのと同じことである.第12章 例 12.2.7 の0.02193…ビットのほうは,番号づけを持ち出さずに書けた数だった.
いっぽう 補題 13.3.5 と 定理 13.3.6 には𝜉が現れない.下からの評価は機械を作らずに数え上げだけで出ており,極限のほうは𝜉を𝑛で割って消してしまうからである.
圧縮できないブロック
定理 13.3.6 は平均についての主張で,一本一本のブロックについては何も言っていない.そこで,個々のブロックのうち,これ以上短く書けないものを取り出して調べる.アルファベットは{0,1}にとり,番号は𝑐(0) =0,𝑐(1) =1と与えて固定する.
定義 13.3.7(圧縮できないブロック). 𝑛 ≥1とする.𝑥 ∈{0,1}𝑛が 圧縮できない とは
𝐾U(⟨𝑥⟩∣𝑛)≥𝑛が成り立つことをいう(⟨ ⋅⟩は 定義 13.3.1 をX ={0,1},𝑐(0) =0,𝑐(1) =1に当てたものである).
13.2 節は「𝑘ビット未満では書き出せない」ことを指して同じ言葉を地の文で使ったが,ここで名前を与えるのは,長さ𝑛のブロックについて𝑘を𝑛ととった場合である.この条件は長さ𝑛のブロック一つについてのもので,長さを伸ばしながら同じ条件を課しても,無限に続く列そのものについての性質を定めたことにはならない.本書は無限列についての同種の概念を扱わない.
命題 13.3.8. 各𝑛 ≥1に𝑥(𝑛) ∈{0,1}𝑛を対応させて,どの𝑛 ≥1についても𝑥(𝑛)が 定義 13.3.7 の意味で圧縮できないようにできる.
証明. 𝑛 ≥1を固定する.定理 13.2.1 を𝑦 :=𝑛,𝑘 :=𝑛に当てると,𝐾U(𝑧 ∣𝑛) <𝑛を満たす自然数𝑧は2𝑛個より少ない.いっぽう{0,1}𝑛の要素数は2𝑛であり,命題 13.3.2 より𝑥 ↦⟨𝑥⟩はその上で単射だから,{⟨𝑥⟩ :𝑥 ∈{0,1}𝑛}は2𝑛個の相異なる自然数からなる.したがってそのすべてが𝐾U(⟨𝑥⟩ ∣𝑛) <𝑛を満たすことはなく,圧縮できない𝑥 ∈{0,1}𝑛が少なくとも一つある.各𝑛 ≥1についてそのようなものを一つ選んで𝑥(𝑛)とすればよい.◼
圧縮できないブロックがあることは分かった.では,そのようなブロックはどんな見た目をしているだろうか.手がかりは 命題 13.3.3 にある.型による記述の長さは型類の要素数で決まり,型類は0と1の個数が偏るほど小さくなる.したがって個数の偏ったブロックには短い記述があり,圧縮できないブロックにはその短さが無いのだから,個数は偏っていないことになる.次の定理はこの筋を不等式にしたものである.
定理 13.3.9(圧縮できないブロックの1の頻度). 𝛿 >0とする.𝑛が十分大きければ,定義 13.3.7 の意味で圧縮できないどの𝑥 ∈{0,1}𝑛についても
∣𝑁(1∣𝑥)𝑛−12∣<𝛿である(𝑁(1 ∣𝑥)は 定義 2.4.1 の,𝑥に含まれる1の個数).
証明. 𝑁(1 ∣𝑥)/𝑛は0以上1以下だから,𝛿 >1/2のときは左辺が1/2以下で主張が成り立つ.以下0 <𝛿 ≤1/2とする.
型による上界を二値に当てる.X :={0,1}とし,𝜉を 命題 13.3.3 の定数の一つとする.𝑛 ≥1と𝑥 ∈{0,1}𝑛をとり,𝑟 :=𝑁(1 ∣𝑥)/𝑛と置く.天井関数の性質⌈𝑡⌉ <𝑡 +1(4.4 節)を 定義 12.2.1 の二つの項に当てると
ℓT𝑛(𝑥)<2log2(𝑛+1)+2+log2∣T𝑛(ˆ𝑃𝑥)∣である.
型類の要素数を本章の底で読む.第11章はlogの底を自然対数にとっているので,定理 11.1.8 の上界はそこで測ったエントロピーをeの肩に乗せた形をしているが,本章の底で読めば|T𝑛(𝑃)| ≤2𝑛𝐻(𝑃)である(読み替えは第12章 12.2 節が置いたものと同じである).𝑃 :=ˆ𝑃𝑥ととって両辺のlog2をとるとlog2|T𝑛(ˆ𝑃𝑥)| ≤𝑛 𝐻(ˆ𝑃𝑥)である.また 定義 11.1.1 よりˆ𝑃𝑥(1) =𝑟,ˆ𝑃𝑥(0) =1 −𝑟だから,例 1.1.2 より𝐻(ˆ𝑃𝑥) =𝐻𝑏(𝑟)である.
圧縮できないことを不等式にする.𝑥が圧縮できないとすると,定義 13.3.7 と 命題 13.3.3 と上の二つから
𝑛≤𝐾U(⟨𝑥⟩∣𝑛)≤ℓT𝑛(𝑥)+𝜉<2log2(𝑛+1)+2+𝜉+𝑛𝐻𝑏(𝑟)であり,𝑛で割って移項すると
1−𝐻𝑏(𝑟)<2log2(𝑛+1)+2+𝜉𝑛を得る.
頻度が1/2から離れていると左辺が正の定数以上になることを見る.|𝑟 −1/2| ≥𝛿とする.補題 9.3.1 の第1の主張(二値エントロピー関数の対称性)より𝐻𝑏(𝑟) =𝐻𝑏(1 −𝑟)だから,𝑟を1 −𝑟に取り替えて𝑟 ≤1/2 −𝛿としてよい.すると0 ≤𝑟 ≤1/2 −𝛿 ≤1/2だから,補題 9.3.1 の第3の主張(区間[0,1/2]での単調性)より𝐻𝑏(𝑟) ≤𝐻𝑏(1/2 −𝛿)である.いっぽう 定理 1.1.5 を𝑀 =2に当てると𝐻𝑏(1/2 −𝛿) ≤log22 =1で,等号は分布が一様のとき,すなわち1/2 −𝛿 =1/2のときに限るが,𝛿 >0だからそうではない.よって1 −𝐻𝑏(1/2 −𝛿) >0である.
二つを突き合わせる.いま見たとおり,圧縮できない𝑥が|𝑟 −1/2| ≥𝛿を満たすなら
0<1−𝐻𝑏(12−𝛿)≤1−𝐻𝑏(𝑟)<2log2(𝑛+1)+2+𝜉𝑛である.右辺は,本章の底で読んだ 補題 11.2.2 より𝑛 →∞で0に収束するから,𝑛を十分大きくとれば1 −𝐻𝑏(1/2 −𝛿)以下になる.そのような𝑛については上の不等式が成り立ちようがないので,圧縮できないどの𝑥も|𝑟 −1/2| <𝛿を満たす.◼
系 13.3.10. 各𝑛 ≥1に𝑥(𝑛) ∈{0,1}𝑛を一つずつ与え,𝑛が十分大きいところでは𝑥(𝑛)が 定義 13.3.7 の意味で圧縮できないとする.このとき
𝑁(1∣𝑥(𝑛))𝑛⟶12(𝑛→∞)である(𝑁(1 ∣ ⋅)は 定義 2.4.1 の,系列に含まれる1の個数).
証明. 𝜀 >0とする.定理 13.3.9 を𝛿 :=𝜀に当てると,𝑛が十分大きければ,圧縮できないどの𝑥 ∈{0,1}𝑛についても|𝑁(1 ∣𝑥)/𝑛 −1/2| <𝜀である.仮定より𝑛が十分大きいところで𝑥(𝑛)は圧縮できないから,二つの「十分大きい」の大きいほうをとれば,それ以上の𝑛について|𝑁(1 ∣𝑥(𝑛))/𝑛 −1/2| <𝜀である.◼
定理 13.3.9 の証明が𝑛に要求しているのは,(2log2(𝑛 +1) +2 +𝜉)/𝑛が1 −𝐻𝑏(1/2 −𝛿)以下になることだけである.この量は𝑛とともに0へ向かうが,向かい方はlog2𝑛を𝑛で割った速さでしかないので,𝛿を小さくとると要求が満たされる𝑛はすぐに大きくなる.数で見ておく.
例 13.3.11(頻度が効きはじめる規模). 𝛿 =1/10とし,𝜉を 命題 13.3.3 の定数の一つとする.定理 13.3.9 の証明が𝑛に要求する不等式
2log2(𝑛+1)+2+𝜉𝑛≤1−𝐻𝑏(25)の右辺は0.0290494…である.左辺を𝜉 =0として読んでも,𝑛 =722ではその値が0.0290799…で不等式は成り立たず,𝑛 =723では0.0290452…となって成り立つ.また𝑛 =1000でこの不等式が成り立つのは𝜉 ≤7のときに限る.
証明. 右辺を計算する.log25 =2.3219280…,log23 =1.5849625…だからlog2(2/5) =1 −log25 = −1.3219280…,log2(3/5) =log23 −log25 = −0.7369655…であり,例 1.1.2 より
𝐻𝑏(25)=25×1.3219280…+35×0.7369655…=0.9709505…である.よって右辺は0.0290494…である.
左辺に移る.𝜉は自然数だから左辺は𝜉について単調に増え,𝜉 =0のときがいちばん小さい.log2723 =9.4978518…だから𝑛 =722でのその値は(2 ×9.4978518… +2)/722 =0.0290799…で,右辺より大きい.log2724 =9.4998458…だから𝑛 =723でのその値は(2 ×9.4998458… +2)/723 =0.0290452…で,右辺より小さい.
𝑛 =1000を見る.log21001 =9.9672262…だから左辺は(21.9344525… +𝜉)/1000であり,これが右辺以下であることは𝜉 ≤7.1149…と同じで,𝜉が自然数であることと合わせて𝜉 ≤7と同じである.◼
例 13.3.11 の𝛿 =1/10は粗い要求で,頻度が0.4から0.6のあいだにあれば満たされる.それでも,定数を𝜉 =0と最も甘く見積もってさえ𝑛 =722では要求が満たされず,𝑛 =1000で満たされるのは𝜉が7以下のときに限る.定理 13.3.9 と 系 13.3.10 は𝑛 →∞での主張であって,手元の長さのブロックについて頻度を保証するものではない.
本節が結んだものを並べておく.平均については 定理 13.3.6 で,分布から決まる𝐻(𝑝)と,分布を見ない機械が一本の系列に払う長さの平均が,1文字あたりで一致した.個々のブロックについては 定理 13.3.9 で,圧縮できないブロックの1の頻度が1/2に近いことが分かった.後者は一方向だけの主張である.頻度が1/2に近いことは圧縮できないことの帰結であって,逆は成り立たない.
例 13.3.12(交互に並ぶブロック). 偶数𝑛 ≥2に対し,𝑥(𝑛) ∈{0,1}𝑛を,第𝑖文字が𝑖を2で割った余りであるもの,すなわち0101⋯01とする.このとき𝑁(1 ∣ 𝑥(𝑛))/𝑛 =1/2である(𝑁(1 ∣ ⋅)は 定義 2.4.1 の,系列に含まれる1の個数).また定数𝑤 ∈ℕがあって,すべての偶数𝑛 ≥2について𝐾U(⟨𝑥(𝑛)⟩ ∣ 𝑛) ≤𝑤である.𝑤は𝑛に依らないから,𝑛 >𝑤を満たす偶数𝑛については𝑥(𝑛)は 定義 13.3.7 の条件を満たさない.
証明. 𝑛 =2𝑘と書く.𝑥(𝑛)の第𝑖文字が1であるのは𝑖が奇数のときで,0以上𝑛未満の奇数は1,3,…,2𝑘 −1の𝑘個だから𝑁(1 ∣𝑥(𝑛)) =𝑘 =𝑛/2である.
上界に移る.M(𝑧,𝑦)を,𝑦が2以上の偶数のとき⟨𝑥(𝑦)⟩とし,そのほかでは値を持たないと定める(第1引数は使わない).⟨𝑥(𝑦)⟩を求めるには 定義 13.3.1 の和を𝑦項だけ足せばよいので,この対応は有限個の場合分けと有限回の繰り返しで書き下せており,Church–Turing のテーゼより部分計算可能で,定義 13.1.3 の意味で機械である.定理 13.1.7 をこのMに当てて定数𝑤 ∈ℕをとる.偶数𝑛 ≥2について,空列𝑠をとるとM(𝑠,𝑛) =⟨𝑥(𝑛)⟩であり,|𝑠| =0だから𝐾U(⟨𝑥(𝑛)⟩ ∣𝑛) ≤𝑤である.
最後の主張は,𝑤 <𝑛のとき 定義 13.3.7 の𝐾U(⟨𝑥(𝑛)⟩ ∣𝑛) ≥𝑛が成り立たないことによる.◼
例 13.3.12 の列は,1の頻度がちょうど1/2でありながら,長さによらない定数ビットの指示で書き出せる.長さ𝑛が条件として渡されているので,指示のほうは「交互に並べろ」とだけ言えばよく,𝑛を書き添える必要がないからである.定理 13.3.9 が言っているのは,圧縮できないブロックが偏った頻度を持ちえないというところまでで,頻度が1/2に近いブロックの中には,このように短い記述を持つものがある.
ここまでの𝐾Uは,対象のほうに長さを与える量だった.次節は向きを変え,記述の長さのほうから対象に重みを与える.でたらめに書いた指示がその対象を出す確率として読める重みで,そのためには機械を一つ取り替えなければならない.Uのままでは,その重みを全部足したものが1を超えてしまうからである.
InformationTheory — 形式化検証つき情報理論教科書(レビュー版).数式は MathJax + AMS Euler で事前レンダリング.