Tierra (コンピュータプログラム)

ティエラ(Tierra)は、生態学者であるトマス・S・レイによって1990年代初頭に考案・開発された、画期的な人工生命シミュレーションプログラムです。

このプログラムの基本的な仕組みは、コンピューターのメインメモリ上に仮想的な環境「スープ」を構築することから始まります。このスープは、仮想的な生物たちが生存し、活動するための空間であり、その中に展開されるバイトコードが各仮想生物の「遺伝子」に相当します。遺伝子は、仮想マシンによって機械語として直接解釈され、実行されます。

スープの中で生きるそれぞれの仮想生物は、自身の仮想CPUレジスタと実行ポインタを保持しています。仮想マシンはこれらの状態を高速に切り替えることで、複数の仮想生物の遺伝子を同時に(マルチプロセス的に)実行します。仮想生物の遺伝子は、時間の経過と共に一定の確率でランダムなビットが反転する「突然変異」や、仮想CPUの実行中に発生する可能性のある「ミス」といった変化に常にさらされています。

このような動的な環境下で、仮想生物たちは限られたメモリ空間(しばしば「餌」に例えられる)と仮想CPU時間(「エネルギー」に例えられる)を巡って激しい競争を繰り広げます。この競争の唯一の目的は、自己の遺伝子を正確に複製し、子孫を残すことです。効率よく自己複製できた仮想生物ほど、より多くのメモリとCPU時間を獲得しやすくなり、結果として個体数を増やして繁栄します。

一般的な進化的計算プログラム、例えば遺伝的アルゴリズムなどでは、仮想的な個体の「適応度」を評価するための特定の関数があらかじめ設計されています。しかし、ティエラにはそのような適応度関数は存在しません。ティエラの仮想生物にとっての適応度は、自身の遺伝子がどれだけ効率的に、あるいは正確に自己複製を成功させられるかという能力そのものに直結しています。自己複製に失敗したり、著しく非効率であったりする遺伝子を持つ個体は、資源競争に敗れて淘汰されていきます。また、多くの遺伝的プログラミングが木構造の遺伝子表現を採用するのに対し、ティエラの仮想生物はシンプルで直接的な直線状の遺伝子構造を持っています。

このような設計思想、特に適応度関数を持たず、単純な自己複製能力に基づく資源競争を原理としたことは、興味深い現象を引き起こしました。自然界の進化と同様に、ほとんどの突然変異は遺伝子の機能を損ない、複製できない不妊性の「畸形」を生み出し、個体は速やかに消滅します。しかし、中には他の仮想生物の遺伝子コードの一部を読み込んで利用することで、自身の複製をより効率的に行う「寄生種」のような存在が出現・繁栄するといった、予期せぬ複雑な振る舞いも見られました。

レイ氏がコンピューター科学の専門家ではなかったことも、ティエラの独特な設計に影響を与えたと考えられています。実際に、プログラムが開発され、その動作が実証されるまでは、コンピュータの専門家たちの間では懐疑的な見方も少なくなかったと言われています。ティエラは、計算機上で生命と進化の基本的な原理を実験的に探求するための、非常に重要なマイルストーンとなりました。後に、ティエラの考え方を参考に、より洗練された人工生命プログラムであるAvidaなどが開発されています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。