第七章 ダーウィンの忘れ物
生命は模倣し得るか
2006/08/29  

生物はいかにして現在ある姿になったのか。 その答はダーウィンによって示された。 生物は、より単純なものから進化して現在の姿となったのである。 進化はどのようにして起こるのか。 それは突然変異と自然選択から成る。

進化論について、よく「ダーウィンは間違っていた」といった議論を見かけることがある。 今日でもダーウィンがやり玉に上がるということは、とりも直さずダーウィンの思想が今なお有効であることを示している。 センセーショナルなタイトルで飾られた内容をよく見ると、それらはダーウィンの改良版であったり、当時まだ無かった分子生物学の知識を織り込んだ再解釈に過ぎないことが多い。 大枠において、我々は「突然変異+自然選択」以上の答を知らないのである。 突然変異+自然選択、この考え方自体は何ら難しいものではない。

・ランダムに揺さぶって、環境に良く適応したものだけを残す。
・これを長時間に渡ってひたすら繰り返す。
実際の生物の進化にかかった時間はざっと40億年。 同じことを我々人間が試すにしては、あまりにも長い。 ならば、生物が行ってきたのと同じことを別の土俵の上で真似ることはできないだろうか。 必ずしも生物と同じ構成要素、タンパク質やDNAを用いる必要はない。 重要なのは「突然変異+自然選択」という仕組み自体だ。 もしこの「進化の仕組み」を用いてこれまでになかった新しいものを生み出したとすれば、それは新しい生命を作り出したのと同じことではないか。 このような「新しい生命」の素材に最もふさわしく、かつ扱い易いのは、コンピュータの中に蓄えられたデータとプログラムであろう。 「コンピュータの中に新しい生命を作り出す」 この試みは、今日「人工生命」と呼ばれている。※

人工生命の基本的な考え方は、進化の方法そのものだ。

1.まず、適切な長さのデータの塊を多数用意する。
 このデータの塊は、それぞれが生物の個体、あるいは生物の持つ情報=遺伝子を表している。
 ちょうどDNAが4種類の塩基から成るように、データの塊も特定の「文字」から成る。

2.データを適当に「かき混ぜて」変化を与える。
 例えば、遺伝子に似せてデータの一部を交叉させたり、全くランダムに突然変異を行ったりする。

3.個体を自然選択にかける。
 なにがしかの適応度に従って個々のデータを評価する。
 適応度の高いデータほど有利に生き残るようにはからう。
 逆に適応度の低いデータは消滅する確率を高くする。

※.実際の生体が遺伝情報に基づいて体を形作るように、コンピュータの上でもデータに基づいた「実体」を想定することがしばし行われる。 コンピュータ上における「実体」は、一般には「表現型」と呼ばれている。 表現型とは、つまりデータの数字が具体的に何を意味しているか、という対応ルールのことだ。 例えば、データの1個目の数字が個体の身長を表し、2個目が体重、3個目が手の長さ、4個目が足の長さ・・・といった対応ルールを定める。 そして、適応度の評価は表現型に対して行う。 例えば手足の長さと体重から走行のシミュレーションを行い、より足の速い個体を優先させるといった処理を行う。

4.以降、2.3.の処理を繰り返す。

上記の方法のことを、コンピュータの世界では「遺伝的アルゴリズム」と呼んでいる。 遺伝的アルゴリズムに基づいたプログラムの作成自体は、さほど困難ではない(プログラムの規模や程度にもよるが)。 簡単なものであれば、手近にあるパソコンで十分に実行できる。 実際に遺伝的アルゴリズムに基づくプログラムは、これまでにも数多く作成されている。 その結果何ができたのだろうか。

まず、ある種の問題が上手く解けるようになった。 特に「数多くの組み合わせの中から、条件に良く適合したものを選び出す」といった種類の問題に威力を発揮した。 最適な時間割の作成、巡回セールスマン問題、ナップザック詰め込み問題などである。 一般的に組み合わせの問題を解くには、全ての組み合わせをしらみつぶしに調べるしか方法が無い。 しかし構成要素数が多い場合、全ての組み合わせは莫大な数となるので調べ尽くすのに大変な時間と労力を要する。 そうした局面で、遺伝的アルゴリズムは答を探し出すための1つの手段となり得る。

