人工生命とは?
人工生命(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を押すだけで人工生命世界が始まります。
<実行環境>
https://avida-ed.msu.edu/app/AvidaED.html
<チュートリアル>
https://www.youtube.com/watch?v=x7pISK-eBE8&t=13s
3つのモードがあります。
Avida-ED ざっくりアルゴリズム
- 個体はそれぞれ、50命令の文字列で構成されます
- 命令には、a-zの26種類があります
- 個体は、文字列に応じてFitness(適応度)が計算され、適応度が2倍ある個体は2倍早く増殖します
- 個体は複製されるときに、突然変異により命令が書き換わることがあります。(突然変異率は設定できます。)
↓(例)突然変異で11番目の命令がV=>Oに変化しています。
実際に動かした所感
- 集団の適応度が、不連続に上がっていく様子がみられた。=> 進化してる〜〜〜!!!

-
(適応度の計算と、それぞれの命令の意味が結構複雑でまだ理解できてないので、そのうち理解したい。)
-
すぐに実行できるのは、人工生命が抜群に身近になって素晴らしい。
-
人工生命は見ててワクワクする。今後もいろんな人工生命アルゴリズムを触ったり、作ってみたい!皆さまもよかったら是非!!