世界を動かす技術を、日本語で。

第五のビジービーバー値の決定

概要

  • Busy Beaver問題 の5状態版に対する新しい値$S(5)$の厳密な決定
  • Coq証明支援系 を用いた形式的検証の実施
  • 181,385,789台 のTuring machineの網羅的な解析
  • 40年以上ぶり の新Busy Beaver値の確定
  • 大規模オンライン共同研究 の有効性の証明

Busy Beaver問題 $S(5)$ の厳密決定と形式的検証

  • Busy Beaver関数$S(n)$ は、n状態2記号Turing machineが全0テープから停止するまでに実行できる最大ステップ数
  • Tibor Radó (1962年) により、計算不能関数の代表例として提案
  • 今回、 5状態の場合の値 $S(5)=47,176,870$ を厳密に決定
  • Coq proof assistant を用い、証明過程を形式的に検証
  • 181,385,789台 の5状態Turing machineを全て列挙し、各機械の停止性を判定
  • 結果として、 $S(5)$の値が40年以上ぶりに更新 され、かつ 形式的検証 も世界初
  • 本研究は、 bbchallenge.org による大規模なオンライン共同研究の成果

技術的詳細と意義

  • 形式的検証 により、証明の完全性と再現性を担保

  • Enumerative approach による全探索と停止性判定の組み合わせ

  • Coq を用いた証明により、ヒューマンエラーや見落としの排除

  • Logic in Computer ScienceAutomata Theory数学的論理 分野への貢献

  • Busy Beaver問題の新たなマイルストーン確立

    • 03D10, 03B35 (数学的分類)
    • F.1.1, F.4.1, I.2.3, D.2.4, F.4.3 (ACM分類)

今後の展望と共同研究の意義

  • bbchallenge Collaboration による大規模分散型研究の成功例
  • 形式的証明 の普及と計算理論分野への波及効果
  • より高状態数 へのBusy Beaver探索および自動証明技術の発展期待
  • 論文・証明データ はarXivおよびbbchallenge.orgで公開

Hackerたちの意見

よくわからないなぁ - 彼らは力技を使ったの?

これらの数を計算するのに力技だけでは無理だよ。計算不可能なんだから。

5状態のチューリングマシンを徹底的にチェックする必要があると思うけど、その後は力技がちょっとだけ役立つだけだよね。力技じゃ、チューリングマシンが永遠に止まらないってことはわからないんじゃない?

ちょっと違うと思うけど、論文のこの部分が関係してると思うよ:

証明の構造。私たちの主な結果である定理1.1の証明は第6章にあります。証明の構造は次の通りです:マシンは木の正規形(TNF)で列挙され、検索空間のサイズが劇的に減少します:16,679,880,978,201の5状態マシンから「たった」181,385,789に。詳しくは第3章を見てね。各列挙されたマシンは、主に停止するかどうかを判断しようとするアルゴリズムである決定器を通して処理されます。停止問題の計算不可能性のため、普遍的な決定器は存在せず、すべての技術は合理的な時間内に大規模なマシン群を判断できる決定器を作ることにあります。私たちの決定器のほとんどは、チューリングマシンが訪れる構成のセットをより便利な上位集合で近似する抽象解釈フレームワークのインスタンスで、これを「閉じたテープ言語(CTL)」と呼んでいます。これは停止構成を含まず、チューリングマシンの遷移に対して閉じています(第4.2章を参照)。S(5)パイプラインは表3に示されています - S(2,4)については表4を見てください。この研究のすべての決定器はbbchallengeコラボレーションによって作成されました;第4章を参照してください。5状態マシンの場合、13のスパラディックマシンは決定器では解決できず、個別の非停止証明が必要でした(第5章を参照)。だから、彼らは検索空間を大幅に減らす方法を見つけ、残りの検索空間の大部分が停止するかどうかを証明できる一般的な決定器を書いたけど、一般的な決定器が推論できなかった残りの13台のマシンは手動で解決する必要があったんだ。

