Skip to content

コンピュータを発明したのは誰?

しばらく連絡をとってなかった就活生から急に電話がかかって来た。
意中の大手IT系企業に無事就職できたらしい。

 「清水さん、ひさしぶり!元気だった?」



 「え、うんまあ。君も春から新社会人だよね。調子はどう?」



 「うーん、それがね。ずっと研修研修で大変だったの。今はOJTってやつ?覚えることが多くて大変。それで電話したんだけどね。ねえ、コンピュータって誰が発明したの?」


 「えっ・・・・」


シンクロニティというのか。
つい先日、社内で「コンピュータの発明者は誰か」ということについて説明したばかりだったので、思わず声が出てしまった。



最近ルーツ探しがブームなんだろうか。


 「なんでそんなこと知りたいの?」


 「なんでっていうか。そういうの気になるのよね。世界史好きだったけど、世界史にはコンピュータを誰が発明したのか書いてないじゃない。でも変だよね。世界はコンピュータでこんなに変わってるのに、いつ誰が発明したのか学校で教えてないなんて」


 「なるほど、いいこと言うね。確かに電球の発明者はエジソン、飛行機の発明者はライト兄弟っていうふうに、歴史上重要な発明は世界史で教えたりもするのかもね。けど、コンピュータの発明者はエジソンやライト兄弟ほどは有名じゃないかもね」


 「そうなのよ。誰で、どこの国の人だったのか、とかちょっと気になっちゃって。意外と先輩とかに聞いても知らないんだよね。それで電話したってワケ。なんて人なの?」


 「それがね、解らないんだ」


 「ええっっっ。知らないの?」


 「違う。解らないんだよ」


 「知らないってことでしょ」


 「いや、正確に言うと、コンピュータを発明した、とされる人は何人か居る。今の形の電子計算機が最初に開発されたのは第二次世界大戦の前後だ。このとき、イギリス、アメリカ、ドイツでそれぞれ別々にコンピュータが発明されることになる。戦時下だったのでお互いの国の情報も不透明だから、正確に誰が発明したのが最初とは言い切れないんだ。なにしろコンピュータは軍事技術だったからね」


 「そんなに昔からあるんだ!」


 「イギリスでは、アラン・チューリングがドイツの暗号を解読するためのコンピュータであるボンベを開発し、アメリカではジョン・モークリージョン・エッカートが弾道計算向けにENIACを開発、それと前後してドイツではコンラート・ツーゼという人が機械式自動計算機を開発していたんだよね」


 「ちょ、ちょっと待って。そんなに一杯言われても覚えられないからブログに書く時はwikipediaへのリンク貼ってね。あとで読むから・・・・でも、そんなに沢山の人がほぼ同時期にコンピュータの発明をしてたんだねえ。不思議」


 「ただ、このとき活躍した数々の偉人たちの中でも、とりわけ重要なのはモークリーやエッカートとともにENIACの後継機であるEDVACを開発したジョン・フォン・ノイマンだ」

ジョン・フォン・ノイマン

 「その人が最重要人物なの?」


 「そういうわけでもないけど、最も有名な人物の一人であることは間違いない。彼はハンガリー出身の数学者で、”プログラム内蔵方式(ストアード・プログラム方式)”を自分の名前で論文発表したんだ。それ以降、現代のコンピュータは全て”ノイマン型コンピュータ”と呼ばれることになった」


 「凄い。知らなかった。その人がそんなにすごい発明をしたの?」


 「いや、実はストアード・プログラム方式そのものは、エッカートとモークリーが考えたらしいんだけど、それを理論的に集約して論文の形にしたのがノイマンだった、というだけらしいんだよね。ただ、あまりにもノイマンという人物が衝撃的すぎていつのまにか本当の発案者であった二人はどこかへ忘れ去られてしまったんだ」

