birth-of-the-computer

ジョージ・ダイソンが語るコンピュータ誕生の物語

「フォン・ノイマンはコンピュータについて考えるだけでなく、作ったのです」会場から笑いが起こる。ここでは、30万ビューを超えるGeorge DysonのTED講演を訳し、コンピュータ誕生の物語を理解する。

要約

歴史家であるジョージ ダイソンが、現代のコンピュータ誕生にまつわる話を、その16世紀の起源から、初期のコンピュータ技術者による可笑しな日誌まで紹介します。

A historian and philosopher of science, George Dyson takes a clear-eyed and deeply researched view of our recent scientific past — while showing where it may lead us.

 

1 デジタル計算技術誕生の物語

昨年はオリオン計画について7分でお話ししました。かなり信じがたい技術でしたが 技術的には実現可能で この1年間政治的に実現できる可能性があったのですが 結局実現せずにかなわぬ夢となりました。今年はデジタル計算技術誕生の物語をお話しします。それは理想的な始まりでした うまく行った話で、実際に起きたことです このマシンは今やどこにでもあり必然的に生まれた技術です。これから紹介する人たちがやらなくても おそらく別の人が実現したでしょう。つまり、しかるべき時に、しかるべく生まれたアイデアだったのです。

 

2 爆弾よりコンピュータの方がずっと重要

これはバリチェリの世界で、私達が今いる世界でもあります。マシンがあらゆることをやり 生物学さえ変えています。トリニティと呼ばれる最初の原子爆弾の話から始めます。マンハッタン計画でのことですが それはTEDに似て、優秀な人材を多数集めていました。中でも際立っていた3人が スタニスワフ ウラム、リチャード ファインマン、ジョン フォン ノイマンです。原子爆弾の実験後にノイマンは 「私は爆弾よりもずっと重要なことについて考えている コンピューターだ」と書いています。そして考えただけではなく、作ったのです。これが彼の作ったマシンです (笑) 彼はこのマシンを作り このアイデアが実現できることを見事に実証したのです。

 

3 最初に記述したのはトマス・ホッブズ

コンピュータのアイデアは、遙か昔に遡ります。最初に記述したのは トマス ホッブズで、1651年に 算術と論理が実質的に同じであることを示し 人工的な思考や論理を実現したければ 算術のみで行え 必要なのは加算と減算であると言っています。ライプニッツが、少し後の1679年に 減算も不要なことを示しました。全て加算で実現できるのです。ここには 後のコンピュータ革命へと繋がる 2進演算と論理について書かれています。コンピュータの構築について書いたのもライプニッツが最初で ビー玉とゲートで説明していますが これはシフトレジスタに相当するもので ゲートを開けてビー玉を下の経路に落とします。ビー玉が電子に変わったのを別にすれば これはあらゆる計算機が行っているのと 同じことです。

 

4 フォン・ノイマンが理論をまとめた

時代は移り、フォン ノイマンが1945年に 全く同じものを再発明しました。1945年に戦争が終わった後も、電子工学は続き そのようなマシンの構築に取り組んだのです。1945年の6月、原子爆弾がまだ投下される前に フォン ノイマンはコンピュータ構築に必要な理論をまとめ上げました。理論に関しては 前の時代にチューリングが テープを読み書きする能なしの小さな有限状態機械によって あらゆる計算が可能であることを示しています。

 

5 動機の1つは天気予報の難しさ

フォン ノイマンがしたことの動機となったもう1つのことに 天気予報の難しさがあります。ルイス リチャードソンは、たくさんの人を整然と並べ 小分けした仕事を各人に与えて、集計する手法を考えました。こちらは意志を持った心の電気的モデルです。ただし2種類の考えしかありません (笑) これはまさに最も単純なコンピュータで 量子ビットが必要なわけです。2つの考えしかないのですから これをたくさん集積することにより 現代のコンピュータの基本構成を実現できます。算術演算装置、中央制御装置、メモリー 記録媒体、入出力装置です。

 

6 プログラムの落とし穴

ただし大きな落とし穴が1つあります。プログラムを作ろうとすると分かったのですが 演算を制御する命令は 微細なところまで指定する必要があるのです。プログラムは完璧でなければ動作しません。コンピュータの起源を見てみると 典型的な歴史文献ではENIACがすべての元になっていますが これからお話しするマシン、つまり 上の方に書かれているIASマシンが 本当は大元に書かれるべきなのです。歴史を覆して、彼らにしかるべき名誉を与えたいと思います。このようなコンピュータが あらゆる装置を超えて広がる全く新しい世界を開きました。それは彼らが夢見た世界です。

 

