mathematica

スティーブン・ウルフラム 「万物の理論を計算する」

「計算は我々の未来を決めるアイデアである」ウルフラムは熱く語りかける。ここでは、70万ビューを超えるStephen WolframのTED講演を訳し、すべての知識を計算可能にするという挑戦の意義を理解する。

要約

Mathematicaの生みの親であるスティーブン・ウルフラムが自らの取り組む、全ての知識を計算可能にするという課題、すなわち知識を検索し、処理し、操作できるようにしようという彼の挑戦について語ります。彼の新しい検索エンジンWolfram Alphaが目指している目標は、宇宙の背後にある物理を説明するモデルを見出すことに劣らず大きなものです。

Stephen Wolfram is the creator of Mathematica and Wolfram|Alpha, the author of A New Kind of Science, and the founder and CEO of Wolfram Research.

 

1 計算という根本的なアイデア

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

 

2 Mathematicaは自分が使うために作った

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

 

3 プログラムに数学的な実験をする

私たちは普通プログラムを とても明確な目的を持って作られた 複雑なものと見ていますが、すべての可能なプログラム全体の空間というものを考えてみましょう。これは1つの非常にシンプルなプログラムの表現です。このプログラムを実行すると このようなものが得られます。とてもシンプルです。プログラムのルールを 少しだけ変えてみましょう。すると別な結果が得られますが 相変わらずシンプルです。もう一度変えてみましょう。幾分複雑になりましたが しばらく実行し続けると パターンは込み入っているにしても とても規則的な構造をしているのがわかります。もっと違ったことも起き得るのでしょうか? もう少し実験してみましょう。数学的な実験をして 試し 探すのです

 

4 「新しい種類の科学」を作り出すことになった

今見ているタイプのプログラムで 考え得るすべてのものを実行してみます。これはセルオートマトンと呼ばれるものです。多様な振る舞いが見られます。多くのものはとてもシンプルですが これら異なったパターンを見ていくと ルール30のところで 何か面白いことが起きています。ひとつルール30を 詳しく見てみましょう。これです。下に示したごくシンプルなルールに従っているだけなのですが このような驚くべき結果になるのです。私たちが見慣れた何にも似ていません。初めてこれを見たとき 直感的にものすごいショックを受け、これを理解しようとして結局は「新しい種類の科学」をまるまる作り出すことになったのです

 

5 科学には予想や制御のできない領域がある

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

 

6 「これの最初のキラーアプリになるのは何か?」

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

 

7 Wolfram Alphaの目的は質問に対する答えを計算する知識エンジンを作ること

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

 

8 国際宇宙ステーションの場所や速度も計算する

どこかから情報を 見つけてくるだけではありません。今 この瞬間に国際宇宙ステーションがどこにあり どれだけの速さで移動しているかを リアルタイムで計算しています。Wolfram Alphaは様々な種類のことを知っています。今では普通の資料集などで 見つけられる情報のかなりの部分が 網羅されています。しかし目標としているのは もっと深く もっと広く あらゆる知識を万人に開放し あらゆる分野について 権威ある情報源となって 人々の抱く疑問に対し 計算によって答えを出すことです。誰かが以前どこかに書いたことを 見つけ出すというのではなく 組み込まれた知識を元に 個々の質問に対して新たに計算して答えを導くのです。

 

9 800万行に上るMathematicaのコードがある

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

 

10 重要なのは普通の言葉を使って質問ができること

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

 

11 提供するのは「知識に基づく計算」

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

 

12 Mathematicaは厳密な定義・仕様・形式言語を持つ

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

 

13 Wolfram Alphaは複雑な自然言語などを持つ

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

 

14 プログラムを人の目的にどう合わせるかが課題

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

 

15 計算の宇宙のどこかに物質的な宇宙は見出せるか

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

 

16 2つの違いが明らかでない候補が見つかった

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

 

17 物理を説明するモデルを見出すプロジェクト

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

 

18 計算は我々の未来を決めるアイデア

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

 

19 質疑応答—ひも理論との関係は?

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

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

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

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

スティーブン ウルフラム ありがとうございました(拍手)。

 

最後に

Mathematica の厳密さと Wolfram Alpha の柔軟性があれば、万物の理論を計算することができる。おもしろい

和訳してくださった Yasushi Aoki 氏、レビューしてくださった Natsuhiko Mizutani 氏に感謝する(2010年4月)。

Mathematicaクックブック


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>