UNIVAC I をデモンストレーションするレミントンランド社時代のジョン・エッカート(中央)

 「えーっ可哀想」


 「ノイマンがあまりに有名になりすぎて、エッカートとモークリーは裁判まで起こしている。ただその時は、裁判長が世界で最初のコンピュータはABCというまた別の機械であると断定したため、裁判に負けてしまったんだ。ただ、ABCはCPUを持たないプログラム内蔵方式でもないコンピュータ(非ノイマン型コンピュータ)なので、実際には今のコンピュータの直系の先祖とは言えないけどね」


 「やっぱり歴史的な発明だけに、手柄の奪い合いになるんだねえ」


 「ノイマンと同様に重要なのは、イギリスのアラン・チューリングという数学者で、彼は1936年に現在のコンピュータの元になるチューリング・マシンという概念を考えたんだ。この論文が、後のストアード・プログラム方式の理論的な基礎になったと言ってもいい。しかもチューリング・マシンは今のプログラム言語やCPUの内部構造に至るまでの構造を解明する重要な考え方になっているんだ」

アラン・チューリングの銅像

 「え、ということはノイマンよりチューリングの方が偉いということ?」


 「どちらかがどちらかより偉いということではないよ。ノイマンとチューリングはプリンストン高等研究所で親交もあったらしいしね。お互いに刺激を与え合ってコンピュータの基礎理論の構築や実用化に邁進した、ということかな」


 「でも・・・もうさっき聞いた名前忘れちゃったけど、どうしてさっきの二人よりノイマンとチューリングの方が有名なの?」


 「二人は特に論文のインパクトが凄いんだ。また、エッカートとモークリーは手を動かして実際の開発に寄与したという功績は偉大だけど、その先の未来を見通して発表するところまではいかなかった。チューリングはコンピュータ(チューリング・マシン)が実際に発明されるより前にコンピュータの理論的限界を証明したりしたしね。最も重要な発見のひとつは、チューリング・マシンによって、理論上はありとあらゆるアルゴリズムを実現できるということを証明したことだね」


 「あるご・・・りずむ・・・・ポリリズム?繰り返す・・・」


 「違う。繰り返すってのは近いけど、アルゴリズムはプログラムの基礎になるものごとの考え方だよ。たとえば”1+2+・・・を100回繰り返す”とか、”データを50音順に並び替える”とか、コンピュータが行うあらゆる処理はアルゴリズムによって規定される。アルゴリズムはプログラムよりも大事で、プログラムの性能は採用するアルゴリズムによって決まると言ってもいい。まあこの話は別の機会に」

 「要するに、重要なことはなんなの?」


 「チューリングはコンピュータが発明される前に、既にその広大な可能性と、同時に限界についてまでも見通した人だった、ということだね」


 「なるほど。だとしたらノイマンは殆ど活躍していないのでは・・・」


 「ところがそうでもないんだ。チューリング・マシンはあくまで理論的なもので、そのままでは到底実際に創りだすのは難しい空想上の機械に過ぎなかったんだ。それを現実に作れる状態まで理論を具体化したのがノイマンのストアード・プログラム方式の論文だった。今のコンピュータのアーキテクチャは、基本的には全てこのストアード・プログラム方式に基づいている。そういう意味ではチューリングとノイマンの論文は相補的なものなんだよね」


 「でもチューリングはかなり先まで技術の未来を見通したけど、ノイマンはそうでもないんでしょ」


 「いやいや、それがノイマンはもっと面白い研究をしてるんだ。彼は格子状に配置された無数のコンピュータが相互に通信しながら問題を解決していくという世界を夢想した。これはセル・オートマトンと呼ばれている。セル・オートマトンの研究で最も重要なものの一つは、機械が子供を産めることの発見」


 「えっ?・・・ちょっと待って、なんて言ったの?」


 「機械が子供を産めることを証明したんだ」


 「それって比喩的な表現じゃなくて?」


 「理論上は、というレベルかな。チューリングはコンピュータの理論的限界を示したんだけど、ノイマンは機械が生命になりうることを予見し、機械の理論的限界を広げた、とも言えるね」


 「そんなことが本当にできるの?」


 「生命の本質のひとつは自己増殖性、つまり子供を産んでいく、ということになるんだけど、ノイマンはセル・オートマトンを使って機械が機械自身の内部情報を使って新しい自分のコピーを創りだせることを証明したんだ。これはまだ非常に単純なアメーバ型の増殖ではあるけれども、その後の人工知能や人工生命の研究にも多大な影響を及ぼした重要な証明だったと言えるだろうね」


 「じゃあこのままコンピュータが発達したら、コンピュータがコンピュータ自身を産んで増え続けて行くってこと?」


 「そう。しかももしかしたらただ産まれるだけでなくてどんどん進化していってね」


 「それメチャクチャ恐いじゃん。ターミネーターじゃん」


 「”コンピュータ=恐い”というイメージの元ネタのひとつはノイマンの理論かもしれないね。また、ノイマンは原爆開発に関わったマッド・サイエンティストとしても知られている。また、数学、物理学、気象学、経済学にも多大な貢献をしている。ノイマンの存在感というのはとてつもなく大きく、彼に比べるとただ機械を実装しただけのモークリーとエッカートの存在感はどうしても薄く感じてしまうのも仕方ないかもね。電話帳をパッと開いて、電話番号を全部足す遊びをしていたとか、コンピュータよりも計算が速くて、ENIACと計算速度で勝負して勝ったとか」


 「そんなマンガみたいな人いるんだ」


 「まあ伝説だけどね。時間があったらWikipediaにかなり詳しく色々と書いてあるから読んでみるといいよ。まあチューリング以前のコンピュータに関して言えば、100年くらい遡って産業革命時にイギリスの数学者、チャールズ・バベッジが階差機関(ディファレンスエンジン)を発明してるんだけど・・・・」

