13.2 圧縮できない対象と計算不可能性

13.1 節は一つの自然数にという尺度を与え,機械の選び方が定数のずれにしか効かないことを見た.尺度が定まったので,次は何が測れるかである.命題 13.1.6 はどのについてもを与えていた.すなわち,どの対象も自分を書き写す長さでは書き出せる.問いは逆向きで,それより短く書き出せる対象がどれだけあるかである.

答えは数え上げから出る.短い指示は本数が限られているので,短く書き出せる対象も本数が限られている.本節の主張はすべてこの一行から出る.どんな長さをとってもそれ以上の複雑性をもつ対象があること(系 13.2.2)も,の値を返す手続きが無いこと(定理 13.2.3)もそうである.

記述の短い対象を数える

定理 13.2.1. とすると,集合は有限であり,その要素数はより小さい.

証明. とおく.各に対し,命題 13.1.5 よりかつを満たすビット列があるので,そのようなものを一つ選んでと書く.である.

対応は単射である.というのもを満たすなら,は部分関数で,値を持つならその値は一つだから,となるからである.

長さが未満のビット列の本数を数える.長さのビット列は本だから,について足して

20+21++2𝑘1=2𝑘1

本である.の元はこの本の中の相異なるビット列に写るから,は有限で,その要素数は以下,とくにより小さい.

形式化: 有限性 condComplexity_lt_finite,要素数の評価 condIncompressible_count (ソース)

数え方の要点は一つだけである.指示は対象を決めるが,対象は指示を決めない.それでも各に最短の指示を一つ選んでしまえば,選んだ先は相異なるので,対象の個数を指示の本数で抑えられる.そして指示はビット列だから,長さで区切れば本数が数えられる.長さが未満のビット列は本しかないので,複雑性が未満の対象も個までである.

系 13.2.2. とすると,を満たすが存在する.

証明. そのようなが無いとすると,すべてのを満たすので,定理 13.2.1 の集合はの全体になる.ところが 定理 13.2.1 よりその集合は有限であり,は無限だから矛盾する.

形式化: exists_condIncompressible (ソース)

系 13.2.2 は,どれだけ大きなをとっても,ビット未満では書き出せない自然数があると言っている.この意味で圧縮できない対象はいくらでもある.ただし証明は,そのようなを一つも指していない.有限個しか無いはずの集合が全体になってしまう,という数え方の矛盾から存在を出しているだけである.指す手立てのほうは,次の 定理 13.2.3 の証明が扱う.そこでは,の値を返す手続きがあると仮定し,それを使ってを満たすを探す手続きを組み立てて,矛盾を出す.

記述長を返す手続きはない

定理 13.2.3. とすると,自然数を対応させる関数は計算可能でない.

証明. を固定し,が計算可能だとする.

に対し,を満たすのうち最小のものをと書く.系 13.2.2 よりそのようなは存在するので,は定まる.は,の順にを計算して,値が以上になる最初のを返す探索で求まり,この探索は必ず停止する.そこで(第引数は使わない)と定めると,Church–Turing のテーゼよりは計算可能であり,とくに 定義 13.1.3 の意味で機械である.

定理 13.1.7 をこのに当てて定数をとる.とし,の二進表示のビット列とすると,が表す自然数はだからであり,である.いっぽうの定め方からである.二つを合わせると,すべてのについて

𝑘|𝑘|+𝑏

が成り立つ.

これはを大きくとると破れる.とおくと,の二進表示はの後ろに個並べたものだからであり,上の不等式はになる.ところがについての帰納法よりだから

2𝑏+2=42𝑏4𝑏+4>2𝑏+3

である.矛盾した.

形式化: condComplexity_not_computable (ソース)

この証明は Berry のパラドックスと呼ばれる古い言い回しを,そのまま定理にしたものである.「三十文字未満の日本語で言い表せない最小の自然数」という言い回しは,二十三文字でその数を言い表しており,自分自身に反している.証明のがこの言い回しにあたり,を二進表示で書き下すビットが「三十文字」にあたる.言い回しのほうは「言い表せる」という言葉が曖昧なためにパラドックスにとどまるが,の側ではその言葉が 定義 13.1.4 で確定しているので,パラドックスはが計算可能だという仮定への反証になる.

定理 13.2.3 が否定しているのは,すべてのについての値を返す手続きの存在である.個々のについて上界を与えることは,命題 13.1.6定理 13.1.7 のとおりできる.できないのは,どのについても与えた上界が最短だと確かめられる,一つの手続きを持つことのほうである.確かめようとすると,それより短い指示を試して,どれもを出さないことを見なければならない.短い指示は有限本しかないのだから全部走らせればよさそうだが,走らせた指示が値を返さないとき,まだ返っていないのか永久に返らないのかを見分けなければならない.その見分けがつかないことは,についても言える.見分けがつくなら,短い指示から順に,止まると分かったものだけを走らせて最短のものを見つけられ,定理 13.2.3 に反するからである.本書はこれを,13.4 節で固定する別の機械についてだけ 13.5 節で書く.

書き写す長さとの隔たり

例 13.2.4(書き写す長さはほぼ達成される). とする.以上未満のどの自然数についてもであり,以上未満の自然数のうち少なくとも一つはを満たす.

証明. 前半から見る.以上未満の自然数とする.ならである.なら,の二進表示の桁数をとして,先頭の桁がであることからであり,補題 8.2.5 よりである.どちらの場合もだから,命題 13.1.6に当ててを得る.

後半に移る.定理 13.2.1に当てると,を満たす自然数は個より少ない.以上未満の自然数はちょうど個あるから,そのすべてがを満たすことはない.

例 13.2.4 の二つの評価の隔たりはビットである.上からは,ビットで書ける対象の複雑性はどれも以下で,これは 命題 13.1.6 の書き写す上界にほかならない.下からは,そのうち少なくとも一つが以上で,これは 定理 13.2.1 の数え上げから出る.つまり,書き写すという素朴な手続きは,最悪の対象についてはビットしか損をしていない.機械を工夫する余地は,対象を選べば大きいが(例 13.1.9),すべての対象について一律に稼ぐことはできない.

ここまでのは一つの自然数についての量で,分布は一度も出てこなかった.次節は,情報源から出た長さのブロックにこの量を当て,文字あたりの平均が第2章のエントロピーに近づくことを示す.分布についての量と,一本の系列についての量が,そこで初めて結びつく.

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