7 RCAに断られたので、プリンストンで作ることにした

そのマシンを作るはずだったのが写真の真ん中にいる、RCAのウラジミール ツヴォルキンです。RCAはおそらく史上最悪の経営判断により コンピュータ事業に参入しないと決めました。最初の会議は1945年11月にRCAで行われました RCAはこの全計画に着手したものの、将来を担うのは コンピュータでなくテレビだと判断しました。マシンを作り上げ動かすのに 必要なものは全て揃っていました。フォン ノイマンに、論理学者に、軍の数学者たちが集まりました。組み立て場所が必要でしたがRCAに断られたので、プリンストンで作ることにしました

 

8 「砂糖の問題が不公平な状況にある」

フリーマン ダイソンが働いていた研究所で 私も幼少期をそこで過ごしました。私と、先に講演した姉のエスターです。2人ともコンピューターの誕生に立ち会ったわけです。こちらは大昔のフリーマンです。私もいます。フォン ノイマンとモルゲンシュテルンです。ゲーム理論を作った人たちです。この蒼々たる人材がプリンストンに集まっていました。

原子爆弾を開発したオッペンハイマーです。実際このマシンは主に爆弾のための計算に使われたのです。ジュリアン ビゲローは技術者として採用され、電子工学を使って実際にマシンを構築する方法を考案しました。この仕事のために集まった人たちです。前の女性たちは大半のコーディングを行った、いわば最初のプログラマーです。彼らはギークの原型で 組織には馴染みませんでした。こちらは所長から送られた手紙で 「砂糖の問題が不公平な状況にある」と難じています (笑) 文面が読めますね。「…そちらのスタッフの砂糖消費量は他部門の数倍に及び…午後5時にこちらで適正な監視下でお茶を飲むよう提案する…」ハッカーがトラブルを起こした最初の例です(笑)

 

9 マイクロプロセッサーの原型となった

彼らは理論物理学者ではなく ハンダごてを手に実際のモノを作る人たちです。何十億というトランジスタを持つコンピュータが 毎秒何十億という演算を間違いなく行うのを、私達は当然のように思っていますが 彼らが使っていたのはラジオ用の真空管で それを心許ない細工によって2値動作するようにしていました。一般的なラジオ用真空管の6J6を使ったのは その方が高価な真空管より信頼性が高かったからです。彼らは研究所で行った開発の全過程を公開しました 報告書が発行されて 世界15か所で複製マシンが作られました。これはまさにマイクロプロセッサの原型となったのです

 

10 メモリーとハードディスクの原型

現代のあらゆるコンピュータがこのマシンの複製です。メモリーはブラウン管で作りました。ブラウン管表面のたくさんの点を使っており 電磁波の影響を受けやすい不安定なものでした。このようなブラウン管を40個並べ V-40エンジンみたいにメモリーが動作します (笑) 入出力には最初テレタイプテープを使っていました。こちらにあるのは 自転車の車輪を利用したワイヤードライブで、ハードディスクの原型です。この後、磁気ドラムに置き換わります。こちらは改良されたIBMの装置で 後にIBMに引き継がれ、データ処理産業を生み出すことになります。

 

11 コンピューターグラフィックスの起源

こちらはコンピュータグラフィックスの起源です。「グラフィング ビーム ターンオン」です。これは私の知る限り最初のデジタル ビットマップ ディスプレイで、1954年のものです。フォン ノイマンは既に理論の世界へと離れ 信頼性の低い部品からいかに信頼性の高いマシンを作れるかという 抽象的な研究をしていました。これは多量に砂糖を使う― あの連中が マシンを稼働させようと格闘する中で書いた記録です。しょっちゅう動かなくなる真空管を2千6百本使っていたのです。

 

12 「そして夜が明けた」

