見出し画像

SF小説「三体」から学ぶ、コンピューターの仕組み

「三体」という、死ぬほど面白いSF小説があります。その中の一部に出てくる、コンピュータについての記述がめちゃめちゃおもしろいので、この場を借りて紹介させていただきます。

引用ばかりになってしまうのですが、この本の魅力を知ってもらうためには、本文を読んでもらわないことには始まりません。僕の解説は蛇足以外の何物でもないですし。でははじめます。

「コンピュータ?計算する機械のことか?そんなものが実在するのか?」
「コンピュータをつくるのに、はるばる東洋まで来る必要があったんですか?」汪淼は不思議に思い、フォン・ノイマンに質問した。
「コンピュータをご存じないのですね?では、どうやってこんなに大量の計算をやりとげるつもりなのでしょう?」
フォン・ノイマンが目を見開いて汪淼を見る。まるでその質問が理解できないようだ。
 「どうやって?もちろん、人間を使ってに決まっているだろうに!この世界で、人間以外にだれが計算できると?」

 「ですが先ほど、全世界の数学者でも足りないとおっしゃいましたよね」

「われわれは数学者を使うわけでなく、一般人、ふつうの労働力を使うのだ。ただ、かなりの大人数を必要とする。最低でも三千万人、これは、数学の人海戦術だ」
「コンピュータをつくるのに、はるばる東洋まで来る必要があったんですか?」汪淼は不思議に思い、フォン・ノイマンに質問した。


「コンピュータをご存じないのですね?では、どうやってこんなに大量の計算をやりとげるつもりなのでしょう?」

フォン・ノイマンが目を見開いて汪淼を見る。まるでその質問が理解できないようだ。

 「どうやって?もちろん、人間を使ってに決まっているだろうに!この世界で、人間以外にだれが計算できると?」

 「ですが先ほど、全世界の数学者でも足りないとおっしゃいましたよね」

「われわれは数学者を使うわけでなく、一般人、ふつうの労働力を使うのだ。ただ、かなりの大人数を必要とする。最低でも三千万人、これは、数学の人海戦術だ」
ニュートンはどこからか白と黒三本ずつの六本の小さな旗を持ってきて、フォン・ノイマンがそれを三名の兵士に手渡した。 それぞれが白一本、黒一本の旗を持つ。

「白は0を意味し、黒は1を意味する。よし、三人ともよく聞け。〈出力〉、きみはうしろを向いて〈入力1〉と〈入力2〉を見るんだ。もし彼らがどちらも黒旗を上げていたら、きみも黒旗を上げる。その他の状況なら白旗を上げる。白旗を上げる状況は三通りだ。〈入力1〉が白で〈入力2〉が黒の場合。〈入力1〉が黒で〈入力2〉が白の場合。〈入力1〉と〈入力2〉がどちらも白の場合」

 「朕が思うに、色を換えるべきだな。白旗は投降を意味するからな」始皇帝が言った。
 だが、興奮の極みにあるフォン・ノイマンは皇帝の言葉を無視したまま、三名の兵士に大声で命令した。
 「いまからはじめるぞ!〈入力1〉と〈入力2〉、きみたちはどちらでも好きな旗を上げてくれ。よし、上げろ!よし、もう一回だ!上げろ!」
〈入力1〉と〈入力2〉の旗は三回上がった。一度目は黒黒、二度目は白黒、三度目は黒白だった。 〈出力〉はそれに正しく反応し、それぞれ黒の旗を一回、白の旗を二回上げた。 「よろしい。正確にできているね。偉大なる皇帝陛下、陛下の兵士はとても賢明ですね!」 「こんなのは莫迦でもできるぞ。いったいなんの茶番だ」始皇帝が困惑したようにたずねる。
「この三名は、論理演算システムのひとつの回路を形成しているのです。論理門の一種で、論理積門です」
フォン・ノイマンは言葉を切って、皇帝の理解を待った。始皇帝は無表情だった。

「朕は気がふさいで仕方がない。つづけよ」フォン・ノイマンは三角陣を組んでいる三名の兵士に向き直る。
「では、次の回路をつくろう。きみ、出力くん。〈入力1〉と〈入力2〉のうち、片方でも黒旗を上げていたら、きみは黒旗を上げてくれ。この組み合わせは、黒黒、白黒、黒白の三通りだ。残りのひとつ、つまり白白の場合、きみは白旗を上げろ。わかったか?よし、きみはとても賢いね。ゲート回路の正確な実行の要だ。うまくやってくれよ。皇帝陛下も褒美をくださるだろう!よしやるぞ。上げろ!よし、もう一度上げろ!もう一度!うん、正しく実行されている。陛下、この回路を論理和門といいます」
次にフォン・ノイマンはまた三名の兵士を使って否定論理積門、否定論理和門、排他的論理和門、否定排他的論理和門、三状態論理門をつくった。そして最後に、二名だけを使って、もっとも単純な論理否定門をつくった。この場合、〈出力〉は、〈入力〉が上げた旗と反対の旗を上げる。フォン・ノイマンは皇帝に深々と頭を下げた。
「陛下、いますべてのゲート回路の実演が終わりました。簡単なことだと思われませんか?どのような兵士でも、三名で一時間ほどの訓練を行えば覚えられます」

「覚えることは、ほかにはなにもないんだな?」

