万物の理論を計算する (TED Talks)

Stephen Wolfram / 青木靖 訳
2010年2月

計算(computation)というアイデア

今日はあるアイデアについてお話しします。大きなアイデアです。おそらくこの1世紀の間に現れた最大のアイデアであると見なされるようになるでしょう。「計算」というアイデアです。このアイデアはもちろん、今日の様々なコンピュータ技術をもたらしたものですが、計算にはそれ以上のものがあります。非常に深く、強力で、根本的なアイデアなのです。私たちはその力をまだ目にし始めたばかりです。

私は過去30年を、この計算というアイデアに真剣に向き合おうとする3つの大きなプロジェクトに費やしてきました。若い時分に私は、コンピュータを道具として使う物理学者としてキャリアを始めました。その後それを掘り下げていくようになりました。やりたいと思う計算はどんなものか考え、計算を形作りうる基本要素は何か、どこまで自動化することができるのかを見極めようとしました。そして記号プログラミングに基づいたシステムを作るようになり、それがMathematicaへと繋がりました。この23年間私たちはMathematicaに多くのアイデアや機能を加速度的に付け加えていきました。Mathematicaが研究開発や教育の分野でたくさんの素晴らしい成果に貢献していることを、とても嬉しく思っています。そもそも私がMathematicaを作ったのは、とても利己的な理由だったことを打ち明けなければなりません。それは自分が使いたいものだったのです。ちょうどガリレオが400年前に望遠鏡を作ったのに似ていますが、私の見たかったのは天文学的な宇宙ではなく、計算的な宇宙だったのです。

新しい種類の科学

私たちは普通プログラムをとても明確な目的を持って作られた複雑なものと見ていますが、すべての可能なプログラム全体の空間というものを考えてみましょう。これは1つの非常にシンプルなプログラムの表現です。このプログラムを実行すると、このようなものが得られます。とてもシンプルです。プログラムのルールを少しだけ変えてみましょう。すると別な結果が得られますが、相変わらずシンプルです。もう一度変えてみましょう。幾分複雑になりましたが、しばらく実行し続けると、パターンは込み入っているにしても、とても規則的な構造をしているのがわかります。もっと違ったことも起き得るのでしょうか? もう少し実験してみましょう。数学的な実験をして、試し、探すのです。今見ているタイプのプログラムで考え得るすべてのものを実行してみます。これはセルオートマトンと呼ばれるものです。多様な振る舞いが見られます。多くのものはとてもシンプルですが、これら異なったパターンを見ていくと、ルール30のところで何か面白いことが起きています。ひとつルール30を詳しく見てみましょう。これです。下に示したごくシンプルなルールに従っているだけなのですが、このような驚くべき結果になるのです。私たちが見慣れた何にも似ていません。初めてこれを見たとき、直感的にものすごいショックを受け、これを理解しようとして結局は「新しい種類の科学」をまるまる作り出すことになったのです。(笑)

計算的還元不能性

この科学は違っており、この300年我々の使ってきた数学に基づく科学より もっと一般的なのです。一体どうやって自然は我々の目には複雑きわまりなく見えるものを、苦もなく作り出しているのか? それはずっと大きな謎に思えていました。私たちはその秘密を見つけたのだと思います。計算の宇宙にあるものをサンプリングするだけで、ルール30のようなものがよく見つかるのです。あるいは こんなものも。そのことが分かると、科学において長い間謎とされてきたことが見えてきます。しかしそれは同時に、計算的還元不能性という新たな問題も提起します。私たちは科学によって物事が予測できることに馴染んでいますが、ここにあるようなものは、根本的に還元不能なのです。その結果を知る実質唯一の方法は、ただ進化を見守ることしかないのです。これは私が計算的等価の原理と呼ぶものに関連しています。つまり非常に単純なシステムが、他のどんな高度なシステムとも同等の計算を行い得るということです。任意の計算ができるようになるために、さほどのテクノロジーや生物進化は必要となりません。それは至る所で自然に起きていることなのです。このようなシンプルなルールでできることなのです。このことは、科学に予想や制御のできない領域があることを示しています。生物学的なプロセスや経済に関すること、宇宙にある知性、自由意志についての疑問、テクノロジーの創造などがそうです。

計算のキラーアプリ

