計算:この世界のすべてを動かす普遍的で根本的な概念
Computation as a universal and fundamental concept
Computation as a universal and fundamental concept
計算(Computation)とは、単なる数値処理のことではありません。宇宙の法則や情報の伝達、そして私たちが目にしているあらゆる現象の根底にある、非常に普遍的かつ根本的な概念です。この奥深いテーマについて深く掘り下げていきます。
計算という概念は、当初考えられていたよりもはるかに一般的なものだとわかってきた。今や多くの計算機科学者が、計算と宇宙の機能を同義と見なしているほどだ。最近では、決定不能な物理的プロセスが実在することが示されている(原子の格子にスペクトルギャップがあるかどうか、流体の中の特定の粒子が特定の地点に到達するかどうか、光線が特定の反射構成で特定のターゲットに届くかどうかは判定できない)。世界は計算可能に見えていたが、実際にはP=NPであってもそうではないということだ。
停止問題についてずっと引っかかっていることがあるんだ。自分の理解不足かもしれないけど、以下の条件ならどうだろう。
この場合、その実行が停止するかどうかは、どうにかして解決または証明できると確信しているんだ。
(x)外部の周辺機器やネットワークに触れた瞬間に、「友人に電話したら出てくれるか?」という質問をしているのと同じになる。その唯一の答えは「相手が電話に出るなら出るし、そこにいれば出る」というもの。試してみる以外に答えようがないよね。
何か勘違いしてる?もちろん、メモリチップが応答しなくなるといった限定的なモデルでも別のエッジケースを持ち込めるのは分かってるけど、信頼できる機材を使って外部と一切接触しないなら、なぜ解決できないのかが分からない。
馴染みのない人のために補足すると、Tim Roughgardenは素晴らしい講師で、アルゴリズムゲーム理論という分野に大きな貢献をしている。この分野は彼がここで取り組んでいる研究とも深く関わっているんだ。彼のこのトピックに関する素晴らしい入門講義は、ここで語られているアイデアをより厳密に追いたいなら強くおすすめするよ:https://www.youtube.com/watch?v=TM_QFmQU_VA&list=PLEGCF-WLh2... (https://www.youtube.com/watch?v=TM_QFmQU_VA&list=PLEGCF-WLh2RJBqmxvZ0_ie-mleCFhi2N4)
彼のウェブサイトには他にも多くの研究成果や講義ノート、演習問題がある:https://timroughgarden.org/ (https://timroughgarden.org/)
Timの講義は、私が博士課程でこの分野の知識を急いで身につけなければならなかった時にとても助けになった。計算機科学者がこれらの幅広いアルゴリズムの問題に取り組む際の、より洗練されたアプローチの一部を学べるよ。
物質は知覚を持ちたがっているんじゃないかと本気で思うよ。知覚を持つことは自然なことなんだ。なぜそう思うのか正確な理由は分からないけど、直感的にそう感じるんだ。
「計算」は本当に普遍的で根本的なものなんだろうか?チューリングマシンやラムダ計算、アルゴリズム表記などは、すべて人間が作った形式体系に過ぎない。停止問題や計算可能性の限界は、単に人間が作った形式システムの中にのみ存在する制約じゃないのか?
複雑さを減らすために形式を制約すると、その制約の中から必然性が生まれてくるように感じる。例えば「CRUDアプリ」と言えば特定のパターンが思い浮かぶように、一度「形式」を採用すると、それに伴う制約が状態空間を徐々に広げていく。その意味では、発見であると同時に発明でもある気がする。
有名な数学者や科学者はモデルと現実を区別するが、私たちはモデルの形を現実そのものと勘違いしがちだ。John WheelerやStephen Wolframのような人々は、計算は宇宙の基本的な性質だと主張している。しかし、人間の認知に合わせるために現実をダウングレードして情報を失わせ、それを再びアップグレードした時に、情報が完全に復元されていると言い切れるだろうか?この点はいつも難しいと感じる。
ランダウの原理は、抽象的な論理演算や情報の消去が物理的なエントロピーを必然的に増大させると述べている。これは物理的に実装された情報処理には熱力学的なコストがかかることを示しているが、だからといって計算が根本的だという証明にはならないと思う。
計算であれ幾何学であれ、すべては人間が作った抽象的な形式だ。実際に測定すれば物理法則に従う。しかし、それが根本的であるかどうかは難しい問題だ。これらは人間が現象に名前を付けて制約を加えたプロセスの結果に過ぎないんじゃないか。原因ではないと思う。
計算を「ルールに従って状態が次へ変化するプロセス」と広く定義すれば、ほとんどすべてが計算に見えるようになる。でも、計算で何かを説明できることと、計算が根本的であると主張することは別の話だよね?
意味は人間が作った形式の構造や制約の中に存在する。私たちは人為的に認知の複雑さを下げ、人間の言語に翻訳している。それが根本的かどうかは分からない。
私は還元主義者なのかもしれない。頭脳明晰な学者の多くがそう主張しているが、私のような頭の回転が遅い人間は、こうした馬鹿げた考えに行き着いてしまう。自分の考えをうまく整理できればいいんだけど。
離散数学とアルゴリズムは、大学で一番気に入っていた授業だった。計算機科学の中で、本当に知的な衝撃を受けた唯一の分野だったんだ。残りのソフトウェアエンジニアリングは、明らかに「可能」なことの積み重ねだった。巨大なプログラムやOS、数値モデルが存在し、卒業後にそれを触って機能を追加していく、それはそれで確かなことだけどね。
でも、決定不能性やゲーデルの不完全性定理、忙しいビーバー数といった概念は、予想外で学ぶ価値があった。
Hadas教授、おかげで知的な衝撃を受けるという楽しい体験ができたよ。
サイトの「About」セクションによると:
「Ergoは、一流の学者による長編の哲学的講義コースを公開する非営利団体です。公開するすべてのコンテンツは、広告やペイウォールなしで自由に利用できます。」
週末に雨が降ったら何をするか決まったね!
素人考えだけど、計算に関連して「状態」という概念がある(関数型言語は状態なしでもなんとかなることもあるけど)。惑星を動かし続けるために裏で何らかの関数や計算が「実行」されていて、惑星の質量がその計算の重要な要素だとしたら、宇宙はどうやって太陽の質量を「知っている」のだろうといつも不思議に思う。となると、質量は計算されるたびに「その場で(on the fly)」算出されているのか(それだと負荷が高そう)、それとも変数なのか(更新はどうやっているのか?どこに「保存」されているのか?)。
今から言おうとしていることと似た内容の長いコメントがたくさんあるので、手短にまとめるよ。
メタフィジックス(形而上学)は(定義上)人間がシンボルによるコミュニケーションを用いる領域であるため、計算は「形而上学的に」普遍的で根本的な概念だ。だから、記号プロセスの一般的な理論(例えばチューリングマシン)が、科学的プロセスを理解するためのシンボル的アプローチに関連しているのは当然だ。
しかし、そこから飛躍して計算が宇宙の法則にまで及ぶと言うのは根本的な間違いだ。計算は宇宙の法則を「反映」しているに過ぎない。科学的・数学的な人間の言葉がそうであるのと全く同じ方法でね。未解決の謎は、人間が宇宙空間や時間、因果関係などを直感的に理解し、現実のプロセスを反映した一貫性のあるシンボルのルールを定義できていることだ。コンピュータが記号を与えられてそのルールを常に実装できるという事実は科学的に興味深いけれど、それを宇宙の根本概念だと言うのは独我論的すぎるよ。
新しいテクノロジーが発明されて大きくなるたびに、人々が何でもそれで説明しようとするのが面白いよね。16~17世紀には宇宙を巨大な時計だと考えたし、19世紀には巨大な蒸気機関だと考えた。今は宇宙を巨大なコンピュータだと考えている。
これが間違っているとか、上の講義を全部見たとかいうわけじゃない。ただ、異星人が私たちを見た時に、私たちがナッツを割るために石を使っているサルを見て「宇宙は巨大なナッツ割りの石なんだ」と考えているように見えるかもしれないと想像すると笑えるよね。
とはいえ、計算や情報は本当に普遍的なもののように思えるから、これはあくまで面白い思考実験であって、真面目な批判ではないよ。