MENU

【人工生命】コンピューター上の生命・人工生命モデルまとめ

この記事では、人工生命を模したコンピューター状のモデルについてまとめています。

最近はやりの人工知能と深く関連しており、人工知能を用いてより基礎的な問題を解決しようとする試みが、人工知能に繋がっています。

今回この記事を作るにあたり、以下の本を参考にしました。 

 

人工知能と人工生命の基礎

人工知能と人工生命の基礎

 

 

 

人工生命の定義

人工生命は、コンピューターで生物学の根本問題を解決することを目指しています。

1987年にサンタフェ研究所で人工生命に関する第一回国際会議が開催されました。

そのオーガナイザーであるクリストファー・ラングドンは、この分野を次のように定義しています。

人工生命は、自然の生きているシステムに特徴的な振る舞いを示す人工システムの研究である。地球上で進化した特定の例に限定されずに、あらゆる可能な出現においての生命を説明する探求である。最終目標は生命システムの論理形式の抽出である。

人工生命は、「生物のような行動」を研究することを目的とし、分析的な方法に代わって合成的な研究手法を用いて生命現象を探求します。生命の行動を創造するメカニズムの発見は、次のような意義を持っています。

科学的目的:既存の生命より深い理解、特に生命にとって基本的な属性の理解 

工学的目的:一般的な適応能力を持った人工物の生成

以上の二つの目的から、人工生命は主に研究されています。

Alife? BLife?

人工生命は、従来の生物学(BLife, Biological Life)を拡張してシミュレーションなどにより検証可能な科学としての進化生物学の構築を目指しています。

ALife(Artificial Life)とBLifeの違いは以下の言葉に要約されています。

ALife: ありうる(ありえた?)かもしれない生命

BLife: われわれの知っている生命

BLifeでは、我々の身近にいる生物(アリ、鳥、人間など)を作る試みですが、ALifeはその枠にとらわれずに、普遍的な生物の原理を探求します。

我々生き物は進化いていった結果こうなった訳ですが、少しの偶然によって全く違った形になっていたことは有りえますよね。

こういった、我々とは違った生命を探求するのが、Alifeの試みです。

地球外生命体がいるとするならばどのような生命なのか?という疑問も、ALifeの謎の一つです。

Karl Simsの人工生物

Karl Simsは"Artificial Evolution"と呼ばれる人工生命の先駆的研究を行いました。このシミュレーションではコンピューターの3次元世界上に仮想生物を創造します。

仮想生物は有向グラフを遺伝子として持ち、その発現型としての複数のブロックからなる形状(=仮想生物のからだ)を持っています。

仮想生物にはいくつかのセンサがあり、入力に対して何らかの行動を生成します。

遺伝子(有向グラフ)はブロック状の構成要素を表すノードとノード間の接続情報から成ります。

このグラフは複数のブロックを制御するためのニュートラル・ネットワークです。

そしてセンサ入力に応じた動きを生成する刺激反応系として機能します。

人工生命 泳ぐ

f:id:zenkutai:20180731185528p:plain
 

ACOアルゴリズム

多くの種類のアリは、採集の際に餌から巣にむかうとき自分の通った道筋の痕跡をフェロモンによって残します。

そして、餌の探索中に他のアリが残した道筋があればそれを辿ります。

この動きをより深く理解するために、DeneuobuorgやGossはアルゼンチンアリを用いた実験を行い、アリの行動を最短経路探索と結びつけました。

アリ一匹はそれぞれ以下のように単純なことしかしません。

  • ランダムに餌を探す。
  • 餌を見つければ巣に持ち帰る。そのときにフェロモンを帰り道に落とす。
  • フェロモンが近くにあればそちらに導かれる。

しかし、このプログラムを使うことによって、アリの動きを正確にシミュレートすることができます。

ASOモデル

このことから、アリが深い意思を持っている訳ではないことが推察されます。

 

PSOアルゴリズム

鳥や魚はなぜ群れるのでしょうか? 敵から身を守るためでしょうか、餌を共同で追い込むためでしょうか? 色々な説がありますが、彼らの群れを見ると、まるで全体が一つの意思を持っているかのように複雑な動きをします。

この振る舞いに興味を持った研究者たちが、以下のようなプログラムを考案しました。

boidアルゴリズム

  1. 衝突の回避:近くにいる仲間と衝突しないようにする。
  2. 速度を合わせる:近くの仲間と速度を一致させようとする。
  3. 群れの中心に向かう:近くにいる仲間にまわりを囲まれた状態になろうとする。

以上のようなプログラムを用いると、鳥のような振る舞いをするプログラムができます。

f:id:zenkutai:20180731190849j:plain

 


 

生命を創ることで理解しようとする、面白い試みを見れました。

 

人工知能によって変えられる未来について、以下の記事をどうぞ。