シミュレーション・制御・実機
Lenia——持続は規則で買え、「生き物」は買えない
下で動いているのは Lenia——連続セルオートマトンである。「ライフゲーム」の連続版だと思えばよい。ライフゲームの升目は0か1(生きているか死んでいるか)だが、Leniaの各升は0〜1の連続した濃さを持つ。だから盤面は白黒の点滅ではなく、煙のように滑らかに濃淡が動く。
規則は、言葉にすればこれだけである。
- 環状のカーネルで周りを見る。 各セルは、自分のすぐ隣ではなく、少し離れたドーナツ状(環状)の近傍を見る。その輪の中の濃さを重みづけて平均する——これが「畳み込み」である。結果として「自分の周りはどのくらい混んでいるか」を表す一つの数 u が得られる。
- 成長則で増減を決める。 その混み具合 u を、釣鐘型の成長則 G にかける。G は「ちょうどよい混み具合(中心 μ)なら濃くなれ(+)、混みすぎでも空きすぎでも薄くなれ(−)」という滑らかな関数である。μ が「ちょうどよさ」の位置、σ がその許容幅(スライダーで動かせるのはこの二つ)。
- 少しだけ動かして、繰り返す。 G の出した増減を、各セルにほんの少し(1ステップ=1/10)だけ加える。これを繰り返す(デモは1フレームあたり2ステップ進める)。
※ 概念図(フロー)(作図:AI)
たったこれだけの局所規則から、滑らかに泳ぐ「生き物」(グライダー)が現れることがある——というのが Lenia の有名なところだ。下のデモは、そのうまみがどこまで本物かを測る。
素朴な期待はこうだ——成長則のさじ加減をうまく合わせれば、生命が宿るだろう。本当にそうか、目でなく数字で確かめる。
この記事で見てほしいこと。 デモは中央に置いたランダムな種から始まる。動く濃淡の塊が「パターン」である。スライダー μ・σ を動かすと規則そのものが変わり、塊の運命が変わる。注目するのは右側の二つの数字だ。
- 質量比——盤面の濃さの合計が、最初の種の何倍か。0に近づけば消滅、保てば持続である。
- 局在度(広がり)——塊が重心からどれだけ散らばっているか。小さいまま=一塊の「生き物」、じりじり上がる=盤面に広がっていく。
そして 状態 欄が、この二つを合わせて「死/局在して持続/持続するが拡散」を自動で判定する。「局在して持続(生き物的)」が出るかどうか——それを目で追ってほしい。〈持続する側〉〈死ぬ側〉のボタンで規則の両極を(種も同時にまき直る)、〈種をまき直す〉で別のランダムな初期条件を、そして〈本物のグライダー(Orbium)〉で、精密に設計された種と、それに合わせて絞った規則を同時に試せる。
動かしてみると分かる。持続そのものは、すぐ見つかる——規則の広い領域で、模様は死なずに残る。しかし、残る模様はほとんどが「拡散」する。局在度の数字が、種の大きさからグリッド全体へじりじり上がっていく。つまりその模様は、一塊の生き物として生き延びているのではなく、グリッドを埋めて生き延びている。
どのくらい「ほとんど」なのかは、目で追うより数えたほうが早い。つまみの可動域を格子状に刻んで(μ を0.02刻みで12点、σ を0.010刻みで8点)、それぞれ3通りの種から200ステップ走らせた288通りのうち、状態欄に「局在して持続」が灯ったのは2通りだった。残りは211通りが拡散、75通りが死である。つまり局在は、規則を選ぶだけでは事実上手に入らない。
だが「出てこない」と言い切ることはできない。その2通りは実在する——μ=0.280、σ=0.040。ここに合わせて種をまき直すと、塊は広がらず(局在度4.5、判定のしきい値は14.1)、質量を初期の0.37倍で保ったまま、盤面を横切って動き続ける。400ステップの全区間で「局在して持続」が灯りっぱなしになる。つまみは μ0.005・σ0.002 刻みなので、この一角は自分で確かめられる。ただし同じつまみでも、まき直した種によっては死ぬか拡散する(試した3つの種のうち局在は2つ、8つまで広げると3つ)。
ここが題名の意味である。「持続」は規則で買える——適当な種でも、つまみを合わせれば模様は死なずに残る。安い。だが残るだけのものは「生き物」ではない。境界を保ち、一塊のまま動き回る——そういう局在した自己維持こそ我々が「生きている」と呼ぶものであり、それは持続とは別物だ。持続は買えても、その「生き物らしさ」は規則を選ぶだけでは買えない。
本物の Orbium グライダーは存在する。けれどそれは、このデモの盤面と時間(64×64・数百ステップ)では、規則だけでなく初期条件(種)まで精密に合わせない限り現れない。〈本物のグライダー(Orbium)〉ボタンが、それを実際に見せる。 このボタンは、規則を Orbium 向けの一点(μ=0.150・成長幅 σ=0.015)へ戻し、同時に種をランダムな塊から精密な Orbium パターンへ替える——すると塊は拡散せず、局在を保ったまま盤面を泳ぎ出し、状態欄に「局在して持続(生き物的)」が灯る。対して、種が雑なままだと、規則を選ぶ側の当たりは極端に狭い。先ほどの一角の周りをつまみの刻み(μ0.005・σ0.002)で埋めて147通り走らせても、局在したのは4通りで、しかも μ と σ が連動して上がる細い尾根(0.280/0.040、0.285/0.042、0.290/0.044)の上にだけ乗っていた。規則だけを頼りに局在を出すのは、この尾根を引き当てたうえで種にも恵まれることを意味する。つまり——持続は規則の広い領域で買えるが、狙った構造は「初期条件と規則をともに精密に制御すること」から来る。
この「細い尾根」は、こちらの測定だけの偶然ではない。Chan 自身は μ-σ 空間を 142,338 地点で走査し、規則空間が四つの地勢に分かれることを示している——均質な砂漠、周期のサバンナ、混沌の森、そして複雑な形が住む細い「川」だ(掲載版 Figure 8)。こちらの288通り・147通りは、その川筋を粗い刻みで掠めたものと読める。規模も刻みも違う二つの走査が、同じ「複雑さは細い筋の上にしかない」を指している。
仕組み——数式で書くとどうなるか(クリックで展開)
各セルは 0〜1 の濃さ A(x) を持つ。更新は次の三段である。式はすべて上のデモの実装そのままで、距離は近傍半径 R(このデモでは 10 セル)で正規化してある。
- 環状カーネルで近傍を見る(畳み込み)。 中心から少し離れた を頂点とする釣鐘型の重み で、周りの濃さを加重平均し、その場所の「混み具合」 を得る( は重みの総和が 1 になるよう正規化する)。
- 成長則 にかける。 混み具合 を、中心 ・幅 の釣鐘型に通して 〜 の増減へ写す。 がちょうど なら (最大の成長)、 から外れるほど下がり、やがて負(減衰)になる。スライダーが動かすのは、この (ちょうどよさの位置) と (その許容幅) である。
- 少しだけ進めて、挟み込む。 増減を時間刻み ()だけ加え、値を 〜 にクランプする。これを繰り返す(デモは1フレームあたり2ステップ進める)。
右の数字は、質量比= の初期種に対する比、局在度=重心まわりの濃さの広がり(標準偏差)である。この二つで「死/局在して持続/持続するが拡散」を判定している。ライフゲームとの違いは、状態が 0/1 ではなく連続で、近傍が「すぐ隣」ではなく環状カーネルである点に尽きる。
創発を扱う反応拡散のデモの姉妹である。カーネルは Lenia 系(環状カーネル+ガウス成長則)。ランダムな種からは局在構造がほぼ出ず(実装をそのまま取り出して headless で走らせた測定: 可動域を粗く刻んだ288通りで2通り、その周辺を刻み幅で埋めた147通りで4通り、いずれも μ≈0.28–0.29 と σ≈0.040–0.044 が連動する細い尾根の上。種は実装と同じ疑似乱数の第1〜3系列、各200ステップ)、「ただ持続するもの」と「局在した生き物」は別物だと局在度の測定が示す——前者は規則の広い領域で買え、後者は規則と初期条件をともに精密に合わせることを要する。〈本物のグライダー(Orbium)〉ボタンの種は、正準的な Orbium パターンをこのデモの半径に合わせて補間したものだ。配列の出所は Bert Chan の公開コードだ。“From Conway to Lenia” チュートリアル(github.com/OpenLenia/Lenia-Tutorial)の pattern["orbium"] で、R=13・T=10・m=0.15・s=0.015 とある。なお σ は出所によって割れる——Chan のもう一つの公開実装(github.com/Chakazul/Lenia の Jupyter/Lenia.ipynb)は、同じ配列を “Orbium bicaudatus” の名で sigma=0.014 として載せている。論文(Bert Chan “Lenia: Biology of Artificial Life”, Complex Systems 28(3), 2019, pp.251–286;プレプリント arXiv:1812.05433v3)は Orbium を論じているが、セル配列は載せていない。図が挙げる値は σ=0.016 である(掲載版 Figure 5・6=arXiv 版の図6・7)。同じ生き物の σ が 0.014/0.015/0.016 と三つに割れていること自体が、この一角の細さを示している。σ を Orbium 向けに絞った規則の下で、それは局在したまま泳ぐ。それが「このデモの盤面と刻みでは、局在した生き物は規則と初期条件をともに合わせない限り出てこない」ことの最短の証拠である。なお Chan 自身は、ランダムな初期配置からでも時間をかければ Orbium などが自然発生したと報告しており(掲載版 §2.2.1「Random Generation」=arXiv 版 §2.3.1)、ここでの「出てこない」は64×64・200〜400ステップという本デモの条件に閉じた話である。
この記事はAIが執筆しています。内容には誤りが含まれる可能性があります。ご注意ください。