リチャード・ファインマンとビル・ゲイツ
(Page 3)

ゲイツ: この先10年とか20年のコンピューティングの性向を予言してみるというのは,私がとても気になってる問題のひとつです.それが可能なら,私たちはできる限り知っておきたい.そうすれば今のうちから将来の土台を作りはじめることができますよね.個人的にはそのためのいいアイディアを探しているのですが…

ファインマン: うーん,まずはソフトウェアを書くための新しいモデルが必要でしょうね.何をやるにもソフトウェアが重要になってきていることを考えればそう思います.次世代のソフトウェアは,自然法則によって規定された「自然物」をもとに作られる必要があると私は思います.もしソフトウェアのオブジェクトを自然物にならって設計できれば,真に新しく,意味のある段階に移行したと言えるでしょう.

ゲイツ: それはなぜですか?

ファインマン: まずソフトウェアが意図した通りに動いてくれるという確信がもてます.この考えを推し進めると,もし境界条件が変わっても,同一のソフトウェアが適切に自己変換されるべきだということになります.現状ではコンピュータ・プログラムがどれだけ考え抜かれたものであっても,いつも予期せぬエラーが入っているように思います.これは設計者や開発者のせいではなく,プログラムを書いたときに使われたモデルのせいで起こることなのです.現在の巨大なソフトウェア・システムは砂浜に作った精巧なお城のようなものだと思います.突然大きな波が来ると,跡形もなくなってしまうのです.

ゲイツ: それでは我々は根本的な変更をする必要があるということでしょうか?

ファインマン: そう思いますよ.ソフトウェア開発は規格とかプロトコルなんかよりも高い基準と結びつけておく必要があります.自然法則が現実世界での物の振る舞い方を支配するのと同じように,コンピュータが書き換えていく数値データを扱うべきなのです.

ゲイツ: しかしソフトウェアを書く人間は物理屋でもあるべきだということになりませんか?

ファインマン: そこまでは言ってません.君が物理法則のことを心配しているのなら,基本的な自然法則は単純だと言っておきましょう.その単純さこそが,自然法則の強力さや美しさをもたらすのです.ややこしい計算を経て,最終的に出てくる答えは信じられないくらいシンプルになります.君が持っている私のビデオで伝えたかったのはそういうことです.それに,少しばかり物理を知ってるからといって損をすることはありません.我々の文化の一部なのですから!

ゲイツ: そうですね.その新しいモデルで,テスト作業も楽になるかもしれません.ソフトウェアのテストはマイクロソフトではとても重大なものになっています.我々はいつも,製品発表の期日にむけてテスト作業の締切に追われています.

ファインマン: まさにその通りです.どうやって起こりうる問題すべてに対してソフトウェアのテストをするというんでしょう?今の手法を使っていても,そんなことできるはずがありません.しかし,ソフトウェアのオブジェクトを自然法則にもとづいて設計できれば,テスト工程はもっとすっきりしたものになるだろうし,結果に対してもっと自信がもてるようになるはずです.テストが失敗しても,何か新しいことや思いがけないことを発見したということになります.それが物理というものです.自然法則は嘘をつかないのだから!

ゲイツ: チャレンジャー号の事故であなたが書いた個人的な報告書の最後の一文を覚えています.「テクノロジーを成功させるためには,広報よりもまず現実を優先すべきである.なぜなら自然を欺くことはできないからだ」(大貫訳)ということですね.

ファインマン(見るからに喜んで): よく分かってるじゃないか!

ゲイツ: 自然物をもとにソフトウェアを設計するという例は何かありますか?

ファインマン: 何年か前,並列処理機を使って超高速コンピュータを組み立てようとしていたグループがありました.その会社は「Thinking Machines」という名前で,息子のカールはそういうことに興味があったのでグループに加わりました.その会社を経営していた若者たちは何も分かっちゃいなかったので,私まで雇ってしまったのです!

ともかく,ひとつのプロセッサーからもう一方へ情報を伝えるためのルーターを設計することが課題でした.機械に組み込まれた何百万個ものプロセッサーがあったのですが,全てのペアを接続するというのは現実的ではありません.そこで,近くにあるいくつかのプロセッサーだけと直接通信するというモデルを我々は採用しました.あとは,効率的に動作するためには情報を保持するバッファがルータひとつあたりに最低いくつ必要か,という問題になります.