長年この科学に取り組んできた中で、私はいつも思っていました。「これの最初のキラーアプリになるのは何だろうか?」 私は子供の頃から知識を体系化したり計算可能にすることに関心を持っていました。ライプニッツも300年前に同じことを考えています。しかし私はまた、進歩のためには脳全体を複製する必要があるとも思っていました。しかし今はこう考えるようになりました。「この私の科学パラダイムはそれとは違ったことを示している。自分にはMathematicaによる膨大な計算能力があり、大規模で一見クレージーなプロジェクトでも遂行できる世界第一級のリソースを持つ会社のCEOでもあるのだから、世界の体系的知識のどれほどが計算可能にできるものか、ひとつ試してみることにしよう」。

Wolfram Alphaの紹介

これは大きくてとても複雑なプロジェクトです。そもそもうまくいくのかも分かりませんでした。しかしありがたいことに、これはとてもうまくいっています。去年私たちは最初のWebサイト版のWolfram Alphaを公開することができました。これの目的は質問に対する答えを計算する本格的な知識エンジンを作ることです。試してみましょう。

最初は簡単なことからやってみましょう。[2+2と入力] うまくいくでしょうか…うまくいきました。ここまでは順調です。(笑) もう少し難しいことをやってみましょう。たとえば…[integrate x^2 sin^3 x dxと入力] 少し数学的なことをやって、うまくいけば答えを出して、さらに関連した数学的に興味深いことを何か教えてくれます。現実世界のことについて質問することもできます。たとえば…何にしよう…スペインのGDPはいくらか? 答えてくれるはずです。ついでに関連したことを聞いてみましょう。スペインのGDPを何かで割ってみましょう…えーと…Microsoftの売上とか。(笑)  ここで実現したいのは、こういった質問をどのようにでも考えた通りに入力できるということです。もっと質問を試してみましょう。たとえば健康に関する質問です。そういうことを調べてくれるラボがあるつもりで入力してみましょう。「50歳男性 LDLコレステロール 140」。するとWolfram Alphaは利用可能な公的医療データを使って、それがヒストグラムのどこにあたるかを見出します。今度は国際宇宙ステーションのことを尋ねてみましょう。どこかから情報を見つけてくるだけではありません。今この瞬間に国際宇宙ステーションがどこにあり、どれだけの速さで移動しているかを、リアルタイムで計算しています。

Wolfram Alphaは様々な種類のことを知っています。今では普通の資料集などで見つけられる情報のかなりの部分が網羅されています。しかし目標としているのは、もっと深くもっと広く、あらゆる知識を万人に開放し、あらゆる分野について権威ある情報源となって、人々の抱く疑問に対し計算によって答えを出すことです。誰かが以前どこかに書いたことを見つけ出すというのではなく、組み込まれた知識を元に個々の質問に対して新たに計算して答えを導くのです。

Wolfram Alphaの構築

もちろんWolfram Alphaは極めて大きな長期プロジェクトで、多くの難題があります。まず膨大で多様な知識やデータを収集する必要があります。そこでMathematicaの自動化と各分野の専門家の組み合わせによる大きなパイプラインを構築しました。しかしそれは始まりにすぎません。生の事実やデータに基づいて実際に質問に答えるために計算をする必要があり、科学やその他の領域で何世紀にもわたって築かれてきた、様々な手法やモデルやアルゴリズムを実装する必要があります。Mathematicaという出発点があったにしても、これは膨大な作業です。今の時点でWolfram Alphaには多様な領域の専門家により書かれた、800万行に上るMathematicaのコードがあります。

Wolfram Alphaで重要な考え方は、普通の言葉を使って質問ができるということで、それはつまり人々が入力欄に入れるあらゆる奇妙な文章を受け入れ、理解できる必要があるということです。そんなこと率直に言って不可能だと思っていたことを打ち明けます。2つ大きなことがありました。1つは計算の宇宙の研究から言語に関するたくさんの新しいアイデアが出てきたということです。もう1つは、実際に計算可能な知識を持つことによって、言語理解への取り組みが根本的に変わると気付いたことです。Wolfram Alphaが公開された今、実際の使われ方から学ぶことができます。そしてWolfram Alphaと人間のユーザの間には、興味深い共進化が見られます。これはとても勇気づけられることです。現在、Webでのクエリを見ると、その80%以上が最初の試みで成功裏に答えを得ています。iPhoneアプリでは、この割合はさらに高くなります。だから私はこの結果にとても満足しています。

