BeneDict 地球歴史館

BeneDict 地球歴史館
menu

週刊スモールトーク (第231話) 世界は作り物である(2)~神になったプログラマー~

カテゴリ : 思想科学

2013.11.10

世界は作り物である(2)~神になったプログラマー~

■現実世界の創造主

現実世界は、TVゲームの仮想世界となんら変わりはない。早い話が「作り物」。もちろん、作り物である以上、作った者がいる。137億年前、我々の宇宙は突然出現した。現在、宇宙に内在する物質、暗黒物質、エネルギー、暗黒エネルギーの素が一点に集約され、大爆発(ビッグバン)が起こり、今も膨張を続けている。これが我々の宇宙、現実世界である。では、ビッグバンの1秒前は?何もなかった。無から有が生じた?それでは都合が悪いので、科学者たちは様々な仮説を立てている。二乗すると「-1」になる摩訶不思議な「虚数」を引っ張り出し、「虚数時間」なるものをでっちあげた学者もいる。ビッグバン以前のありもしない世界を「虚数時間」で創作し、ビッグバン後の世界と連続させようとしたのだ。

専門外なので大きなことは言えないが、「タイムマシンの作り方」同様、こじつけにしかみえない(言ってるぞ)。それに肝心なことを忘れている。ビッグバンは極めつけの「特異点」だということ。特異点は不連続の代名詞なのに、それを連続させる?一体、何を考えているのだ?だいたい、天地創造の前と後がつながっている方がおかしいではないか。この宇宙に上位世界があり、ビッグバンの瞬間、上位世界から内容物(物質・暗黒物質・エネルギー・暗黒エネルギーの素)が持ち込まれたと考えれば、何の問題もないのに。いや、一つ問題がある。その場合、科学者たちはこの宇宙を創造した「上位世界」があることを認めなければならない。

ところが、「上位世界」はアクセス不能なので、どんな説得力のある仮説を立てても、実証するすべがない。つまり、「上位世界」の存在は永遠に証明できないわけだ。科学者にしてみれば、そんな面倒はご免だろう。ところが、一方で・・・「宇宙は神の一撃で創造された」と主張する学者もいる。もちろん、突飛なトンデモ説で世間を騒がせることを生業にするエセ学者ではない。日本の最高学府の現役教授である。もし、権威づけされた組織や人物がリスクをかえりみず、革新的な言動をするなら、それは真実である可能性が高い。ただし、ここでいう「神」は宇宙の創造主で、宗教団体が崇める神とは必ずしも一致しない。

では、この思考実験を仮想世界にあてはめるとどうなるか?

現実世界(宇宙)が「神の一撃」で作られたのなら、仮想世界(TVゲーム)作ったのは誰?国家元首でも、科学者でも、聖人でも、もちろん、神でもない。よれよれの服に、くたびれたカバンをたすきがけにした冴えないプログラマー。

■仮想世界の創造主

ただし、世間のプログラマーがみんなそうというわけではない。「天地創造」みたいな浮ついた話に関わることなく、世間に役に立つソフトを作って社会に貢献している。彼ら、彼女らは、IT技術者と呼ばれ、小ぎれいなスーツに身をつつみ、月に100時間以上の残業をこなす。給与はサービス業と金融業の間ぐらい。まあ、悪くはない。一般論的に、IT技術者は2つの職種に大別される。

・SE(システムエンジニア):システム全体を設計する。

・プログラマー(コーダー):ひたすら、プログラムを書く。

ちなみに、権限も給与も、「SE>プログラマー」なぜか?この手の業務用ソフトは、プログラムを書くのはそれほど難しくない。必要な知識はプログラム言語ぐらい、まぁ、頭の回転が速ければいい。一方、SEはシステム全体を設計するので、業務固有の専門知識が必要だ。というわけで、SEが設計し、プログラム仕様書を書き、プログラマーはそれに従ってプログラムを書くだけ。