ここにはいくつかの概念が関わってるね。まず、特定の数学理論(おそらく一貫性があって再帰的に公理化できるもの)に基づいて、何が証明できるかを考えなきゃいけない。そんな理論に対して、BB(N)の正確な値を証明できない有限のNが存在するんだ。だから「無限の時間」があれば、理論が力尽きるところまで、すべての証明を列挙して、次々とビジービーバーの値を確認できるかもしれない。これはゴーデル/チャイティンの不完全性のビジービーバー版だね。BB(5)の場合、ペアノ算術が十分で、RCA₀も多分いける。もっと強力な理論はどこから来るのか?それはちょっと謎だけど、確かにその研究はたくさんあるよ(フェファーマンやフリードマンの研究を見てみて)。次に、有限の時間で何が実現可能かを考えなきゃ。機械を列挙することも、証明を列挙することもできるけど、具体的な戦略には限界がある。BB(5)の場合、著者たちは単純な力技は使わなかった。5状態の機械を徹底的に列挙して(対称性の削減後)、ほとんどすべての機械の停止/非停止の挙動を証明するために認定された決定器を使って、いくつかの残った機械については手動で証明(形式化もされた)を提供したんだ。

この研究で一番興味深いのは、オンラインでの共同作業だってこと。こういうプロジェクトが他にどれくらいあるのか、もっと広がる可能性があるのか気になるなぁ、プラットフォームとして。

BBチャレンジのサイトはすごくよく構成されてるね: https://bbchallenge.org/13650583

最近、Lean言語での数学的証明をブループリント(依存グラフ)を使って共同作業する動きがあるみたいで、関連してるっぽい。例えば: https://teorth.github.io/equational_theories/ https://teorth.github.io/pfr/

このコメントを見て、https://www.distributed.net/ がまだ存在しているか確認したくなった。おそらく20年近くこのサイトのことを考えてなかったけど、1990年代後半にRC5-64を解読していた頃にクライアントを動かしてたんだ。でも、今でもこの種のことに使えるプラットフォームとして続いているみたいだね。

論文では、似たような構造と規模を持つ2つのコミュニティについて言及しているよ: - https://conwaylife.com/、コナウェイのライフゲームや他のセルオートマトンについて - Googology、https://googology.fandom.com/wiki/Googology_Wiki と https://googology.miraheze.org/wiki/Main_Page、大きな数について

プログラマー向けの高レベルな概要を紹介するね(著者として名前が載ってるけど、貢献はかなり小さいよ): [リンクされた論文の表3でパイプラインの詳細を見てね]

  • 5状態のチューリングマシンは約1億8100万台あって、まずこれを徹底的に列挙した。
  • その後、各マシンを約1億ステップ実行した。その中の約25%がこのステップ内で停止することがわかって、チャンピオンは47,176,870ステップ実行してから停止した。
  • これで140百万台のマシンが長時間実行されることになった。だから、質問はこうだ:これらのチューリングマシンは永遠に動き続けるのか、それとも単に実行時間が足りなかったのか?BBチャレンジプロジェクトの目的はこの質問に答えることだった。すべてのチューリングマシンに適用できる普遍的なアルゴリズムはないから、代わりに一連の(準)決定器が作られた。各決定器はチューリングマシンを受け取り、(いくつかの証明されたヒューリスティックに基づいて)「確実に永遠に動く」か「もしかしたら停止する」と分類する。最終的に4つの決定器が使われた:
  • ループ:チューリングマシンをしばらく実行して、以前に見た構成に再び入ったら、永遠にループすることが確定する。約90%のマシンがこれをするか停止するから、ほとんどをカバーしてる。残りは6.01百万台。
  • NGram CPS:各チューリングマシンを抽象的にシミュレートし、各側に出現することが許可されているバイナリの「n-gram」のセットを追跡する。到達可能な状態の過大評価を計算する。もしその抽象状態のどれも停止遷移に入らなければ、元のマシンも停止できない。6.005百万台のチューリングマシンをカバー。約7000台が残ってる。
  • RepWL:チューリングマシンの構成を説明するカウントルールを導き出そうとする。NGramモデルは「カウント」できないから、これはパリティに依存するパターンの多くをキャッチする。6557台のチューリングマシンをカバー。残りは数百台。
  • FAR:各チューリングマシンの状態を正規表現/FSMとして記述しようとする。
  • WFAR:FARのようなものだけど、重み付きエッジを追加して、いくつかの非正則言語(例えば、かっこの一致)を記述できるようにする。
  • スパラディック:約13台のマシンが複雑な動作をしていて、以前の決定器では対応できなかった。だから手書きの証明(後にRocqに翻訳された)がこれらのマシンのために書かれた。すべての決定器は最終的にRocqで書かれたから、実際に意図した通りに機能することが正式に確認された証明と結びついている(「この関数がTrueを返すなら、対応する数学的チューリングマシンは実際に停止しなければならない」)。したがって、すべての5状態のチューリングマシンは正式に停止するか非停止するかに分類された。最も長く実行された停止器はチャンピオンで、すでにチャンピオンだと疑われていたけど、これでそれ以上長く実行される5状態のチューリングマシンは存在しないことが証明された。

