バイナリ生物学読んだのでまとめる
技術書典でぺにゃんて先生の「バイナリ生物学入門」なる本を見つけた。
Alife(人工生命)に興味がある自身としては興味シンシンのタイトルである。
読んでみたのでまとめてみた。
原著はこちら
バイナリ生物学とは
作者の造語
実行バイナリや画像ファイル等のバイナリデータを、まる で生き物のように扱ってみること
バイナリ生物の定義
生きているの定義
• 代謝
• 運動
• 成⻑
• 増殖
•死
を行うことと定義してある。
それを行うものをモデル化する。
モデル
バイナリ生物は、
関数(化合物のリスト。実際はバイナリ列、現実世界ではタンパク質に該当)
とDNA列と寿命カウンタで構成されている。
また、環境は無数の化合物で満たされている。
環境の実行サイクル
下記のサイクルを繰り返し、実行する。
1.各生命が、化合物を1つ取得し、自身の関数で加工し、環境へ化合物を戻す(代謝/運動に該当)
2.各生命が、化合物を1つ取得し、それが、DNA列のどこかに対応する場合は、保持する。(成長に該当)
3.DNAの全てが対応する化合物を手に入れた場合、分裂する。(DNAがコピーされる。)(増殖に該当)
4.サイクルの終了時に寿命カウントを1減らす。0になった場合死に、化合物は環境に放出される。(死に該当)
実際のコード
linux ubuntuでしか動かない仕様とのこと
感想
やはり、ALife(人工生命)はいい。読んでいてワクワクした。
コンピュータ上に生命を再現するなんて最高だ。
素敵な本をありがとうございます!!!
今回のユニークな特徴は、生物の本体を代謝の関数である、バイナリにしたことだ。
これにより、任意の関数を定義できているとも言える。
ただ、本書には、突然変異や進化が盛り込まれていないのは残念だった。
おそらく、盛り込もうとするとバイナリが壊れてしまってなかなか生物を維持できなくなるのだろう。
(実際突然変異を、バイナリを人為的に書き換えることで実験していた。)
死のモデルもカウンターを使ってるのは、ちょっと大雑把な気がした。
是非これをみて、ワクワクした方は、原著や、Alife分野を一緒に勉強しましょう!
Discussion