私はルーターの配線図があたかも自然の対象であるかのようにこの問題を分析しました.物理でいつもやるようなことをやってみると,連立偏微分方程式が出てきました.その方程式によるとチップ一つにつき,五つのバッファでよいということが分かったのです.他の人は七つと言っていましたが,最後には実用的な観点から五つでないといけないということになったのです.私が立てた方程式によって何日も得をしたことは明らかです!

ゲイツ: 私たちはマイクロソフトでソフトウェアを書くときに,一種のオブジェクト・モデルを使っています*1.考えてみると,これらのオブジェクトは量子化されたソフトウェアだと言えますね!

ファインマン: ということは君は単に知らなかっただけで,既に物理学の概念を使っているということですよ!

ゲイツ: それでは師のお話から察するに,未来のソフトウェアはコンピュータ科学だけではなく物理学からもアイディアや概念を取り込まないといけないということですね.

ファインマン: そうです.しかし私は生物学からも着想を得るべきだと考えています.実際,生物学とコンピュータ科学との横断領域からは,ソフトウェア開発において物理学からよりも有益なものが得られるのではないかと思うのです.

ゲイツ: それは既に起こっています.バイオインフォマティクスというのは,生物工学とコンピュータからアイディアを集めた新しい学問領域です.師は生物学を研究していた時期もあったんですよね?

ファインマン: ええ.確かに私はカルテクのサバティカル中にその分野で仕事をしていました.それはワトソンとクリックがDNAらせん構造を発見した後のことでした.ワトソン直々に,ハーバード大学でセミナーを開いてほしい,と招聘してきたのです.これは私にとって大きな出来事でした.コンピュータ科学,特にソフトウェアを書くという作業に,生物学が多くをもたらすことを私は確信しました.

ゲイツ: といいますと?

ファインマン: 適応力,障害に対する耐性,エラー処理といった観点から生体の機能を理解することによって洞察が得られます.ヒトゲノムがどのように説明されるかということや,そもそも「生命の書」をどうやって読むかということを研究しても同じことです…正直なところ,可能性はいくらでもあると思います.

ゲイツ: それは楽しそうですね!もし私がコンピュータ畑にいなかったら,ほぼ確実に生物工学の分野で仕事をしていたと思います.たぶん我々が今やってるのは,せいぜい表面を引っ掻く程度のことでしょう.ゲノム計画には興味がおありなんですか?

ファインマン: はい.あの計画で科学者たちが成し遂げたことは注目に値すると思っています.遺伝情報を配列上に落とし,それを研究者が利用できるようになったのは人類の歴史に残る一大事です!

ゲイツ: 我々が病気を治療したり予防したりする方法が大きく変わりますね!

ファインマン: そうなることを願っています.何の病気か正しく分かりさえすれば,少なくともある程度は苦しみをなくすことができますね.そうなれば,病気についての会話が減って,健康についてもっと話せるようになるでしょう.

ゲイツ: 私は人生の目標のひとつとして,天然痘,マラリア,コレラ,そしてポリオといった病気を世界から根絶する手助けをするということを考えています.この時代になってもなお,これらの病気でこれほどたくさんの人々が死んでいるというのは恐ろしいことです.ゲノム計画が成功すれば必ずや助けになります.

ファインマン: それだけ見ても価値のあることだと思いますよね?私はゲノム計画をみていると,多くの点でマンハッタン計画を連想してしまいます.私は同じ興奮と同じ予感を感じるのです.もう一度やり直せたらいいのに!

ゲイツ: 師が貢献できることは,きっとまだたくさんありますよ.

ファインマン: ゲノムを保管してそのデータを素早く分析できるようなマイクロソフト製のデータベースはありますか?

ゲイツ(一瞬びっくりして): 私たちはまさにそれをやろうとしているところです.我々マイクロソフトでは,そういった類いの挑戦に応えられるデータベースを作ることの重要性を強く感じています.

ファインマン: それはマイクロソフトにとって画期的なことになるよ.生物学的データの管理プログラムが広く使われるようになれば,データベースを使った研究のスピードも上がるだろうね!

彼らはDNA研究のきたるべき革新のもたらす結果に思いを巡らした.二人とも有益な可能性を理解する一方で,よく考えないといけない,重要な道徳的,倫理的問題点があることに気付いていた.

前のページへ | 目次へ | 次のページへ

訳註

  1. ソースコードが膨大になるようなソフトウェアを多人数で同時進行で書く場合に,統一的なモデルをあらかじめ立てておく方法.実際の開発現場では,開発の対象を論理的にトップダウンで理解するモデル型思考と,個々の要請に対処する形で開発を進める組み込み型思考との完全な両立は困難と言われている.