Coq-BB5では、機械は100Mステップ実行されるのではなく、直接決定器のパイプラインに投げ込まれるんだ。ほとんどの停止する機械は、ループを使って低いパラメータ(最大4,100ステップ)で検出されて、47Mステップまでシミュレーションされたのは183機械だけだよ。レガシーbbchallengeのシードデータベースでは、機械は正確に47,176,870ステップ実行されて、約80Mの非停止候補が残った。差異は、Coq-BB5が0RBや他の小さな要因を除外していないことから来ている。また、「5状態のチューリングマシンは約1億8100万種類ある」と言われているけど、この数字は証明が完了した後にしか得られないことに注意が必要だね。この数字を知るのはBB(5)を解くのと同じくらい難しいんだ。

書いてくれてありがとう、すごく面白い!ロックが選ばれる理由って何かあるの?他の選択肢じゃなくて…あと、これも見てみて。 https://www.youtube.com/watch?v=c3sOuEv0E2I

ありがとう。素晴らしい仕事だね。

これはすごく分かりやすい素晴らしい要約だね。書いてくれて本当にありがとう!

すべてのチューリングマシンに対して機能する普遍的なアルゴリズムは存在しない。これは疑われているのか、それとも証明されているのか?もし証明があるなら、ぜひ読みたいな。

じゃあ、6州TMで同じことやったら、残るスパラディックはどれくらいになるんだろう?

まとめてくれてありがとう!あの13のスパラディックから何か学べることはあったの?それとも本当にただのスパラディックなの?

現代のEpycシステムで、マシンを1億ステップ評価するのにどれくらいの計算時間がかかるんだろう?

この分野に詳しくない者として、この解決策には具体的な利益があるの?それとも純粋に学問的なものなの?

ビジービーバー問題は、理論的なコンピュータサイエンスの質問の中でも最も理論的で、純粋に数学的なものの一つだよ。本当に抽象的な意味で何が可能かを考えることなんだ。それに取り組むことで、ソフトウェアの挙動を分析する能力が高まったけど、そのスキルや関連する技術が、実用的なことをするもっと複雑なソフトウェアの挙動を分析するのに直接役立つかは明らかじゃない。ここで分析されていたプログラムは、典型的なソフトウェア開発者の基準からすると非常に小さいものだし。具体的に言うと、これらの方法のいくつかが、証明支援ツールや最適化コンパイラで使える演繹的技術をインスパイアする可能性があると思うけど、その応用が明らかであるとも保証されているわけでもない。これに取り組んでいる人たちは、間違いなく応用コンピュータサイエンスではなく、理論的コンピュータサイエンスをやっていると自分たちを表現していたと思うよ。

BB数の研究は純粋に学問的で、それ以上のものになる可能性は低いよ。数学の他の部分が間違っていることが判明しない限りね。現在の理解では、これらの数は本質的に無用であることが保証されている。特にこの証明は、値がすでに知られているという意味で二重に学問的で、これは結果を独立して検証しやすくする方法に過ぎないんだ。これは、他のもの(例えば、フェルマーの最終定理)のために機械証明を提供するという広い動きの一部で、いくつかの面で有益かもしれない(例えば、問題を特定したり、証明の一部を「再利用可能」にしたりすること)。

純粋に学問的で、値を知ることで直接的な応用や何かが解放されるわけではない。利益はすべて、道中で学んだことにあるんだ。

具体的な利益を定義して、過去200年の間に具体的な利益をもたらした純粋数学の例を挙げてみて。ひとつの利益は、数学の基礎に関係していることだよ。もしビジービーバー番号745を見つけられたら、数学を証明したり反証したりできるし、ビジービーバー6を見つけたら、コラッツのような未解決問題を証明できるかもしれない。ほとんどのコア研究は直接的には役に立たないけど、間接的な手段を通じて役立つことが多い。例えば、これはその複雑さからリーンの改善点を見つけることにつながっただろうね。リーンコミュニティはMathlibみたいなプロジェクトからたくさん学んでいるのを知ってるし、リーンはAWSを良くしたり、飛行機の安全性を向上させたりするのに使われてるんだ。

これは純粋に学術的なもの…なのかな?G.H.ハーディの自伝は「数学者の謝罪」ってタイトルなんだけど、彼はちょっと冗談っぽく、純粋数学の人生を謝りたかったんだよね…完全に学術的で、全く役に立たないって。で、彼が亡くなった数年後、彼の数学はマンハッタン計画で初めて成功した原爆を作るのに重要だったんだ。彼の数学が世界を変える装置につながって、100年間人間の生活のあらゆる側面に影響を与えた。誰かが「使い道」を見つけるまでは「役に立たない」だけなんだよ。追記:この本はラマヌジャンとの時間を記録してるよ。「無限を知った男」という映画が好きなら、「謝罪」を読むべきだね。