つまり・・・SEが親方で、プログラマーは作業員。アニメ業界の作画監督とアニメーターの関係に近い。一方、科学技術をベースにしたシミュレーション系ソフトは開発スキームが異なる。そもそも、プログラムを書くこと自体が難しい。まず、プログラム言語だが、Javaやスクリプト系のようなお気軽言語ではない。とことん、神経をすり減らすC++、またはC、Fortran。さらに、専門分野の科学知識も必要だし、スーパーコンピュータやHPC(高性能計算機)を使った並列処理が前提で、パソコンソフトとは一線を画す。

つまり、この手のプログラムは、システム設計とプログラミングが一体化している。なので、この世界ではプログラマーは「コーダー(プログラムコードを書く人)」などと蔑まれることはない。とはいえ、シミュレーション系のソフトの市場は小さいし、その中の「天地創造」に到っては需要は皆無。どこかの天才が、奇跡的に完成させても「1円」にもならないわけだ。B級SFに登場するマッドサイエンティストが人里離れた研究所で、得体の知れない発明をするたぐいの話。ムダに凄いですねぇ~、と嘲笑されるのが落ちだろう。

■ゲイツとジョブズ

というわけで、「プログラム」は面白いものほどカネにならず、退屈なものほどカネになる。そこをピンポイントで突いて巨万の富を築いたのがビル・ゲイツ、カネは二の次で、商品哲学に執着したのがアップルのスティーブン・ジョブズ(だった)。早い話が・・・ビル・ゲイツは商品哲学を持っていないが、スティーブン・ジョブズは商品哲学しか持っていない。こうもいえる・・・ビル・ゲイツは市場独占しか頭にないので、カネさえ払ってくれれば、ユーザーが満足しようがしまいが、どう使おうが一向に気にしない。

ところが、ジョブズはそこが気になる。さらにこうもいえる・・・ビル・ゲイツは「入金>>出金」に執着し、ジョブズは「哲学=商品」に目を光らせていた。もちろん、自分の哲学が間違っているとは、つゆほどにも思わない。だから、商品が売れなくても、自分は正しく、世間が愚かなのだ。そんな状況が続いて(NeXT社の時代)、財産が目減りしようが、一人ぼっちになろうが、気にも留めない。なぜなら・・・ジョブズの人生は聖戦で、異教徒を殲滅するためにあったのだから。さて、素晴らしい商品を生み出し、歴史に名を残すのは、ゲイツ、ジョブズ、どちらでしょう?そりゃあ、ビル・ゲイツに対して失礼だぞ。彼だって、神様よりお金持ちになって名を残したじゃないか。話題をかえよう。

■神と一体化する3Dプログラマー

そんなわけで、天地創造やシミュレーションのように、作るのが楽しいプログラムで一山当てるのは難しい。ところが・・・一つだけ例外がある。シミュレーション系のゲームソフトだ。たとえば、史上初のシミュレーションゲーム「シムシティ(SimCity)」。「シムシティ」は、ユーザーが市長になり、都市を開発するシミュレーションだ。このゲーム世界には、住宅地、工業地、商業地、発電所、交通網などのインフラがあり、すべて現実世界と同じ意味を持つ。さらに、気まぐれで、わがままな住民も住んでいる。道路が渋滞がすれば、文句を言うし、犯罪が多発すれば町を去っていく。結果、税収が減り、都市作りがたちまちとどこおる。現実世界の都市がコンピュータ上でそのまま再現されているわけだ。だから、「シムシティ」はもう一つの現実と言っていい。

この「シムシティ」の延長上にあるのが「天地創造」プログラムだろう。つまり・・・仮想世界を創造する力を手に入れることは、天地創造、つまり、神の力を得ることに等しい。実際、3Dプログラマーは高度なプログラミングによって、空間とオブジェクトを3次元で操り、物理法則を適用し、世界が誕生し、移ろい行く様を眺めて、楽しんでいる。でも、仮想世界を創り出すなら、小説・漫画・映画も同じでは?No!シミュレーターと小説・漫画・映画は根本が違う。前者には「物理法則」があるが、後者にはそれがない。そのため、小説・漫画・映画の仮想世界は一度創られたら二度と変わらない。でも、紙面やカットが変わると、世界も変化して見えるけど。それは変化ではなく、ただのコマ送り。視点を引いて鳥瞰(ちょうかん)すると、それがわかる。静止画(コマ)がひとつづりになった長尺フィルム・・・コマの中身も、コマの並び順も変わることはない。つまり、永遠に変化しない静的な世界なのだ。

