人工生命って何?をざっくり説明してみた

# 趣旨
### 人工生命(ALife)のワクワクを共有したい！

夢とワクワクがつまった「人工生命」という分野。
ただ、知らない人も多いのでは、ということで今回は人工生命とは何かということを自分なりにざっくり解説してみました！
これを期に「人工生命(ALife)」に関心をもってくれる人が一人でも増えれば幸いです！

※ とあるクローズド勉強会で発表したものの共有になります。
※ スライドは人工が「人口」とタイポしてました。すみません。

# 本編

### 1
![人工生命(引用つき).003.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/d93943bc-479e-663b-1f27-1cbbb7adde20.jpeg)

### 2
![人工生命(引用つき).004.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/abbfc8aa-6e47-200e-3965-8490605edde2.jpeg)


### 3
![人工生命(引用つき).005.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/3a74f6b6-6982-1fe2-d2a4-e46bc25675d1.jpeg)


### 4
![人工生命(引用つき).006.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/271a7c4e-2654-7cdf-aec3-655752d75db9.jpeg)


### 5
![人工生命(引用つき).007.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/80ecd2bb-6d46-8493-e1af-7ffe5e403706.jpeg)


### 6
![人工生命(引用つき).008.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/92ee4c1f-54f6-c49d-5e63-562636d4341f.jpeg)

Alifeは、生命っぽいものをコンピューター上でシミュレーションすることかということはわかったけど、具体的には?　とお思いと思うのでここからはALife研究でも代表的な「ボイドモデル」というものを紹介します。

皆様は鳥の大群をみたことはあるでしょうか。

https://youtu.be/0iS3SmI7O4k

上記のように鳥の大群はその群れ全体がまるで意思を持っているように、ヌルヌルと姿を変え回遊します。


### 7
![人工生命.010.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/6ca10eae-f4d1-192b-fb46-45741bcfadfd.jpeg)

この鳥の大群の複雑な動きを、コンピューター上で再現したのが、ボイドモデルです。
実際にボイドモデルを使ったシミュレーションがYoutubeに上がっているので見てみてください。
うまいこと再現できているように見えます。

https://youtu.be/91VI1aa79-o


### 8
![人工生命(引用つき).009.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/033c6a5e-7858-6a2c-4aee-f54e90f755e9.jpeg)


そして驚きなのが、このシミュレーションは3つのシンプルなルールで構成されているということです。
衝突回避、整列、接近という3つルールを用いれば、複雑な鳥の集合の動きを再現できます。

[引用]ボイドモデル, 構造計画研究所
https://mas.kke.co.jp/model/boid-model/


### 9
![人工生命.011.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/f2cbea27-dfaf-6ad3-4cc9-79bf8183c072.jpeg)

ボイドモデルは、鳥の大群を上手くシミュレーションしているということで、映画「バットマン」のCGなどで利用されます。
このモデルは、鳥の大群の動きをシミュレーションしたものですが、同じように簡単なルールにて「生命」を記述できないか
ということに可能性を感じた多くの科学者により「人工生命」という分野が盛り上がります。

### 10
![人工生命.012.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/5d275652-9fcd-9dca-e491-224d33b52289.jpeg)


では、現在はどうなっているかというと「人工生命の冬」と呼ばれる状況です。
生命を記述するのは、大変難しく、研究分野としてはまだまだブレイクスルーが待たれる状況です。

ただ、それは悲観するばかりのものではなく、今ホットな人工知能(AI)も何度も冬と呼ばれる時期がありましたし、
伸び代がすごい(逆張り)と捉えることもできると思います。


#### 11
![人工生命.013.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/02799bcc-9054-19fc-dd7c-5a283c3ad172.jpeg)

では、どういう部分に突破口があるのかと言った時に、いろんな資料をみていてここがアツいのではという個人的な見解をお伝えします。
#### 1 オープンエンドネス


こちらは「終わりなき進化」と呼ばれるものです。
生命(生態系)の特異性として、今なお多種多様に進化し続けているという性質があります。
一方コンピューター上の最適化計算は一瞬で解に収束したり、また解の多様性が失われてしまったりします。

この終わりなき進化のキーは何かというのがホットトピックになっています。

#### 2 新たな生命の発見

また、人工生命の難しさとして「自分たちは地球型生命しか知らない」という点があります。
それにより「生命」の定義が難しいのです。
もし、将来地球外生命を発見し、「生命」というものに新たな定義が加われば、新たなブレイクスルーになるかもしれません。

また観点が少し異なりますが、池上先生という第一人者の方が、「インターネットは生きているのではないか」ということをおっしゃられていました。
少し哲学的な面もあるかもしれませんが、実はもうすでに新しい生命が近くにいるのかもしれません。

### 12
![人工生命.014.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/caa550b4-8e81-0fff-69d6-e798c892f017.jpeg)


今回お伝えしたのは、人工生命という深淵な分野の、1部分の1切り口にすぎません。

[[引用]「AIはもう常識」なアナタにおくる「人工生命」講座, ホウドウキョク](https://www.youtube.com/watch?v=O46tCx34fPs)

### 13
![人工生命.016.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/e629315b-34be-37ad-44d8-1e79a853e5a4.jpeg)

最後に、「複雑系入門」に書かれていて心に残った一節を引用します。
こちらは、本質を抽出できたシミュレーションは実在になるのではということですが、
確かにそうだな〜と思うと同時に、コンピューター上で生命が生まれる可能性を感じワクワクします。

是非少しでも「人工生命(ALife)」にワクワクしていただければ幸いです！！
### ***Let's join ALife World!***

# 参考文献
[<img src = "https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/138863/7703ca85-d068-1b26-9a2d-065e977de89f.png">](https://amzn.to/3vBlOWr)

今回参考にした本は
[「複雑系入門―知のフロンティアへの冒険 井庭 崇,福原 義久」](https://amzn.to/3vBlOWr)
になります。こちらは人工生命というより、その土台になっている「複雑系」というものの全体像を教えてくれる入門書です。

「人工生命」というマイナー分野でなかなか書籍がない中、体型だって全体像を見せてくれて、かつ専門知識がなくともワクワク読める良書です。
(どこぞの大学では、教科書に指定されているらしいです。)

是非よかったら手に取ってみてください！