Speee DEVELOPER BLOG

Speee開発陣による技術情報発信ブログです。 メディア開発・運用、スマートフォンアプリ開発、Webマーケティング、アドテクなどで培った技術ノウハウを発信していきます!

人工生命を創る

こんにちは、id:Mitsuyoshi です。 普段は美容情報ポータル VICOLLEのiOSアプリ開発をしています。

人工生命について「SpeeeKaigi」で発表しました。
SpeeeKaigiについてはこちら↓

tech.speee.jp

はじめに

私は自分で制御できるけれども完全な制御権はない、生き物やロボット、セルオートマトンなどを観察するのが好きで、最近は人工生命を作っています。
目指しているのは「強い人工生命」なのですが 、完全に目指そうとすると世界の設計からしないといけないので(そしてそれはほとんど思考実験の段階でボツになるので)、今回は強い人工生命に必要なひとつの要素である、オープンエンドな(=収束しない)進化の実験をしました。

世界に最適解、必勝法、が存在すると、そこに最初に到達した生物が大繁殖するだけになってしまって面白くないので、そうならない手法の実験です。

内容

試してみたのは、生物の種族間の関係性を流動的にすることで、最適解があったとしてもそこから簡単に移動していけるようにするという方法です。
例えば、ある1種類の生物がフィールドを独占している状態を「天敵が多い」とみなすか、「餌がたくさんいる」とみなすかはそれぞれの生物個体の持って生まれた性質によって決まる、ということです。

結果

以下のようなサイクルができ、ひとつの種族に収束するということがなくなりました。

  1. 数種の生物がバランスして個体数の変動がなくなる
  2. それを捕食する性質の突然変異が生まれ、捕食者が大発生するとともに以前の種族が激減する
  3. 捕食者が増えて安定した系となる
  4. はじめに戻る

展望

"種族"というものを今はかなり恣意的に決めてしまっているので、その辺創発的に生まれるような仕組みを作りたいです。