LoginSignup
7
1

More than 3 years have passed since last update.

Avidaではじめる「人工生命」

Last updated at Posted at 2020-04-25

人工生命とは?

人工生命(ALife)とは、コンピュータ上で人工的な生命を作り出してしまおう!
そして、そこから「生命とは何か」を考えようという深淵でスペクタクルな分野なのです。

人工生命の記事が少ない + Avidaを説明している日本語ページがないということで作ってみました。

Avidaとは

人工生命プログラムの一つです。
個体それぞれが代謝速度をもち、それぞれの速度で自己複製していくのが特徴です。(詳しくは後述)

元論文: "Avida: A Software Platform for Research in Computational Evolutionary Biology" Charles Ofria
https://www.researchgate.net/publication/8598395_Avida_A_Software_Platform_for_Research_in_Computational_Evolutionary_Biology

また、もう一つ大きな特徴として、
Avida-EDという教育用のプログラムが、web上に公開され誰でも簡単に実行することができます。

Avida-ED 始め方

習うより慣れろで、触ってみるのが一番いいと思います。
サイドバーにある個体を、ドラッグ&ドロップで持ってきて、Runを押すだけで人工生命世界が始まります。
start world

<実行環境>
https://avida-ed.msu.edu/app/AvidaED.html

<チュートリアル>
https://www.youtube.com/watch?v=x7pISK-eBE8&t=13s

3つのモードがあります。

  • Populationモード: 集団全体をシミュレートするモード
    スクリーンショット 2020-04-25 19.05.22.png

  • Organismモード: 1個体を詳しく見るモード
    スクリーンショット 2020-04-25 19.01.45.png

  • Analysisモード: シミュレート結果を分析するモード
    スクリーンショット 2020-04-25 21.13.12.png

Avida-ED ざっくりアルゴリズム

  • 個体はそれぞれ、50命令の文字列で構成されます
  • 命令には、a-zの26種類があります
  • 個体は、文字列に応じてFitness(適応度)が計算され、適応度が2倍ある個体は2倍早く増殖します
  • 個体は複製されるときに、突然変異により命令が書き換わることがあります。(突然変異率は設定できます。)

↓(例)突然変異で11番目の命令がV=>Oに変化しています。
スクリーンショット 2020-04-25 21.14.48.png

実際に動かした所感

  • 集団の適応度が、不連続に上がっていく様子がみられた。=> 進化してる〜〜〜!!!
    shinka

  • (適応度の計算と、それぞれの命令の意味が結構複雑でまだ理解できてないので、そのうち理解したい。)

  • すぐに実行できるのは、人工生命が抜群に身近になって素晴らしい。

  • 人工生命は見ててワクワクする。今後もいろんな人工生命アルゴリズムを触ったり、作ってみたい!皆さまもよかったら是非!!

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1