13.6 二部記述と最小記述長
13.4 節と 13.5 節は,一つに固定した機械Vについて,記述長・重み・停止の三つを調べてきた.本節は記述の作り方のほうに戻る.第12章 定義 12.2.1 の型による二段符号は,系列を「まず型を送り,次に型類の中の位置を送る」と分けて書いた.前半が系列の型を,後半が型だけでは決まらないぶんを担う.同じ分け方を,分布も情報源も持たない一つの自然数に当てるのが本節である.型にあたるのは𝑥を含む有限集合𝑆で,位置にあたるのは𝑆の中での𝑥の番号である.
分け方を変えても記述の長さは変えられない,というのが本節の結論である.どんな𝑆をとっても,二つに分けた記述は定数のぶんを除いて𝐾V(𝑥)より短くならず(定理 13.6.3),いちばんうまい𝑆をとれば𝐾V(𝑥)と定数の差まで縮む(定理 13.6.7).そのうえで,𝑆が𝑥をどこまで説明していると言えるかを,定数のゆるみを許して定める.定めるのは枠だけである.モデルの大きさや記述長に制限を課したときにどの𝑆が残るかは,本節では扱わない.
有限集合を記述する
定義 13.6.1(有限集合の符号とモデルの記述長). 自然数の有限列に自然数を対応させる符号化を一つ固定する.有限列から自然数を求める手続きと,自然数から有限列を復元する手続きがどちらも書き下せるようなものをとる(たとえば,各項の二進表示の自己限定形(定義 13.4.3)をこの順につなぎ,先頭にもう一つ1を置いたビット列が表す自然数でよい).𝑆 ⊆ℕを空でない有限集合とし,𝑆の要素を小さい順に並べた有限列に,固定した符号化が与える自然数を⟨𝑆⟩と書く(定義 13.3.1 と同じ役どころの,別の符号化である.本節の⟨ ⋅⟩はつねに有限集合を引数にとり,定義 13.3.1 のそれはつねに系列を引数にとる).𝐾V(⟨𝑆⟩)を𝑆の モデルの記述長 と呼ぶ.
括弧の中に挙げた符号化が実際に読み解けることは,定義 13.4.3 で見たとおりである.自己限定形はどこで終わるかを自分で告げるので,つないだ列を先頭から順に区切っていける.先頭にもう一つ1を置いたのは,全体を一つの自然数の二進表示として読むためで,そうしないと先頭の0の並びが読み落とされる.𝑆の要素を小さい順に並べたのは,同じ集合に二つの列が対応しないようにするためである.
二部記述の長さは,考えとしては,𝑆を書く長さに𝑆の中での位置を書く桁を足したものである.位置は0以上|𝑆|未満の自然数だから,桁は⌈log2|𝑆|⌉で足りる.
定義 13.6.2(二部記述の長さ). 𝑆 ⊆ℕを空でない有限集合とし
ℓ2P(𝑆):=𝐾V(⟨𝑆⟩)+4⌈log2|𝑆|⌉と定め,𝑆による 二部記述の長さ と呼ぶ(⌈ ⋅⌉は 4.4 節の天井関数である).
ℓ2Pは有限集合を引数にとる.第12章 定義 12.2.1 のℓT𝑛は系列を引数にとり添字𝑛を持つので,二つは別の量である.第1項がモデルの記述長(定義 13.6.1)で,第2項が位置を書く長さにあたるが,そこに現れるのは桁数そのものではなく,その4倍である.本書のVに記述を渡す単位では,位置の桁に倍率が二度かかるからである.一度目は,位置とモデルの記述の切れ目が読む側に分かるように位置を自己限定形(定義 13.4.3)にするところ,二度目は,組み立てた記述をVに渡すところで,どちらも長さを2倍にする.次の定理の証明がその二段である.
定理 13.6.3(二部記述による上界). 定数𝜒 ∈ℕがあって,すべての𝑥 ∈ℕと,𝑥を含むすべての有限集合𝑆 ⊆ℕについて
𝐾V(𝑥)≤ℓ2P(𝑆)+𝜒が成り立つ.
証明. 復元する手続きを先に書き下す.M(𝑧,𝑦)を,位置を読む・モデルを復元する・その位置の要素を返す,の三段で次のように定める(第2引数は使わない).位置を読むところでは,𝑧の二進表示から先頭の1を落とした列を𝑢とし,𝑢の先頭から最初の0までの1の個数を𝑚として,その0の直後の𝑚ビットを二進表示として読んだ自然数を𝑖とする.モデルを復元するところでは,𝑢の残りのビット列を𝑒としてU(𝑒,0)を求め,その値に固定した符号化の復元を当てて自然数の有限列を得る.最後に,その列の先頭を位置0と数えて,位置𝑖にある項を返す.以上のどこかで形が合わなければ,M(𝑧,𝑦)は値を持たないとする(形が合わないのは,𝑧の二進表示が空列である,𝑢に0が現れない,𝑢の長さが𝑚ビットに足りない,U(𝑒,0)から自然数の有限列が得られない,列の項の個数が𝑖以下である,の五つの場合である).この対応は,有限個の場合分けと,Uを走らせるところと,固定した符号化から列を復元するところからなり,どれも計算の手続きで書き下せるから,Church–Turing のテーゼより部分計算可能であり,とくに 定義 13.1.3 の意味で機械である.定理 13.1.7 をこのMに当てて定数𝑏 ∈ℕをとり,𝜒 :=2𝑏 +4と置く.
𝑥 ∈ℕと,𝑥を含む有限集合𝑆 ⊆ℕをとる.𝑥 ∈𝑆だから𝑆は空でなく,⟨𝑆⟩とℓ2P(𝑆)が定まる.𝑆の要素を小さい順に並べたときの𝑥の位置を,先頭を0と数えて𝑖とすると0 ≤𝑖 <|𝑆|である.命題 13.1.5 を𝑦 :=0に当てて,|𝑒| =𝐾U(⟨𝑆⟩)かつU(𝑒,0) =⟨𝑆⟩を満たすビット列𝑒をとる.𝑢を,𝑖の二進表示の自己限定形(定義 13.4.3)の後ろに𝑒をつないだビット列とし,𝑠を𝑢の先頭に1を置いたビット列とする.先頭が1だから,定義 13.1.2 より𝑠が表す自然数の二進表示は𝑠そのものであり,Mの手続きはそこから𝑖と𝑒をこの順に読み取る.よってM(𝑠,0) =𝑥であり,長さは
|𝑠|=(2|𝑖|+1)+𝐾U(⟨𝑆⟩)+1だから,定理 13.1.7 より𝐾U(𝑥) ≤2|𝑖| +𝐾U(⟨𝑆⟩) +𝑏 +2である.
位置の桁数を抑える.𝐴 :=⌈log2|𝑆|⌉と置くと𝐴 ≥log2|𝑆|だから2𝐴 ≥|𝑆| >𝑖である.𝑖 =0なら|𝑖| =0 ≤𝐴である.𝑖 ≥1なら,𝑖の二進表示の桁数を𝑗として,先頭の桁が1であることから𝑖 ≥2𝑗−1であり,2𝑗−1 ≤𝑖 <2𝐴と 補題 8.2.5 より𝑗 ≤𝐴である.どちらの場合も|𝑖| ≤𝐴である.
𝐾Vに直す.命題 13.4.6 を𝑥と⟨𝑆⟩のそれぞれに当てると𝐾V(𝑥) =2𝐾U(𝑥) +1と2𝐾U(⟨𝑆⟩) =𝐾V(⟨𝑆⟩) −1だから
𝐾V(𝑥)≤2(2|𝑖|+𝐾U(⟨𝑆⟩)+𝑏+2)+1=4|𝑖|+𝐾V(⟨𝑆⟩)+2𝑏+4である.|𝑖| ≤𝐴と 定義 13.6.2 より右辺はℓ2P(𝑆) +𝜒以下である.◼
定理 13.6.3 は,どんな𝑆をとっても,定数のぶんを除けばその二部記述の長さで𝑥を書けると言っている.裏を返せば,𝑆をうまく選んでも,二部記述の長さが定数のぶんを超えて𝐾V(𝑥)を下回ることはない.
𝑆の選び方には両端がある.一方の端は一点集合𝑆 ={𝑥}で,モデルが𝑥そのものを書き下し,位置は何も担わない.もう一方の端は𝑥を含む大きな集合で,モデルはほとんど何も言わず,位置が全部を担う.定理 13.6.3 はどちらについても上界を与えるから,どちらへ寄せても𝐾V(𝑥)を定数のぶんを超えて下回ることはない.二つの端を長さで比べることに,本節のℓ2Pでは意味がない.定義 13.6.2 が位置の桁を4倍しているので,位置が担うぶんだけが膨らみ,比べた差はその倍率を映すからである.以下では一点集合の端だけを押さえる.
命題 13.6.4. 定数𝜒 ∈ℕがあって,すべての𝑥 ∈ℕについて𝐾V(⟨{𝑥}⟩) ≤𝐾V(𝑥) +𝜒が成り立つ(⟨ ⋅⟩は 定義 13.6.1 のとおり).
証明. 機械を先に作る.M(𝑧,𝑦)を次のように定める(第2引数は使わない).𝑧の二進表示が空列なら値を持たない.そうでなければ,その二進表示から先頭の1を落とした列を𝑒とし,U(𝑒,0)を求めてその値を𝑤とし,⟨{𝑤}⟩を返す.Uを走らせるところと,一つの自然数からなる列に固定した符号化を当てるところは計算の手続きで書き下せるから,Church–Turing のテーゼよりMは部分計算可能であり,とくに 定義 13.1.3 の意味で機械である.定理 13.1.7 をこのMに当てて定数𝑏 ∈ℕをとり,𝜒 :=2𝑏 +2と置く.
𝑥 ∈ℕとする.命題 13.1.5 を𝑦 :=0に当てて,|𝑒| =𝐾U(𝑥)かつU(𝑒,0) =𝑥を満たすビット列𝑒をとり,𝑠を𝑒の先頭に1を置いたビット列とする.先頭が1だから,定義 13.1.2 より𝑠が表す自然数の二進表示は𝑠そのものであり,M(𝑠,0) =⟨{𝑥}⟩である.よって 定理 13.1.7 より𝐾U(⟨{𝑥}⟩) ≤|𝑠| +𝑏 =𝐾U(𝑥) +𝑏 +1である.命題 13.4.6 を⟨{𝑥}⟩と𝑥のそれぞれに当てると
𝐾V(⟨{𝑥}⟩)=2𝐾U(⟨{𝑥}⟩)+1≤2𝐾U(𝑥)+2𝑏+3=𝐾V(𝑥)+𝜒である.◼
最小記述長
定義 13.6.5(最小記述長). 𝑥 ∈ℕに対し
ℓ2P∗(𝑥):=min{ℓ2P(𝑆):𝑆⊆ℕ は有限集合で 𝑥∈𝑆}と定め,𝑥の 最小記述長 と呼ぶ.
命題 13.6.6. 𝑥 ∈ℕとすると,𝑥 ∈𝑆かつℓ2P(𝑆) =ℓ2P∗(𝑥)を満たす有限集合𝑆 ⊆ℕが存在する.
証明. 一点集合{𝑥}は𝑥を含む有限集合だから,定義 13.6.5 の最小をとる集合は空でない自然数の集合であり,最小元をもつ.その最小元はℓ2P∗(𝑥)にほかならず,しかも𝑥を含むある有限集合𝑆についてのℓ2P(𝑆)だから,その𝑆が求めるものである.◼
定理 13.6.7. 定数𝜒 ∈ℕがあって,すべての𝑥 ∈ℕについて
ℓ2P∗(𝑥)≤𝐾V(𝑥)+𝜒かつ𝐾V(𝑥)≤ℓ2P∗(𝑥)+𝜒が成り立つ.
証明. 命題 13.6.4 の定数を𝜒1,定理 13.6.3 の定数を𝜒2とし,𝜒を𝜒1と𝜒2の大きいほうとする.𝑥 ∈ℕとする.
第1の不等式を示す.|{𝑥}| =1でlog21 =0だから⌈log2|{𝑥}|⌉ =0であり,定義 13.6.2 よりℓ2P({𝑥}) =𝐾V(⟨{𝑥}⟩)である.一点集合{𝑥}は𝑥を含む有限集合だから 定義 13.6.5 よりℓ2P∗(𝑥) ≤ℓ2P({𝑥})であり,命題 13.6.4 と合わせてℓ2P∗(𝑥) ≤𝐾V(𝑥) +𝜒1 ≤𝐾V(𝑥) +𝜒である.
第2の不等式を示す.命題 13.6.6 より𝑥 ∈𝑆かつℓ2P(𝑆) =ℓ2P∗(𝑥)を満たす有限集合𝑆がある.定理 13.6.3 をこの𝑥と𝑆に当てて𝐾V(𝑥) ≤ℓ2P(𝑆) +𝜒2 =ℓ2P∗(𝑥) +𝜒2 ≤ℓ2P∗(𝑥) +𝜒である.◼
定理 13.6.7 は,記述を二つに分けても損も得もしないと言っている.どんな分け方をしても,定数のぶんを除いて𝐾V(𝑥)より短くはならず,いちばんよい分け方をとれば定数の差まで届く.したがって,二部記述に意味があるとすれば長さそのものではなく,どの𝑆がその長さを実現するかのほうである.𝑆は𝑥について言えることを集めた対象であり,位置のほうは𝑆を知ってもなお残るばらつきである.
一致するのは定数の差までであって,値そのものではない.𝐾Vの値を返す手続きが無いことは 定理 13.5.1 で見たが,ℓ2P∗についても同じだ,とは 定理 13.6.7 からは出ない.本書はℓ2P∗の計算可能性を述べない.
次の定義は,定数のゆるみを許して「𝑆が𝑥を説明しきっている」という条件を書く.
コルモゴロフ十分統計量
定義 13.6.8(コルモゴロフ十分統計量). 𝜒,𝑥 ∈ℕとする.有限集合𝑆 ⊆ℕが𝑥の ゆるみ𝜒のコルモゴロフ十分統計量 であるとは,𝑥 ∈𝑆かつℓ2P(𝑆) ≤𝐾V(𝑥) +𝜒が成り立つことをいう.
語を一つ断っておく.第1章 1.9 節が十分と呼んだのは,確率変数𝑋を要約する統計量𝑇であった.本節が十分と呼ぶのは自然数を含む有限集合であって,確率変数でも統計量でもない.同じ「十分」を冠していても別の対象についての語なので,混ぜて読まないこと.読み方のほうは通じている.第1章では𝑇(𝑋)を知れば𝜃について𝑋以上のことは分からない,というのが十分の内容だった.本節では,𝑆を知ったあとに残るのは𝑆の中での位置だけで,その位置を書くのに要る長さは𝑆の記述と合わせてもゆるみ𝜒の範囲で最短に収まっている,というのが内容である.どちらも「これ以上絞れるものは残っていない」という条件である.
命題 13.6.9. 定数𝜒 ∈ℕがあって,すべての𝑥 ∈ℕについて,一点集合{𝑥}は𝑥のゆるみ𝜒のコルモゴロフ十分統計量である.
命題 13.6.9 は,定義 13.6.8 の退化した場合である.一点集合は𝑥そのものを書き下しているだけなのに,ある定数のゆるみをとればつねに十分統計量になる.定義 13.6.8 は単独では何も絞らない,ということである.
では,どういう𝑆を見たいのか.見たいのは,モデルの記述長が𝐾V(𝑥)よりずっと短く,それでいて十分であるような𝑆である.そういう𝑆があれば,𝑥の記述は「短く書けるモデル」と「その中での位置」に割れていて,前者が𝑥の中の規則的な部分を,後者がモデルを知ってもなお残るばらつきを担う,と読める.第12章の型による二段符号で,前半が系列の型を,後半が型だけでは決まらないぶんを担っていたのと同じ構図である.本書はこの読みを主張にはしない.
系 13.6.10. 定数𝜒 ∈ℕがあって,すべての𝑥 ∈ℕについて
−log2𝑃V(𝑥)−𝜒≤ℓ2P∗(𝑥)≤2(−log2𝑃V(𝑥))+1+𝜒が成り立つ.
本章が𝐾Vを抑えた式を並べておく.命題 13.4.6 の2𝐾U(𝑥) +1は等式だから,いちばん細かい.定理 13.4.10 は−log2𝑃V(𝑥)とその2倍に1を足したもので挟んだ.定理 13.6.7 はℓ2P∗(𝑥)と定数の差で一致することを言う.系 13.6.10 は後の二つを直接比べたもので,最小記述長と−log2をとった万能確率も,やはり係数2と定数のゆるみの範囲で互いを決める.三つのどれも,値を求める役には立たない.定理 13.2.3 のとおり𝐾Uを求める手続きは無く,定理 13.5.1 のとおり𝐾Vについても同じだからである.それでも三つが互いを定数と係数の範囲で決め合うことには意味がある.記述の短さ,でたらめなプログラムが当てる重みの大きさ,そして二つに分けた記述の短さが,同じ一つのことを測っているからである.
本章の出発点は,一本の系列の単純さを分布によらずに測ることだった.13.1 節から 13.3 節は素朴な記述長でそれを測り,1 文字あたりの平均がエントロピーに一致することを見た.13.4 節から本節までは機械を語頭のない形に取り替え,記述長が重みとも二部記述とも定数倍の範囲で同じものを測ることを見た.いっぽう,値を求める手続きが無いことを本章が示したのは,𝐾U(定理 13.2.3),𝐾V(定理 13.5.1),Ω(定理 13.5.8)の三つである.測り方が定まっているのに測れない,というのが本章の残す形である.
InformationTheory — 形式化検証つき情報理論教科書(レビュー版).数式は MathJax + AMS Euler で事前レンダリング.