ただ変異する箱

1000世代まで自動で更新。表示枠内はスクロール可。

制作メモ

原始ボックス君の誕生

このページが読み込まれた瞬間に、原始ボックス君が黒いリストエリア内に生成される。この原始ボックス君は自然発生するが、それ以外の性質は彼の子孫と全く同様である。

ボックス君の世代と遺伝子

原始ボックス君を含む全てのボックス君は、見ての通り次の2つのパラメタを持っている。

ボックス君の繁殖

全てのボックス君は、生まれてから1.5秒で子供を1箱だけ産み、そこから先は何も行わない。新しく生まれた箱は「世代」と「遺伝子」の値、そして「見た目」を並べた行としてリストエリアの一番上に格納される。

遺伝子の変異

新しい世代のボックス君が生まれる時、遺伝子の変異が起こる。つまり、似たような6桁の数字ではあるけれども、どこかが少しだけ違う遺伝子を持ったボックス君が生まれてくる。

具体的には、親の赤・緑・青を示す2桁の数値のうちどれか1つがランダムに選ばれ、選択された数値が1~20だけ増加または減少を受ける。選択されなかった数値はそのまま親のものを受け継ぎ、それが子の遺伝子となる。

これって進化?

「遺伝子」やら「形質」なんて言葉を使ってしまったけれども、プログラムの内容自体はランダムにRGBを変化させているだけなので、たいしたものではない。たしかにボックス君達の色がだんだんと変化していく様子は、生き物の歴史を思わせるけれども、これを「進化」と呼んでもいいだろうか。

否! まだ足りないものがある。おそらくそれは「淘汰」である。ボックス君達が青色になったとしても、それはここでは有利でも不利でもない。たとえばここで、定期的に災害(赤っぽいものだけ絶滅する隕石が降ってくるとか)を起こしてやれば、もっと進化に近づける気がする。神は非情なのだ。

使用した知識・技術

JavaScriptのプログラムより、ブラウザや端末の種類によってデザインにズレが生じないようにする方が大変だった。スクロールバーめ……。

創造主の二重らせん

遺伝子が体をつくり、遺伝子が脳細胞を作る。脳細胞が行動を決めて、その結果、楽しかったり、悲しかったり。
遺伝子がそうしろって言ってるから、15回目の禁煙は今日で終わりにしよう。だって遺伝子が言ってるから。