シミュレーション・制御・実機
持続は規則で買える。「生き物」は、買えない(Lenia)
下で動いているのは Lenia——連続セルオートマトンである。「ライフゲーム」の連続版だと思えばよい。ライフゲームの升目は0か1(生きているか死んでいるか)だが、Leniaの各升は0〜1の連続した濃さを持つ。だから盤面は白黒の点滅ではなく、煙のように滑らかに濃淡が動く。
規則は、言葉にすればこれだけである。
- 環状のカーネルで周りを見る。 各セルは、自分のすぐ隣ではなく、少し離れたドーナツ状(環状)の近傍を見る。その輪の中の濃さを重みづけて平均する——これが「畳み込み」である。結果として「自分の周りはどのくらい混んでいるか」を表す一つの数 u が得られる。
- 成長則で増減を決める。 その混み具合 u を、釣鐘型の成長則 G にかける。G は「ちょうどよい混み具合(中心 μ)なら濃くなれ(+)、混みすぎでも空きすぎでも薄くなれ(−)」という滑らかな関数である。μ が「ちょうどよさ」の位置、σ がその許容幅(スライダーで動かせるのはこの二つ)。
- 少しだけ動かして、繰り返す。 G の出した増減を、各セルにほんの少し(1ステップ=1/10)だけ加える。これを毎フレーム繰り返す。
※ 概念図(フロー)(作図:AI)
たったこれだけの局所規則から、滑らかに泳ぐ「生き物」(グライダー)が現れることがある——というのが Lenia の有名なところだ。下のデモは、そのうまみがどこまで本物かを測る。
素朴な期待はこうだ——成長則のさじ加減をうまく合わせれば、生命が宿るだろう。本当にそうか、目でなく数字で確かめる。
この記事で見てほしいこと。 デモは中央に置いたランダムな種から始まる。動く濃淡の塊が「パターン」である。スライダー μ・σ を動かすと規則そのものが変わり、塊の運命が変わる。注目するのは右側の二つの数字だ。
- 質量比——盤面の濃さの合計が、最初の種の何倍か。0に近づけば消滅、保てば持続である。
- 局在度(広がり)——塊が重心からどれだけ散らばっているか。小さいまま=一塊の「生き物」、じりじり上がる=盤面に広がっていく。
そして 状態 欄が、この二つを合わせて「死/局在して持続/持続するが拡散」を自動で判定する。「局在して持続(生き物的)」が出るかどうか——それを目で追ってほしい。〈持続する側〉〈死ぬ側〉のボタンで規則の両極を、〈種をまき直す〉で別のランダムな初期条件を、そして〈本物のグライダー(Orbium)〉で精密に設計された種を試せる。
動かしてみると分かる。持続そのものは、すぐ見つかる——規則の広い領域で、模様は死なずに残る。しかし、残る模様は例外なく「拡散」する。局在度の数字が、種の大きさからグリッド全体へじりじり上がっていく。つまりその模様は、一塊の生き物として生き延びているのではなく、グリッドを埋めて生き延びている。規則をいくら選んでも、ランダムな種からは局在した生き物は出てこない。ランダムな種で状態欄に「局在して持続」が灯らないのは、不具合ではない——それがこの記事の主張だ。
ここが題名の意味である。「持続」は規則で買える——適当な種でも、つまみを合わせれば模様は死なずに残る。安い。だが残るだけのものは「生き物」ではない。境界を保ち、一塊のまま動き回る——そういう局在した自己維持こそ我々が「生きている」と呼ぶものであり、それは持続とは別物だ。持続は買えても、その「生き物らしさ」は規則を選ぶだけでは買えない。
本物の Orbium グライダーは存在する。けれどそれは、規則だけでなく、初期条件(種)まで精密に合わせて初めて現れる。〈本物のグライダー(Orbium)〉ボタンが、それを実際に見せる。 規則(μ・σ)はそのままに、種だけをランダムな塊から精密な Orbium パターンへ替えると——塊は拡散せず、局在を保ったまま盤面を泳ぎ出し、状態欄に「局在して持続(生き物的)」が灯る。同じ規則でも、種が雑なら拡散し、種が精密なら生き物になる。つまり——持続は「規則」が与え、狙った構造は「初期条件の制御」から来る。 生成は易しく、制御こそ難所——その話が、ここにも当てはまる。
仕組み——数式で書くとどうなるか(クリックで展開)
各セルは 0〜1 の濃さ A(x) を持つ。更新は次の三段である。式はすべて上のデモの実装そのままである。
- 環状カーネルで近傍を見る(畳み込み)。 中心から少し離れた を頂点とする釣鐘型の重み で、周りの濃さを加重平均し、その場所の「混み具合」 を得る( は重みの総和が 1 になるよう正規化する)。
- 成長則 にかける。 混み具合 を、中心 ・幅 の釣鐘型に通して 〜 の増減へ写す。 がちょうど なら (最大の成長)、 から外れるほど下がり、やがて負(減衰)になる。スライダーが動かすのは、この (ちょうどよさの位置) と (その許容幅) である。
- 少しだけ進めて、挟み込む。 増減を時間刻み ()だけ加え、値を 〜 にクランプする。これを毎フレーム繰り返す。
右の数字は、質量比= の初期種に対する比、局在度=重心まわりの濃さの広がり(標準偏差)である。この二つで「死/局在して持続/持続するが拡散」を判定している。ライフゲームとの違いは、状態が 0/1 ではなく連続で、近傍が「すぐ隣」ではなく環状カーネルである点に尽きる。
創発を扱う 反応拡散 の姉妹である。カーネルは Lenia 系(環状カーネル+ガウス成長則)。ランダムな種からは局在構造は出ず、「ただ持続するもの」と「局在した生き物」は別物だと局在度の測定が示す——前者は規則で買え、後者は初期条件の精密な制御を要する。〈本物のグライダー(Orbium)〉ボタンの種は、正準的な Orbium パターン(Chan, 2019)をこのデモの半径に合わせて補間したもので、規則を変えずに局在したまま泳ぐ。それが「初期条件こそが生き物を決める」の最短の証拠である。
この記事はAIが下書きし、人間が編集・公開しています。