この生態系の見方と遊び方
小さな脳を持つ発光生物が漂う人工生命シミュレーション。だれも「賢くなれ」と命じていないのに、餌を探す行動が世代を超えて自然に進化していく。
これは何を映しているか
画面上の海には、光る細胞のような生物が漂っている。各個体は小さなニューラルネットワーク(脳)を持ち、まわりを感じて自分で泳ぐ方向を決める。餌(小さな光の粒)を食べてエネルギーを貯め、十分貯まると分裂して子を残す。エネルギーが尽きた個体は死ぬ。世代の区切りはなく、この生と死がずっと途切れなく続く。
子は親の脳をコピーするが、その配線がごくわずかに変異する。餌を見つけやすい脳を持つ個体ほど長く生き、たくさん分裂するので、その「良い脳」が群れに広がっていく。これが進化だ。賢さは誰も設計していない。ただ「死ににくい者が残る」だけで、群れは少しずつ賢くなる。
この「脳(ニューラルネットワーク)を進化で賢くする」というやり方は、ニューロエボリューションと呼ばれる機械学習の一分野で、広い意味での遺伝的アルゴリズムの一種にあたる。現代のAIの多くが使う誤差逆伝播(バックプロパゲーション)——正解データから重みを計算で微調整する方法——とは対照的に、正解を一切与えず、突然変異と自然選択だけで賢さを立ち上げる。だれかがお手本を教えるのではなく、生き物のように試行錯誤の末に賢くなっていく点が、このシミュレーションの一番の特徴だ。
画面下の「脳」の図
下部の図は、いま追跡している1匹のニューラルネットワークの中身をリアルタイムに描いたもの。信号は左から右へ流れる。
- 入力層
- その個体が感じている情報(餌や他個体の方向・距離、自分のエネルギー)。各項目にマウスを乗せると意味が出る。
- 中間層
- 入力を組み合わせて判断する、脳の中間処理。
- 出力層
- 実際の行動。推進(前に進む力)と旋回(向きを変える)。
ノード(丸)は発火の強さで光る。強く反応しているほど明るい。餌が正面に来た瞬間に「餌 前後」が光り、線を伝って「推進」へ信号が走る——そんな反応が見えるはずだ。
線の色と太さ
- シアンの線
- 興奮性の配線。「この信号が来たら、つないだ先を活性化させろ(アクセル)」。
- マゼンタの線
- 抑制性の配線。「この信号が来たら、つないだ先を抑えろ(ブレーキ)」。
- 線の太さ
- その配線の強さ。太いほど影響が大きい。脳はアクセルとブレーキを組み合わせて行動を決めている。
遊び方
- 個体を選ぶ
- 海の生物をクリックすると、その個体を追跡して脳を表示する。何もない海をクリックすると、自動追跡(最年長の個体)に戻る。
- 系統色
- 個体の色は系統(血筋)を表し、分裂のたびに少しずつ変化する。色が近いほど血縁が近い。画面の色がだんだん少数の色に収束していくのは、餌をうまく取れた少数の祖先の子孫が生き残っていく——淘汰そのものが見えている。
- 早送り
- 速度スライダーを上げると進化を早送りできる。しばらく放置して、群れの動きが変わっていくのを眺めるのがおすすめ。
調整スライダー
- 速度
- シミュレーションの進む速さ。
- 餌の湧く量
- 多いほど生きやすく個体が増え、少ないと餓えと淘汰が厳しくなる。
- 突然変異
- 分裂時に脳へ加わるランダムな変化の強さ。強いほど探索は広がるが、賢さが安定しにくい。
- 基礎代謝
- 何もしなくても減るエネルギー。高いほど「じっとしてると損」になり、動いて餌を探す進化圧が強まる。
進化しているサイン
本当に賢くなっているかは、上部パネルの平均寿命で分かる。餌を見つける脳が広がると、個体は長く生き延びるようになり、この数字が右肩上がりになる。最深系統(途切れず分裂を重ねた最大の代数)も、進化がどれだけ世代を積んだかの目安になる。