私はこの6か月間、日誌をじっくりと調べてきました。「実行時間:2分、入出力:90分」 ここには人的エラーもたくさん含まれています。だから彼らはいつも、マシンのエラーか人のエラーか見極めようとしていました。どれがソフトエラーで、どれがハードエラーか 「36番ブラウン管を見つめる技術者」 メモリーの焦点が合わない原因を見つけようとしています。メモリーの焦点を合わせなければならないのです 「問題なさげ」 メモリーを動作させるには、各ブラウン管の焦点を合わせなければなりませんでした。問題が出るのはソフトだけではないのです。「全然だめ こわれた」(笑) 「やり方が分からない 指示書はどこにあるんだ?」 すでにマニュアルに不満を持っていたようです。「うんざりして停止する前に」と書いてありますね。「汎用演算―運用日誌」 文字通り油を燃やして、夜遅くまで働きました。MANIAC(数学的数値的積分器兼演算器)は このマシンの略称です。「メモリーの中身が消えたぞ」 「MANIACは電源を落とすとメモリー内容が回復する」「マシンか人か?」「そうか!」ついにコードに問題があることが分かりました。「コードに問題があった そう願うよ」 「コードエラーにつき、マシンは無罪」 「クソッ、俺もこいつと同じくらい頭が硬いかも」 (笑) 「そして夜が明けた」 一晩中やっていたんですね

 

13 「おおマシンよ 美しきもの 永遠の喜び」

マシンは1日24時間稼働し、主に爆弾に関する計算をしていました。「ここまでやったことは全部時間の無駄だった」「何にもならん お休み」 「主電源オフ クソッタレ 大間違いだ!!」(笑) 「エアコンの調子が悪い Vベルトの焦げる臭いが充満している」 「ショートした オペレータ抜きで電源を入れるな!」 「IBMマシンのカードのところにタールみたいなのが付いている 天井からだ」 すごく過酷な環境で作業していたわけです(笑)。「送風機にネズミが潜り込んだ 調節器の台の後ろ 送風機を動かす 結果: ノー モア マウス、二度とくるな」(笑)。「ネズミここに眠る 誕生-不明 死亡-1953年5月19日 午前4:50」(笑)。内輪ネタが書き込まれています。「マーストン マウス ここに眠る」 数学者の方はご存じでしょう。マーストン モースは数学者で このコンピューターに反対していた人です。「ドラムから蛍を取り除いた」「2キロサイクルで稼働」 クロック周波数が2000ということです。「俺は臆病者さ」―2キロサイクルは低速でした。高速時は16キロサイクルでした。 Macintosh IIでも16メガヘルツでした。これは低速のイラストです。「答えが2つ出てきたけど どっちが正しいんだ?どっちかが正しいとしての話だが」 「3つめも違う答えだ わけが分かんないことは分かった」 (笑)。「前はエラーが再現した」 「マシンは正常動作、コードはダメ」 「マシンが動いているときだけ発生する」 うまく行くこともあります。「おおマシンよ 美しきもの 永遠の喜び」「☆完璧に稼働☆」 「最後に一言: より大きなエラーが起きうるとき、そのエラーは起きる」爆弾開発に利用されていることは知らされていませんでしたが 水爆開発に使われていました。

 

14 ある夜更けについに爆弾の絵が現われた

しかしある夜更けに ついに日誌に爆弾の絵が現われました。その結果がこのマイクと呼ばれるもので 1952年に投下された最初の熱核爆弾です。これはあのマシンを使って 研究所の裏の森で開発されました。フォン ノイマンは様々な問題に取り組むため 世界中から変わり者を集めていました。バリチェリは今でいう人工生命に取り組むためにやってきて この人工的な世界の中で取り組んでいました。彼は元々ウィルス遺伝学者ですが、時代の遙か先を行っていました。彼はある部分では現在よりも先を行っていました。

 

15 コンピューターで動作する人工遺伝子システムに着手した

コンピュータで動作する人工遺伝子システムに着手し始めました。彼の世界が生まれたのは1953年3月3日です 次の火曜日でちょうど50年になります。彼はすべてコードを通して見ていました…。マシン出力のバイナリコードをそのまま読め マシンを実にうまく使いこなしました。他の人がダメでも彼なら動かせました。エラーさえよく再現されました (笑)。「バリチェリ博士、マシンが間違っており、コードは正しいと主張」 そうして彼は世界をデザインし、動かしていたのです。コンピュータは爆弾の開発者たちが帰った後に使えたので 一晩中マシンでこのようなものを動かしていました。スティーブン ウルフラムをご存じかもしれませんが 彼はこれを再発明した人です。

 

16 「生命が簡単に創造できるというなら、いくつか作ってみたらどうか?」

バリチェリは研究を隠さずに公開しました。文献として残されています。「生命が簡単に創造できるというなら、いくつか作ってみたらどうか?」。そして彼は試してみることにし マシンの中で生きる人工生命学に手をつけました。そして彼は見出していったのです…。博物学者のように この小さな5000バイトの世界を覗き込み そこで外の生物の世界で起こるのと同じ あらゆることが起きるのを観察したのです。これは彼が作った世界の数々です。ただし、数字に過ぎず 有機体にはなりません。何かが必要でした。遺伝子型があるなら表現型もなければなりません。外に出て何かをする必要があります。彼は数字でできた小さな生命に遊び道具を与え始め 他のマシンとチェスをさせたりしました。そして人工生命は進化を始めました。その後、彼は世界各地をまわり 新しい速いマシンを見つけては動かし 今あるようなものを見たのです。動き続けるプログラムです。

 

