人工生命 "Lenia" を触って遊びます。
はじめに
"Lenia" という美しい人工生命モデルがあります。
このデモ動画を見てみて下さい。
顕微鏡を覗いているような、"何か"が生きているかのような動きが美しいですね。
今回は、この人工生命"Lenia"を手元で動かして遊んでみます。
# 作業環境 Windows 10 Python 3.7.6
The English translation of this post is here.
人工生命 "Lenia" を動かす
Leniaとは
Lenia is a system of continuous cellular automata, a form of artificial life. It was derived from Conway's Game of Life by making everything smooth, continuous and generalized.
(意訳) Leniaは、連続値セルオートマトンの人工生命です。 コンウェイのライフゲームから、あらゆる要素をスムーズで連続的に汎化して作られています。
とのことで、ライフゲームベースの時空間的に連続な人工生命モデルとして、Bert Chan氏が作成したものです。
論文もあるので、詳細はこちらを参照ください。
- Lenia - Biology of Artificial Life
- Lenia and Expanded Universe | Artificial Life Conference Proceedings | MIT Press
Leniaを動かす
それではLeniaを動かしていきます。
Python, Matlab, Javascriptなど複数の言語がサポートされていますが、今回はPythonバージョンを動かしてみます。
# ソースコードをclone git clone https://github.com/Chakazul/Lenia.git # Pythonバージョンのディレクトリに移動 cd Lenia/Python # virtualenvがインストールされていない場合はインストールする pip install virtualenv # 仮想環境作成 virtualenv .venv # 仮想環境有効化 source .venv/Scripts/activate # パッケージインストール pip install -r requirements.txt
これで準備は完了です。
いよいよLeniaを実行してみます。
python LeniaND.py

このようにLeniaのウィンドウが表示されれば成功です。
いろんなLenia
ウィンドウ上部のタブからパラメータを操作すると、いろいろな形態を表現することが出来ます。
いくつか例を紹介します。





非常に多様な形態が創発されて面白いですね。
ぜひいろいろ遊んでみてください。
おわりに
今回は人工生命 "Lenia" を動かして遊びました。
セルオートマトンは古くより研究されてきた分野ですが、このLeniaのようにいかにも"生き物っぽい"動きを目の当たりにすると、この分野の奥深さを実感します。
人工生命のモデルは面白そうなものがたくさんあるので、いろいろと触ってみたいものです。
[関連記事]