Binary

※MSVCP120.dllが見つからないとのエラーで起動できない場合は、MicrosoftDownload CenterからVisual Studio 2013 の Visual C++ 再頒布可能パッケージをインストールしてください

留意点

・実行にはそこそこのスペックのPCが必要です.
・現在のところ,学習アルゴリズムがいまいちなので、いくら起動し続けても、ニコニコ動画にあるようななめらかな動きにはなりません.電気の無駄づかいにご注意ください.

実行の流れ

  1. ダウンロードしたファイルを解凍
  2. anlife.exe起動
  3. パラメータ調整
  4. 観察しつつ,キーボードのXを押し高速化する.(再度Xで解除)
    • シミュレーション内の時間で数万秒(Core2の3.0GHzのCPUで約10分程度)経過したら,それなりに移動のできるエージェントは出現し始めます.

なお,コントロールバーのLoad_Allのフォルダ1,2,3には予め学習させておいたデータがあるため,ロードすることができます.

操作方法:

基本的には眺めているだけです.

視点の移動:

マウスの右ドラック: 回転,視点距離の調整
マウスのミドルボタンドラッグ: 地面に沿って視点を移動

マウス操作:

マウスの左クリック: エージェントを選択
マウスの左ドラッグ: エージェントをつまみ上げて移動させる.

データのセーブ,ロード:

Save_All: シミュレーションの状態をセーブする
Load_All: シミュレーションの状態をロードする
Save_a_Creature: 1匹のエージェントをセーブする
Load_a_Creature: 1匹のエージェントをロードし画面中央に配置する
それぞれ読み書きしたい番号のボタンを押します(下のスクリーンショット参照)
CntlBar_io_all.PNG
CntlBar_io_one.PNG


パラメータ

CntlBar.PNG
  1. Camera
  • Mini Display:ミニディスプレイの表示
  • Follow an Agent:画面中央に表示するエージェント
    • Elite:最も移動動作がうまいエージェント
    • Age:最も長生きしているエージェント
    • Foods:最も食料を多く得たエージェント
    • Children:最も子供をたくさん産んだエージェント
    • Selected:ユーザがマウスクリックで選択したエージェント
  1. Simulation Speed
  • Simulation Speed:シミュレーション内の時間のスピード
  • Skip Render:画面更新間隔を大きくしてシミュレーションの処理速度を向上させる.キーボードのxでも切り替え可能
  1. Config (シミュレーションパラメータ)
  • Gravity:重力加速度
  • Size of Ground:地面の広さ
  • Foods Growing Rate:食料が1つ生成されるまでの時間間隔
  • Height of Wall:エージェントが落ちないようにするための壁の高さ
  1. グラフィック
  • Draw Tracks:エージェントの軌跡を描画する
  • Draw Shadows:エージェントの陰を描画する
  • Draw Arrows:エージェントの目指している方向を描画する
  • Draw Texture:テクスチャーを描画する
  • Draw Skin:エージェントの肌を描画する

細かい内容

エージェント
エージェントは生物同様,生きていくために食料を必要とします.その食料が緑色のボールであり, エージェントがはこれに触れることで,この食料を得ることができます.
1.空腹なら食料を得るために最も近い緑の球の方向に移動する.
2.満腹なら子孫を残すため,最も近い他の生物の方向に移動する
という動作をするようになっています.
食料
地面上のランダムな位置に生成されます.時間経過と共に生成されます.草みたいなイメージです.
行動学習
エージェントは動物と同様,骨と関節で構成されており,関節を曲げることで体を動かすことができます. エージェントはこの関節の曲げ方を試行錯誤によって学習します.
遺伝に関して
多くの食料を得られたエージェントは,他のエージェントに近づくことでそのエージェントとの間に,自分の子孫を残すことができます. 体の構造は生まれたときに親からの遺伝情報により決定され,生きてる間は変化はしません.
エージェントのZ軸の移動
マウス左ドラッグでエージェントをつまみ上げて移動できるが,そのときにZ軸方向に移動させる方法.マウス左クリックしてエージェントをつまみ上げている状態からさらにマウス右ボタンをクリックしたままにしてマウスを移動させる.

Last-modified: 2014-08-23 (土) 22:35:42 (1038d)