17 進化自体を知的プロセスと捉えた

終わったら電源を切ってしまうのではなく 動かし続けるのです。Windowsのように、あらゆることを たくさんのマシン上にまたがる多細胞生物として動かし あらゆることが起きるのを見たのです。そして進化自体が知的プロセスなのだと捉えました。創造主的な知性ではなく それ自体がある種の知性を持った 大規模な並列計算過程だと考えたのです。彼はそれが 生命のようだとも 新種の生命だとも言わず ただ同じことが別な形で起きているのだと言いました。彼がコンピュータで実行したことと 自然界が数十億年前に実行したことに実質的な違いはありません。今もう一度やったらどうだろう?これを調べようと資料の保管所へ行くとある時、資料係の人がやってきて、こう言ったのです。 「放って置かれていた箱があったんですが、ご覧になりますか」 それはパンチカードに記録された彼の世界でした。まるで冬眠するかのように、50年間そこに取り残されていたのです。これは実行指示であり… 彼の作った世界の ソースコードなのです 何か問題があるという技術者のメモが 挟まっていました。「このコードには、あなたが説明していない何かがあります」 それは真実だと思います。我々もまだ、この単純な指示から どうやって高度な複雑さが生み出されるのか理解していないのです。

 

18 「生命に似ていることと実際に生きていることの境界線はどこ?」

生命に似ていることと 実際に生きていることの、境界線はどこなのでしょう?このカードは、私がたまたま行き会わせたことで救われました。疑問なのですが、これを実行するべきでしょうか? 実行していいのでしょうか? インターネットで公開すべきでしょうか? そのマシンたちが思うだろうことは… 死んで天国にいたこの生命体が 今息を吹き返し目にする世界は… 私のノートPCの世界は、バリチェリがプロジェクトをやめた時点と比べ 100億倍もの大きさになっているのです。彼は時代に遙か先駆けて 新しい種類の生命へと育てることを考えていました。そしてこれは今起きていることなのです! ファン エンリケスが私に言ったのですが プロテオミクス研究所では12兆ビットのゲノムデータが やり取りされているそうです。まさにバリチェリが夢想したことです。マシンの中のデジタルコードは もう既に実際の塩基配列を コーディングするようになっています。PCR法を行い、小さなDNAの断片を 合成するようになったときから、我々は既にそうしているのです。近いうちに実際にタンパク質を合成するようになるでしょう。スティーブが示したように、ここから全く新しい世界が開かれるのです。それはフォン ノイマンが思い描いた世界です。

 

19 成果を世界に公開した寛大な精神

こちらは彼の死後に発表された 自己複製機械の未完成論文です。マシンが自己複製し始めるためには何が必要か議論しています。これには3人の力が必要でした。コードを生物としてとらえたバリチェリ マシンの構築法を示したフォン ノイマン、最新の集計によれば、今では毎日400万台の フォン ノイマン型マシンが作られています。ジュリアン ビゲローは10日前に亡くなりました。これはジョン マーコフによる死亡記事です。ビゲローは重要なミッシングリンクでした。技術者としてメンバーに加わった彼は 真空管を並べて動作させる術を知っていました。現在のあらゆるコンピューターの中には 彼がある時に紙と鉛筆で設計することになった アーキテクチャの複製があるのです。その恩恵は計り知れません。40年代に高等研究所でこのプロジェクトに取り組んだ 様々な人々が 特許も制約も知的所有権の議論もなしに 成果を世界に公開した寛大な精神を 彼は説明しています。こちらは日誌の最後のページです。マシンが稼働を止めた1958年7月に 深夜まで稼働させた後、ジュリアン ビゲローが マシンを公式に停止したときの記録です。以上で終わりです。ありがとうございました。

 

最後に

考えるだけでなく作ってしまうこと。試行錯誤の連続。成果を広く世界に公開するオープンソースの精神。見習う

和訳してくださった Satoshi Tatsuhara 氏、レビューしてくださった Yasushi Aoki 氏に感謝する(2008年6月)。

チューリングの大聖堂: コンピュータの創造とデジタル世界の到来


コメントを残す

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

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