「作って動かすALife」の書評とプログラムの動かし方

「作って動かすALife」という本を買いました

 「作って動かすALife」という人工生命(Artificial Life)分野の本を買いました。「人工生命」って割と聞きなれない分野かもしれません。元々、簡単なルールで生命っぽい振る舞いをするもの(いわゆるライフゲームやボイド)をきっかけに、生命っぽいものを作ることで、生命とは何かを理解できるんじゃないの?ということを考える研究分野です(素人ですので、全然違ってたらすみません)。

 人工生命の分野では、「そもそも生命って何だろう?」ということも議論になったりして、今流行りのAIとの共通点も感じさせますね。個人的には、AIやロボットの進化の先にALifeという考えが重要になってくるんじゃないかなと思っているのですが、この本でも最後の方にまさにそんな話が書いてあって「おおっ!」って思ったりしました。

 今すぐ役に立つという分野ではないですが、単純に面白いですし、ジェネラティブアートとか創発とかそういったキーワードに興味ある人は刺激になるかと思います。

「作って動かすALife」で作れる人工生命

 本を読むことで、次のような人工生命をコンピュータ上に誕生させて、その原理(の1部)を分かった気になることができます(理解できるとはおこがましくて言えません)。


 ボイド(boids)

 


 あり(Ant)


 ライフゲーム(2次元のCellular automaton)


 反応拡散系モデル(Gray-Scott model)

 なかなか面白そうですね。

「作って動かすALife」のセットアップ方法(Mac向け)

 本ではめちゃめちゃ簡単に書いてあるので、動かせない人も多そうな気がするので、Mac向けのセットアップ方法を簡単に書いておこうかなと思います。

 基本的には以下記事を参考にすればOKです。

 とにかく最短で1から環境を構築したい人は、以下実行してください。

 HomebrewとPyenvをセットアップ

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ cd
$ curl -L -O https://raw.githubusercontent.com/karaage0703/mac-dotfiles/master/.bash_profile
$ brew install pyenv
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ brew install pyenv-virtualenv
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
$ echo export PYENV_VIRTUALENV_DISABLE_PROMPT=1 >> ~/.bashrc
$ source ~/.bashrc

 Pyenvの仮想環境のセットアップ

$ pyenv install anaconda3-4.4.0 
$ pyenv global anaconda3-4.4.0
$ conda create -n al anaconda
$ pyenv global anaconda3-4.4.0/envs/al

 必要なパッケージをインストール

$ pip install pyglet pymunk vispy
$ pip install keras==2.2.0
$ pip install tensorflow==1.8.0

 私の環境では、OSをアップグレードしたばかりで、途中以下のコマンドを実行しろというエラーが出たので、以下コマンドを実行して、Xcodeのライセンスを確認しました。

$ sudo xcodebuild -license

 あとは、以下コマンドを実行すれば、本のプログラムをダウンロードできます。

$ git clone https://github.com/alifelab/alife_book_src
$ cd alife_book_src

 あとは、プログラムを一つ一つ実行していくだけでOKです。

 本に出てくる、Gollyというライフゲームのアプリをインストールしたい場合は、Homebrew Caskで以下コマンド1発でOKです。

$ brew cask install golly

 好きなだけライフゲームが楽しめます。

まとめ

 最近読んだ「作って動かすALife」の簡単な書評とプログラムのセットアップ方法について書きました。割とこの分野好きで、大学時代も全く単位関係無いのに「人工生命」の講義を受講したりしていました。

 VJやりたいなー、とか思っているのですが。こういったALife的な要素取り入れたら面白そうだなとか日々妄想しています。

 ジェネラティブアートに興味あれば、以下の本も面白いかと思います。

参考リンク

ALIFE-CORE

Evolve It !: Takaya Arita's Home Page

GitHub - hunar4321/particle-life: A simple program to simulate artificial life using attraction/reuplsion forces between many particles

The relationship between matter and life | Nature

関連記事