次に、生命の進化を模倣するプログラムが登場した。 有名なものに「Tierra」がある。 Tierraはスペイン語で地球という意味。 デラウエア大学の進化生物学者トム・レイが制作したプログラムだ。(今は日本の京都に住んでいるらしい) 地球生態系をモデルとした仮想的なコンピュータ上に、「デジタル生物」と呼ばれるコードを配置した、仮想的な生態系となっている。 「デジタル生物」は以下の挙動を行う。

・自身のコードをコピーして増殖する。
・生存の為の資源、CPUの利用時間とメモリーを奪い合う。
 ここで、より多くの資源を獲得する性質を持ったコードは増殖に有利となる。
・メモリー空間がいっぱいになると、一定のルールに基づいて不適合なコードから順に削除される。
 つまり「死を与えられる」。
以上のような仕組みを持つTierraを長時間稼働させたところ、1種類の先祖種から多種多様なコードが生み出された。 これは当初の制作者も意図しなかったことであった。 Tierraは生命進化における創発をコンピュータの上で再現したのである。

ここまで結果が出ると、コンピュータ上で「生命の模倣物」ができる日もそう遠くないように思えてくる。 生命とはダーウィンの進化論、「突然変異+自然選択」によってできたものである。 そして、「突然変異+自然選択」という基本原理さえ守れば、既存の生命とは異なる全く新しいタイプの生命を作り出すこともできるのではないか・・・

人工生命の将来がどうなるかは分からない。 ひょっとすると近い将来、我々の友人となるような「新デジタル生命」が誕生するのかもしれない。 しかし夢を壊すようではあるが、私はここで批判的な意見を述べておきたい。 以下は全くの私感なのだが、「人工生命」は、それより少し前に流行した「人工知能」と似たような経緯をたどるのではないかと思うのである。
確かにTierraは制作者の意図を含まない、当初の想像を超えた多様なコードを生み出した。 その意味では画期的と言える。 それでは、さらに長時間Tierraを稼働し続けたら、より他品種の、より複雑化したコードが生み出され続けるのだろうか。 極端な話、生物と同じようにTierraを何万年、何億年と稼働すれば、ついには人間に匹敵するほどの生命体が出現するのだろうか。 残念ながらオリジナルのTierraについて言えば、その可能性は極めて低い。 Tierraでのコードの長さは、稼働時間につれて全般的に短くなる傾向にあった。 そして、ある程度まで達すると、事実上進化は停止した。 Tierraの世界ではCPUとメモリーを消費しない個体が有利だ。 それゆえ、より短いコードの方が生き残る傾向が強い。 Tierraの世界では、ある限界以上に個体が複雑化、高度化することはなかったのである。 この限界を超えるべく、オリジナルのTierraを改良する試みが今日に至るまで続けられている。 その中から将来何が生まれてくるのか、現時点ではまだ断定を下すことはできない。 ただ、オリジナルのTierraの結果を見るにつけ、私は1つ思うところがある。 Tierraの世界が行き着く先は「創発」ではなく「最適化」なのではないか、という懸念である。 制作者の意図したものか、意図を越えたものかは別として、Tierraの世界には1つの傾向が与えられている。 それは「CPUとメモリー消費を小さくせよ」という傾向である。 Tierraの世界は複雑ではあるが、とにかく与えられた傾向に向かって変化を遂げ、最終的にほぼ最適となった時点で落ち着いた。 この落ち着いた状態のことを平衡状態とは呼ばないまでも、もうそれ以上は変わりようのない終着点と見なせないだろうか。 醒めた目でTierraを見るなら、与えられた傾向に従って最適化を進めるプログラム以外の何物でもない。※