ところが、シミュレーターが創り出す仮想世界は、リアルタイムで刻々と変化する。しかも、その仕組みを作ったのが冴えないプログラマーというわけだ。彼・彼女が書いたプログラムは、厳密な物理法則にもとづき、個体の生死、種の進化、文明の栄枯盛衰を創り出す。だから、シミュレーターはアイデアだけで作れるものではない。一見、コンテンツに見えるシミュレーションゲームも、じつはサイエンスなのだというわけで・・・仮想世界を創造するプログラマーは、自分が創作した「電子箱庭」を眺めながら、神と一体化する陶酔感と無常観にひたっている。

■未来を予知できるか?

では、ここで、トートツに世界の正体に迫ろう。毎晩見る夢やシミュレーターの仮想世界を「夢製造機」で思考実験すると、興味深いことがわかる。仮想世界は現実世界と「相似」だということ。これにはビックリだ。「相似」の意味するところは、サイズは違うが基本形(構造・原理)は同じ。つまり、仮想世界と現実世界の「仕組みは同じ」ということ。であれば、シミュレーターの仮想世界が理解できれば、現実世界も解明できる!?では、何をもって「世界を理解した」と言えるのか?世界が更新される「仕組み」を理解すること。もし、それができたら、未来も予知できるはずだ。

では、まず、シミュレーターの仮想世界をみてみよう。仮想世界を生成・更新するのは「プログラム」である。だから、プログラムが何をするか理解できれば、未来も予測できる。それなら話は早い。プログラマー、つまり、プログラムを書いた本人に聞けばいいではないか。ところが、話はそう簡単ではない。プログラマーは、自分が書いたプログラムが何をしでかすか、正確に予知することができないのだ。そもそも、予知できるなら、プログラムに「バグ(誤り)」など存在するはずがない。

たとえば、最近リリースされた天下のマイクロソフトのWindows8.1は深刻だ。特定の条件下で、外付けHDDのファイルが消失するという。こりゃあ、シャレになりませんぞ。というわけで、この世にバグのないプログラムなど存在しない(マイクロソフトの肩を持っている)。おいおい、それで済ませるつもりかよ。パソコンの心臓部「OS」にバグだろ?どうしてそんなものを出荷するのだ?まったくですね。でもこれが哀しい現実・・・

つまり、プログラマーはプログラムを実行させてみて、初めてバグに気付くのである。そして、そのバグを修正すると、新たなバグが生まれ・・・これを延々と繰り返す。この不毛かつ必要不可欠の作業を「デバッグ(Debug)」とよんでいる。ゆえに・・・プログラムは、実行してみないと結果はわからない。では、結果を予測するプログラムを作ればいいではないか?プログラムを読んで、それが正しいかどうか判断してくれるプログラム、人工知能(AI)とかなんとか、方法はいくらでもあるでしょ?

じつは、そんな都合の良いものはない。作るのが難しいのではなく、永久機関同様、原理的にありえないのである。それは、毒リンゴで自殺した天才、アラン・チューリングが数十年前に証明している。そもそも、冷静に考えれば・・・プログラムを読むだけで、結果を予測できるなら、プログラムを実行する必要などないではないか。ということで、ここで結論。仮想世界と現実世界が相似なら、規模が違うだけで「仕組み」は同じ。ゆえに・・・仮想世界の「設計図(プログラム)」を読んでも、未来を予知できないなら、現実世界の「設計図(物理法則)」を発見しても、未来を予知できない。つまり、我々「作られた者」は、原理的に、自分たちの未来を予知できないのである。

《つづく》

by R.B

関連情報