100年前には、数論や非ユークリッド幾何学が具体的な利益を持つのか、純粋に学術的なものなのかを尋ねることもできたよね。ビジービーバー問題については、今のところ答えは「いいえ」だけど、純粋数学の有用な応用を見つける道のりは誰にも分からないんだ。

ビジービーバー問題を解決する方法を研究することは、静的解析などのさまざまなアプリケーションで停止問題を扱う方法を探求し、発展させるのにも役立つんだよね。

これは人類の美しい成果だよね。月に行くのと同じくらい。誰かが月に行くことに鉱採掘や岩に関連する応用があるかもしれないって言うかもしれないけど、基本的にはそれだけじゃないんだ。これを「純粋に学術的」って呼ぶのは好きじゃないな、なんか古臭くて虫食いの匂いがするし、全然面白くないから。これは純粋に精神的で、心温まるもので、頭を使うことでもある。山登りの人にK2に登ることに実用的な利点があるか、あるいは「学術的」かって聞くようなもんだよね。

結果自体は純粋に学術的だね。将来的に役立つかもしれないって言ってる人もいるけど、元数学博士の私としては、これは概念的なブレイクスルーというより、大規模な帳簿整理みたいに感じるな。ただ、すごくいい結果ではあるけどね =)

いわゆる「自然なアルゴリズム」が忙しいビーバーから生まれたんだ。で、その中には、改善されたデータベースやグラフィックス、その他いろんな形で、いつか役に立つものがあるはずだよ。

BB(5)は去年発見されたのに、なんで今になってこの論文が出てくるの?新しい進展でもあったの?

これはそのプロジェクトから出た(プレプリント)論文なんだ。つまり、レビューされて引用できるように、完結した作業の説明が含まれてるってこと。基本的な結果は変わってないけど、詳細のプレゼンテーションが今は完了してるよ。

これについて面白いのは、ビジービーバーのプログラムが何をしているのかの高レベルな説明がわかったことだよ。要するに、終了するまでコラッツ風の数列を計算しているんだ。これがこの論文に書かれているかはわからないけど、スコット・アーロンソンのトークで知ったんだ。https://www.youtube.com/watch?v=VplMHWSZf5c の31:40のスライドを見てみて。

コラッツに似てるけど、一つ大事な点があって:終わることが知られてるんだよね!

面白いね、BB6(「アンチヒドラ」)の候補にもなりそうなものが、コラッツ的なことをしてるみたい。コラッツって、長くて複雑な有限列を作るための良い設計図なのかな?

これがBB(6)に何か影響があるのか気になってたんだけど、どうやら正確に書き下すことはできないみたい(この宇宙には十分なスペースがないから)だから、BB(5)が正確な値がわかる最後のものになるんだね。

ウィキペディアによると、BB(6)の下限は2^2^2^2^2^2...を33554432回繰り返したものだって。これは確実に急成長する関数だね!

質問:証明を検証するための計算コストは、証明を作成するための計算コストよりもかなり少ないの?

コックは使ったことがないけど、この特定のケースでは、答えはかなりトリビアルな「はい」なんじゃないかな?証明を作成するのは巨大な研究の苦労で、発表可能な結果だし、検証するのは自分が書いたメモを見返すだけだもん(このチューリングマシンは停止しない、これが入力で、これが生成する繰り返しの数列、あのチューリングマシンは常に停止する、そしてこれがその証明の方法…)。でも、もっと一般的に言うと、あなたの質問は実際にはミレニアム賞問題で、百万ドルの価値があるんだよ。

まとめた証明を確認するのに、普通のノートパソコンだと数時間かかるけど、途中の実験や列挙にはもっと多くの処理能力が必要だったのは明らかだね。

一般的に、ZFCのすべての数学的証明に当てはまることだね(もっと強力な理論でも同様)。決定問題「式Fと整数nが与えられたとき、長さが<= nのFのZFC証明は存在するか?」はNP完全なんだ。つまり、証明を確認するのは多項式時間でできるけど、証明を導出するのには指数関数的な時間がかかることがあるってこと。

すぐにトライステート(PA-OH-WV)エリアのビジービーバーの店舗を思い出しちゃうな。 https://busybeaver.com/

この論文、すごく読みやすいね。

最高の褒め言葉だね。