雑談

人工生命ティエラから学ぶ進化の科学

こんにちは!私は生命科学を専門としており特に現象シミュレーションを多く学んできました。今回はその中でも面白いと思った「Tierra」(人工生命ティエラ)について書いていきます。

人工生命ティエラとは

ティエラは生態学者トマス・S・レイさんが1990年代に開発した人工生命プログラムで、生物の進化プロセスをシミュレーションで観察できるように作られたアルゴリズムです。

ティエラ上の生物とはサーバーのメモリ上にあるバイトコードのことで、このバイトコードをCPUが読み取り、処理を行うことで増殖や死を繰り返して世代交代を行っていきます。

ティエラは世代交代を行うときに次のようなルールで処理を行います。

1.自己複製

バイトコードを読み取り生物を増殖させます。

2.死

メモリが埋まってきたら古い生物を削除します。

3.突然変異

自己増殖時に一定の確率でバイトコードが変化します。

たったこれだけのルールで、多様な生物が生まれ面白い戦略が観察できたのでこのティエラは脚光を浴びました。

人工生命ティエラが生み出した多様な生物

ティエラを動かして世代交代を経ると、種を生存させるためにいろいろな戦略をもった生物が生まれてきます。

パラサイト(寄生種)

最初に現れた特異的な生物です。他の生物(宿主)に自分を複製させるという特性を持っています。自己複製をするエネルギーがいらないので効率よく増殖することができます。寄生種が増えすぎて宿主が減ると死滅していきます。

ハイパーパラサイト

寄生種に寄生する生物です。寄生種から受け取った指令を、自分自身を増やす情報に書き換えて増殖します。寄生種への耐性を得るような進化をした生物種です。寄生種が指令を出すというエネルギーを奪っているのでこれも寄生種扱いです。

社会的パラサイト

生物が集団となり共生して増殖を行う形態です。個別だけでは増殖できませんが、互いに足りない情報を補うことで生存を保っています。

騙し屋

社会的パラサイトに入り込み、ハイパーパラサイトの要領でエネルギーを奪って増殖する生物です。一番ずる賢い(笑)

他にも、有性生殖のように互いのバイトコードを交雑させて子を複製するような生物も現れたそうです。

進化で重要なこと

人工生命ティエラのシミュレーションで次のようなことが分かりました。

  • 突然変異のようなノイズは多様性を生む
  • ごく単純なルールであっても、寄生種のような他人を陥れるずる賢い存在が出てくる
  • 宿主は寄生種に対して、耐性を獲得するか共存を持ちかけるような進化をする
  • エネルギーは効率化されているので、増殖という意味では効率的な仕組みになっている

重要なのは寄生や共生といった「相互関係」です。それは、助け合いだけではなくライバルを蹴落としていくような欲も必要ということが明らかになったといえます。

実際にこのような考えが最新の機械学習アルゴリズムに活かされています。それは、お絵描きやチャットボットで大暴れしているGANです。GANは特徴量を正しく判別しようとする識別器と、識別器を騙そうとする生成器を同時に学習することで高度な情報を生成してくれるモデルです。

リアルのものを生成するような複雑な情報処理にこの敵対性が利用されていることから、効率のよい進化をさせたい場合に良い施策であるということが示唆できるのではないでしょうか。

調べてみたら書籍がありました(ビックリ)

Yasui
アナリティクス&デベロップメント所属 特技はPCR