anlifeとは?

仮想生物(エージェント)が学習・進化していくことで,生態系のような”創発”的な現象を再現するシミュレータを目指しています.

現在のバージョンでは,エージェントは移動動作を学習し,生存競争を繰り広げることで,移動動作の上手なエージェントへと進化していきます. 本シミュレータではパラメータを変更したり,エージェントをつまみ上げて移動させるなど,インタラクティブにこの進化を観察することができます.

world2.png
a7.PNG

現バージョンでのシミュレーション設定

上のスクリーンショットにあるような,宙に浮いた地面がシミュレーションの舞台となります.この地面上には,仮想生物(エージェント),食料(緑色のボール)が存在しています.

エージェントは食料を得るために絶えず食料のある方向へ移動しようと試みています. 長い期間,食料を得られなかったエージェントは死んでしまいますが, 多くの食料を得ることのできたエージェントは他のエージェントとの間に自分の子供を残していきます.

一方で,エージェントは体をどう動かしたら目的の方向へ移動できるかは知りません.つまりプログラムされていません.エージェントはいろいろな動き方を試行錯誤していくことで,自分の行きたい方向へと移動する動作を学習していきます.

こうして移動動作がうまくなったエージェントは,自分の子供を残すことができ,自分の体の構造情報(関節の数,大きさ等)子に遺伝させることができます. 子供は親の体の構造が遺伝するため、世代を経るごとに次第に移動のうまいエージェントに進化していきます.

今後のロードマップ

バージョン1.0での目標

バージョン1.0での目標は

  1. エージェントが動作学習をする.
  2. エージェントの体構造が移動に適した構造に進化する.
  3. 多くの人に使ってもらえるソフトにする.(広報活動,ソフトの完成度)

目指す完成形

創発的な現象を再現するシミュレータを目指しています.ここでいう"創発"とは人が陽に設計してないシステムが自律的に構成されるような現象を考えています.すなわち,人はシステムの種だけを設計して,後はそのシステムが自律的に発展するような現象です.

開発計画

いったんバージョン1.0で開発を中断します.まずは勉強して知識をつけ,性能のよいアルゴリズムを実装できる下地を作ることを優先していきます.

開発の歴史

2008.5 anlife作成開始
2008.8 バージョン0.1をリリース
2009.2 バージョン0.9をリリース


Last-modified: 2010-04-19 (月) 02:55:04 (2798d)