しかし色々な点でWolfram Alphaはまだはじめの段階にあります。すべてがとてもよくスケールしており、私たちは自信を深めています。Wolfram Alphaのテクノロジーが、より多くの場所で目にされるようになるでしょう。Webサイト上の公的データというのもありますし、個人や会社のプライベートな知識というのもあるでしょう。Wolfram Alphaの提供するのが「知識に基づく計算」とでも言うべき全く新しい種類の計算であることに気付きました。単に計算だけをするのではなく、組み込まれている膨大な知識から出発するのです。Webであれ、その他の形態であれ、計算の提供に関わる経済を本当に変えることになるでしょう。

MathematicaとWolfram Alpha

現在は本当に面白い状況にあります。一方にはMathematicaがあり、厳格で形式的な言語と、注意深く設計された機能の巨大なネットワークによって、ほんの数行のコードで実に多くのことを成し遂げられます。いくつか例をお見せしましょう。とても単純なMathematicaプログラムです。ここではたくさんの機能を組み合わせています。この行ではちょっとしたユーザインタフェースを追加していて、それで面白いことができます。さらにもう少し複雑なプログラムです。色々なアルゴリズム的なことをやって、ユーザインタフェースを作り出しています。これはとても厳密に定義されたものです。厳密な仕様が厳格な形式言語で記述されていて、それによりMathematicaはどうすれば良いのかが分かります。

一方でWolfram Alphaの方には、世の中のごちゃごちゃしたものや、自然言語などが組み込まれています。この2つを一緒にするとどうなるのでしょう? 実はとても素晴らしい効果を上げます。Wolfram AlphaをMathematicaの中で使うと、たとえば現実世界のデータを使う精密なプログラムを作ることができます。これはごく簡単な例です。曖昧な入力を与えて、考えていることをWolfram Alphaに推測させることもできます。試してみましょう。[spikey(とげとげ)と入力] これの一番エキサイティングなところは、プログラミングを万人のものにできる可能性があるということです。どうしたいのかを普通の言葉で書けば、Wolfram Alphaがそれを実行する正確なコードを見出せるようになるでしょう。そして例示した中から必要なものを選ばせることで、より大きく正確なプログラムを構築できるでしょう。時にはWolfram Alphaがその全てを即座に行ってプログラムを返し、ユーザがそれを実行できることもあるでしょう。これは私たちが様々な種類の学習等に使えるデモを集めた大きなWebサイトです。1つをお見せしましょう。計算実行できるドキュメントの1例です。これはごく小さなMathematicaのコード片で、その場で実行することができます。

計算の宇宙からテクノロジーを生み出す

元の話に戻りましょう。私たちの新しい種類の科学によって、テクノロジーを生み出すのに使える一般的な方法は得られるのでしょうか? 物質的なことであれば、私たちは世界中をまわって特定の技術的目的のために有用な、特定の物質を見つけます。計算の宇宙でも、同様のことができるのが分かります。プログラムの供給は無尽蔵にあります。難しいのは、それを人の目的にどう合わせるかということです。たとえばルール30なんかは、非常に良い乱数生成器になることがわかります。他のシンプルなプログラムにも、自然界や社会のプロセスの良いモデルになるものがあります。実際Wolfram AlphaやMathematicaには、計算の宇宙の探索で見つけたアルゴリズムがたくさん入っているのです。たとえばこれは、計算の宇宙を探索して音楽形式を見出すもので、作曲家の間でとても人気があります。ある意味で、計算の宇宙を使ってクリエイティビティのマスカスタマイゼーションができるのです。Wolfram Alphaを使ってルーチン的に発明や発見を即座に行い、あらゆる素晴らしいものを、エンジニアの手や、進化プロセスを介することなく見出すことができるようになるのではと思っています。

我々の宇宙のアルゴリズム

そしてこれは究極の疑問に繋がります。計算の宇宙のどこかに我々の物質的な宇宙は見出せるのか、ということです。我々の宇宙には、ごくシンプルなルールや、シンプルなプログラムさえあるかもしれません。物理学の歴史から、宇宙のルールはすごく込み入ったものに違いないと私たちは思っています。しかし計算の宇宙では、ものすごくシンプルなルールが、ものすごく豊かで複雑な振る舞いを生み出しうることを見ました。私たちの宇宙でもそのようなことが起こっている可能性はないでしょうか? 宇宙のルールがシンプルなら、それはとても抽象的で低レベルなはずで、物事の表現を難しくしている時間や空間といったものよりも、ずっと下のレベルで作用していることでしょう。少なくともある種のケースにおいては、宇宙は一種のネットワークと見ることができて、それは十分大きくなると連続的な空間のように振る舞います。ちょうど分子がたくさん集まると連続的な流体として振る舞うように。すると宇宙はわずかなルールを適用してこのネットワークを徐々にアップデートしていくことで進化するはずです。そして可能なルールのそれぞれが、宇宙の候補に対応しているのです。