チャールズ・バベッジ

 「ストップストップ!今日のところはチューリングさんとノイマンさんでいいよ。そんなに沢山覚えられないし」


 「バベッジとエイダの話とか面白いんだけどな・・・まあいいか。ただ、その二人だけでなく”誰が発明したのか”という問いには誰も答えられないくらい沢山の人がコンピュータの黎明期に関わっていた、ということは覚えておいてね」


 「うん。解った」


喋らせてもらえなかったので補足すると、チャールズ・バベッジは最初に本格的な機械式計算機を作ろうとした人だ。

階差機関(1号機)の一部。バベッジの死後、息子が残っていた部品で組み立てたもの

実は、コンピュータが実用化される以前、「コンピュータ」は職業だった。日本語でいえば「計算手」であり、計算することだけを専門の仕事にしていたのだ。

これを自動的に計算させることができるようになれば、膨大なコストを節約できる。そこでバベッジは蒸気機関による自動計算機を考案した。

しかもバベッジが解析機関(アナリティカル・エンジン)と名付けた機械は、単なる機械式計算機ではなく、プログラムとデータを別々に内蔵する汎用計算機だった。


チューリングが論文を発表する以前にチューリング完全なマシンを設計できていたということが後に解った。


ただし資金面で非常に苦労し、詩人バイロンの娘であるオーガスタ・エイダ・ラブレス伯爵夫人が資金集めに協力する傍ら、解析機関用のプログラムを書いたという伝説さえあった(実際にはバベッジの書いたコードのミスを彼女が指摘した程度だったらしい)。


エイダはバベッジすら気づかなかった解析機関の広大な可能性に言及しており、もし資金面などで頓挫しなければ、人類の歴史は100年早く進歩していたかもしれない。

この仮説に基づいて作られたSFジャンルが「スチームパンク」であり、ブルース・スターリングとウィリアム・ギブスンのSF小説「ディファレンス・エンジン」となったり、ウィル・スミス主演映画「ワイルド・ワイルド・ウエスト」となったりしている。


また、フォン・ノイマンをモデルとしたマッド・サイエンティストが活躍する映画「博士の異常な愛情_または私は如何にして心配するのを止めて水爆を愛するようになったか」はスタンリー・キューブリック監督の代表作のひとつとなっている。

こういう前提を知っていると、映画や小説の楽しみ方も広がって行くのでオススメだ

このエントリーをはてなブックマークに追加
はてなブックマーク - コンピュータを発明したのは誰?
Post to Google Buzz
Share on GREE

Related posts:

  1. 絶望の果てに: ミニゲーム開発オリンピック体験記

Facebook comments:

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*