0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

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

人工生命とは?

人工生命(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

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

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?