Tierraだけではない。 およそ人工生命にとって最大の悩みどころは、ある一定の限界以上には進化しない、ということではないだろうか。 遺伝的アルゴリズムの場合、個体の評価基準はプログラマーが与える。 そして進化、あるいは最適化の極に達した時点で事実上の計算は終了する。 人工生命の場合、進化の傾向は制作者が意図的に与えたものではないかもしれないが、結果的にはシステムに内在する傾向に従って事態は進行する。 そして、与えられた傾向を越えて進化が持続することは極めて困難に見受けられる。 熱統計力学の教えは、つまるところシンプルだ。 閉じた系は、極めて多数ではあるが有限の組み合わせの中をくまなく巡回する。 そして、その組み合わせの大多数を占める最もありふれた状態に、系は最も長く留まる。 その最もありふれた状態が、事実上の系の終着点となる。 最適化の答が1つの点、あるいは安定した静的な状態になるとは限らない。 結果が一定周期で振動したり、発散したり、カオス的な振る舞いを示すケースもある。 では、そのカオス的振る舞いの中からより高度複雑化した何物かが創発するのだろうか。 これは難しい問いかけだが、いまのところ私は否定的な見解を持っている。 人工生命のシミュレーション、ライフゲーム、セルオートマトン、確かにこういった一連のものは予測のつかない複雑なパターンを示す。 しかし、これらの結果はどこまで行っても「予測のつかない複雑なパターン」であって、それ以上でもそれ以下でもない。 平衡状態にある静止した気体であっても、見方によっては「予測のつかない複雑なパターン」なのだと言える。 多体から成る分子運動は、個々の分子に着目する限り単純な計算では予測のつかない、極めて複雑な運動だ。 しかし、その複雑な運動の集合体を遠くから粗視的に見れば、やはり静止した気体以上にはならない。 複雑なパターンが「生きている」と主張するか、ただの模様にしか見えないと主張するかは、もはや個々人の嗜好や哲学的解釈の議論であろう。 原理的に考えるなら、遺伝的アルゴリズムと気体分子運動に本質的な差異はないのではないか。 ある一定の空間内のあらゆる組み合わせを遷移する、という点において両者は同一だ。 両者に違いがあるとすれば、最終的な状態に達するまでの緩和時間(あるいはステップ数)であろう。 全くの偶然を待つだけのランダムな遷移よりも、最適解に向かう傾向を備えた淘汰の仕組みの方が、緩和時間が圧倒的に短い。※

かつて、コンピュータに脳細胞の真似をさせたところ、パターン認識等に優れた興味深いプログラムができあがった。 できた当時は、これこそが人工知能ではないかと多くの人が期待を寄せた。 今日、ニューラルネットワークは最適化アルゴリズムの1つとして実用的に利用されている。 しかし、それを人間に比肩するような人工知能と呼ぶ人はほとんどいない。 遺伝的アルゴリズムも、ニューラルネットワークと似たような状況にあると思う。 プログラミングの1手法として研究する価値は十分にある。 しかし「かき混ぜて、選ぶ」だけの単純なからくりで生命ができあがるとは、私には到底思えない。 真剣に人工生命に取り組む人に対してこんなことを語れば、意気消沈するか、怒り出すかもしれない。 私は人工生命が全く無駄な試みだと言っているのではない。 むしろ、人工生命は極めて根元的な問題を突きつけているものと思う。 現状の人工生命には、まだ何かが足りない。 それが何であるかは、全く想像が付かない。 およそ問題というものは、明確な形に定式化できた時点で半分解かれたにも等しい。 ところが人工生命の場合、何が問題なのかさえはっきりと分かっていない。 人工生命の探求者は、ここで思い悩むことになる。 生命への道は遠く険しい。


人工生命には、コンピュータのソフトウェア以外にも幅広くアプローチがある。 たとえばロボットを作る、特定の化合物を操作する、などなど。


進化とは最適化に過ぎないのではないか。 1つだけ、あまり考えたくない可能性がある。 果たして進化は今後も複雑化、高度化を持続し続けるのだろうか。 我々は漠然と、進化がどこまでも無限に続くものと思っているのだが、そんな保証はどこにもない。 ひょっとすると、進化はいずれ最適解に達して停止するのではないか。 Tierraの世界は現実世界に比べて単純で小さいが故に、最適解に達するまでの時間が短かっただけに過ぎない。 我々の住む世界は十分に大きいが無限ではない。 もし進化=最適化であったなら、進化もいつかは「答に達する」のかもしれない。


人工生命が達すべき最適解に「複雑な生命体の模倣物」を設定しておけば、プログラムは当初の目的を達するのかもしれない。 しかし、それでは「最初から仕組まれた芝居」を演じているだけと批判されることになる。
ページ先頭に戻る▲