これは以前に公開したことはないのですが、私が検討してきた宇宙の候補の一部です。この中のあるものは望みがなく全く不毛で、空間や時間の概念がなかったり、物質が存在しないという病的なものです。しかしエキサイティングなことに、計算の宇宙をそう遠くまで探しにいかずとも、我々の宇宙との違いがさほど明らかでない候補が見つかることが、数年前にわかりました。問題は、私たちの宇宙の候補として考えられるようなものは、必然的に計算的還元不能性に満ちており、それが本当にどう振る舞うのか、ひいては我々の物理的宇宙と適合するか、知るのが極めて困難だということです。何年か前、非常にシンプルなルールで特殊相対性と一般相対性や重力まで再現でき、量子力学の兆候さえ示すような宇宙の候補を見つけて、非常に興奮しました。では物理学の全体は見つかるのでしょうか? はっきりとはわかりません。しかし少なくとも試みないとしたら、それは恥ずかしいことだと思います。

簡単なプロジェクトではありません。たくさんのテクノロジーを構築する必要があります。少なくとも既存の物理学と同じくらい深い体系を構築する必要があるでしょう。その努力をどう組織化するのが最善なのかよく分かりません。チームを作るのか、広く公開するのか、賞金を提示するのか。しかし私は今日ここで、そのプロジェクトに真剣に取り組むことを宣言したい。これからの10年で見極めたいと思います。果たして我々の宇宙のルールに到達することができるのか、我々の宇宙があらゆる可能な宇宙の中のいったいどこにあるのか、そしてWolfram Alphaに究極の宇宙の理論は何かと入力して答えが得られるようになるのか。(笑)

まとめ

私はこれまで30年以上計算というアイデアに取り組んできて、ツールや手法を構築し、知的なアイデアを何百万行というコードとサーバファームへと変換してきました。年々私は、計算というアイデアがいかに強力なものかという思いを強めてきました。それは我々をはるばる導いて来ましたが、これからさらに多くをもたらすでしょう。科学の基礎やテクノロジーの限界から人間条件の定義にいたるまで。計算が我々の未来を決めるアイデアであることは、間違いないだろうと思います。どうもありがとうございました。(拍手)

Q&A

アンダーソン  素晴らしいお話でした。どうぞこちらに。お聞きしたいことがあります。控えめに言っても驚くべき講演でした。このような考え方が、宇宙を説明する基礎として考えられているひも理論のようなものとどう統合できるものか、一言か二言で説明していただくことは可能でしょうか?

ウルフラム  私たちが真理であると知っている物理学の一部として、標準理論のようなものがあります。私がやろうとしているのは標準理論をよりよく再現するということで、それができなければ単に間違っているということでしょう。人々がこの25年かそこらの間ひも理論などで試みてきたのは、標準理論へと戻ろうとする興味深い探求ですが、まだそこに至ってはいません。私のやっている大きな単純化は、実際ひも理論で行われてきたことと大きく共鳴する部分があるのではと思っています。しかしこれは複雑な数学であり、どういうことになるのかまだ分かってはいません。

アンダーソン  この聴衆の中にブノワ・マンデルブロがいます。彼もまた、シンプルなものから如何に複雑なものが生じうるかを示しました。彼の仕事とあなた仕事は関連していると思いますか?

ウルフラム  関係していると思います。ブノワ・マンデルブロの仕事は、この様な領域を生み出す基礎的な貢献をしたと思います。彼が特に関心を持っているのは、入れ子になったパターン、フラクタルです。それは木のような構造で、大きな枝があり、それが小さな枝を作り、それが更に小さな枝を作るという具合に続いていきます。これは真に複雑なものへと至る1つの方法です。ルール30セルオートマトンのようなものは別なレベルに至るものだと思っています。実際、それはまさに別なレベルへと至るための方法であり、おおよそ複雑さが到達しうる限りの複雑さを生み出せるように思えます…これについてはいくらでも議論を続けられますが、やめておきましょう。

アンダーソン  スティーブン・ウルフラム、ありがとうございました。

 

[これはTED公式日本語訳です。翻訳をレビューしていただいた水谷夏彦氏に感謝します。]


付録

デモの中でWolfram Alphaを使って行った質問

 

home  rss  

オリジナル:  Stephen Wolfram: Computing a theory of everything