「ありません。このようなゲート回路を一千万組つくり、さらにこれらの回路を組み合わせることによって、ひとつのシステムを構築します。システムは必要な演算を行って、太陽運行を予測する微分方程式を計算するのです。このシステムをわれわれは、ええっと、なんだっけ……」
「コンピュータ」汪淼が言った。
「そうそう」フォン・ノイマンは汪淼に親指を立てて見せた。「コンピュータと呼んでいます。
うん、この名前はいい響きだ。すべてのシステムが実際には膨大なひとつのコンピュータで、それは有史以来もっとも複雑な機械なのです!」
「それでは陛下、大命を発していただけますか」
フォン・ノイマンは興奮に震える声で懇願した。

始皇帝がうなずくと、ひとりの衛兵が駆けてきて、皇帝の剣の柄を握ってうしろに何歩かしりぞき、皇帝が自分では抜くことができない青銅の長剣を鞘から抜き放った。そして皇帝の前でひざまずき、剣を皇帝に捧げると、始皇帝は手にした長剣を高く澄んだ大空へ向けて、大きな声で叫んだ。

「計算陣形!」

ピラミッドのそれぞれの角に置かれていた四つの青銅の大きな鼎が、同時に大きく燃えさかった。方陣に面したピラミッドの斜面にぎっしり立っている兵士たちが、轟くように唱和し、始皇帝の号令を伝達していく


「計算陣形──」

下方の大地では、均一だった方陣の色彩が乱れを見せはじめ、複雑で精緻な回路の構造が浮かび上がってきた。
そしてすこしずつ方陣のすべてに回路が充填され、十分後には三十六平方キロメートルに及ぶコンピュータのマザーボードが大地に出現した。
フォン・ノイマンが巨大な隊列回路を紹介する。

「陛下、われわれはこの計算陣形を秦一号と命名いたしました。ごらんください、あちらの真ん中に見えるのが中央処理装置、中核となる計算部品です。

陛下の最精鋭の五つの兵団で構成されております。図面を参照していただければ、中にある加算器、レジスタ、スタックメモリなどがおわかりになるでしょう。

外側を囲んできちんと整列している集団はメモリです。この部分を構築する際に、人数が足りないことに気づきましたが、ここはそれぞれのユニットの動作がもっともシンプルな箇所ですので、兵士ひとりひとりを訓練し、多くの色の旗を持たせることで、当初は二十名に割り当てていた動作をひとりで実行できるようにしました。

その結果、メモリ容量は〈秦1・0〉オペレーティングシステムの最低条件をクリアできました。

あちらの、すべての陣列を貫く無人の通路と、その通路上で命令を待つ身軽な軽騎兵をごらんください。

あれは、システムバスと呼ばれるもので、全システムのコンポーネント間の情報伝達を担当します。


バス・アーキテクチャは偉大な発明です。 新しいプラグイン・コンポーネントは最大で十の兵団で構成されますが、それらはすみやかに、メインの作業バスに追加することができます。

 これは、秦一号のハードウェアを拡張し、アップグレードするのにたいへん便利です。
 いちばん遠くの、あのあたりをごらんください。望遠鏡がないとよく見えないかもしれませんが、あれは外部メモリで、わたしたちは、コペルニクスの提案にしたがってハードディスクと呼んでいます。
 教育水準の高い者たち三百万名で構成されています。陛下が以前、中国全土を統一されたあと、焚書坑儒の際に彼らを残しておいたのは正解でした。彼らひとりひとりが筆記具とメモを持ち、計算結果の記録を担当しているのです。
 もちろん彼らの最大の役割は、仮想メモリとして、計算の中間結果を記憶することです。計算速度のボトルネックは彼らといえるでしょう。そして最後に、わたしたちからいちばん近いその場所はディスプレイです。計算のもっとも重要なパラメータをリアルタイムで表示することができます」


「陛下、こちらはわれわれが開発いたしましたオペレーティングシステム秦1.0です。 計算を実行するソフトウェアはこのOS上で動きます。どうかごらんください。あちらが」
 とフォン・ノイマンが下の人列コンピュータを指し示した。

「ハードウェアで、こちらのこの紙に書かれたものがソフトウェアです。ハードウェアとソフトウェアの関係は、琴と楽譜のようなものです」


エンジニアはもちろん、そうでない方も、コンピューターを人間に例えるという斬新な発想に面食らったのではないでしょうか。最初はネタにしか思えませんでしたが、内容自体はいたってまともです。

引用した箇所が出てくるのは、「三体」第一巻の中で出てくる、とあるゲームを主人公がプレイしている場面です。いやぁ超面白かったですよこの本。

「三体」は、中国全土だけでシリーズ累計2100万部を突破、アジア&翻訳もの初のヒューゴー賞受賞(SFの権威あるものすごい章)ということで、現在日本語訳が出版されている途中です。

全部で3部作なのですが、第一部と第二部は邦訳版がすでに出ているという状況です。ちなみに僕は、第一巻しか邦訳版が出ていないときに読みまして、あまりに面白かったので、英語版で第2巻と第3巻を読みました。面白さでいうとそのぐらいあります。

そんな感じです。コロナの退屈を潰すにはもってこいの小説なので、手にとってみてはいかがでしょうか!





この記事が参加している募集

読書感想文

この記事が気に入ったらサポートをしてみませんか?