人工生命
自己複製するときに、クラスを使うと
code:alife
class Life {
Life(...parameters...){
}
Life reproduce(){
life = new Life(...parameters...)
return life
}
}
みたいになるけど、これでいいのか
これを継承して新しい生物を作ったときには、
reproduce内のコンストラクタを新しいものに入れ替える
(別クラスでそのようにすると、トビがタカを産むことはなくなる)
人工生態系はたぶん微分方程式、力学系を勉強して考えるのがいいんだろうと思う
ロトカヴォルテラって短期的にはカオスなのに、長期的な個体数はピラミッドで均衡みたいに維持されている?
後者は動学ではなく不動点 (静学) を考えてるってことだろうか
ロトカヴォルテラは不動点の周りを回っている、という動学と静学の関係になっていたような気がする
数値計算は問題が代数的に解けないからやる。人工生命は?
構成的手法: OSやプログラミング言語なども作って理解するひとがいるだろう
発生
ビコイド濃度勾配、ホメオボックス遺伝子
Tierra-like AL
遺伝的アルゴリズムとか進化とかが成り立つのって、空間がある程度連続的で、近い遺伝子が近い適応度に移るから?
Tierraのような人工生命の遺伝子となる言語には、連続性が要求される?
問題を出し合う(Avidaに於ける「タスク」)
ℝ^2 oriented
横・奥行き-世界
縦・横-世界, 落下
重力
有性生殖 専用コマンド
コミュニケーション
「executable DNA」と呼ばれているみたい
DNAはプログラムでもありデータでもある
遺伝子を認識してくっつく
イントロン開始コード
オペロン説
プロモーター(RNAが結合する部分)
開始コドン、終止コドン
リガーゼ、制限酵素
細菌は、バクテリオファージの感染など外からの侵入に対して身を守る防御機構を備えており、外来の DNA を自分自身が持つエンドヌクレアーゼによって分解し、ファージの増殖を“制限 (restriction)”する。
スプライシング
RNAワールド
相補的なパターンによるアドレッシング
todesking氏実装のTierraで開始時即call (関数呼び出し)空打ちするやつが増殖して何かと思ったら、callはreturnのために呼び出し元のアドレスをレジスタに入れるのだけど、この実装では空打ちでもその処理があったため、それにより開始アドレスを求め、自己サイズの測定に使っているぽかった。(ただし空打ちにはペナルティがある)