In Silico

シミュレーション・制御・実機

Leniaとは?人工生命の「生き物」が生まれる条件をデモで探る

2026/6/29 (更新: 2026/10/10)

  • Lenia
  • セルオートマトン
  • 人工生命
  • Orbium
  • ライフゲーム
  • 多様性探索
  • ガウス核
  • 環状カーネル
  • 成長則
  • 畳み込み
  • グライダー
  • 局在度
  • 質量比
  • 自己組織化
  • 周期境界
  • μ-σ 空間
  • 核関数
  • 勾配降下
  • 初期条件
  • 尾根
  • 拡散
  • ソリトン
  • 局在構造
  • 時間刻み
目次
背景・問い・要点
背景

セルオートマトンは、格子に並んだセルが近くのセルの状態だけを見て、自分の状態を一斉に更新し続ける計算モデルである。セルの状態を0か1ではなく0〜1の連続した濃さにした連続版では、盤面は白黒の点滅ではなく、煙のように滑らかに濃淡が動く。

連続版は、局所規則だけから、境界を保ったまま滑らかに泳ぐ塊(グライダー)が現れることで知られる。人工生命の文脈では、こうした塊は「生き物」とも呼ばれる。ただし、規則のつまみを動かして盤面を眺めるだけでは、残った模様が一塊の生き物なのか、盤面を埋めて残っただけなのかは目で見分けにくい。

本稿は、連続セルオートマトン Lenia を例に取り、ブラウザで動くデモと、その実装をそのまま取り出して走らせた測定で確かめる。

問い

成長則のつまみを選ぶだけで、局在して動き続ける「生き物」はどのくらい手に入るのか。

要点

規則を選べば模様は持続するが、局在した「生き物」は、規則を選ぶだけではほとんど得られない。 つまみの可動域を格子状に刻み、ランダムな種から288通り走らせると、模様が死なずに残る組は多いが、一塊のまま残ったのは2通りだった。ランダムな種で局在が出た規則は、二つのつまみが連動して上がる細い尾根の上にしかなく、そこでも種によっては死ぬか広がる。規則と種をともに合わせた Orbium なら局在したまま泳ぐ。この頻度は格子状の走査とランダムな種で数えたもので、目的をもった自動探索ならこうした構造は系統的に見つかると報告されている。

モデル・例示

残る模様と一塊のまま残る模様を、二つの数で分ける

※ この節の数値は説明のための仮定で、測定値ではありません。

Lenia の各セルは0〜1の連続した濃さを持ち、次の三段を繰り返して濃さを変える。

  1. 環状のカーネルで周りを見る。 各セルは、自分のすぐ隣ではなく、少し離れたドーナツ状(環状)の近傍を見る。その輪の中の濃さを重みづけて平均する。これが「畳み込み」である。結果として「自分の周りはどのくらい混んでいるか」を表す一つの数 u が得られる。
  2. 成長則で増減を決める。 その混み具合 u を、釣鐘型の成長則 G にかける。G は「ちょうどよい混み具合(中心 μ)なら濃くなれ(+)、混みすぎでも空きすぎでも薄くなれ(−)」という滑らかな関数である。μ が「ちょうどよさ」の位置、σ がその許容幅である。
  3. 少しだけ動かして、繰り返す。 G の出した増減を、各セルにほんの少し(1ステップ=1/10)だけ加え、値を0〜1に収める。これを繰り返す。

規則と種によって、濃淡は消えるか、盤面に広がるか、一塊のまま残るかのどれかになる。どれになったかは、盤面の濃さの合計が最初の種の何倍か(質量比)と、濃さが重心からどれだけ散らばっているか(局在度)の二つで分けられる。

小さな数で並べてみる。最初の種の局在度を5とし、200ステップ後の二つの塊を比べる。一方は質量比が0.9を保ったまま、局在度が25へ上がっている。もう一方は質量比が0.4に減り、局在度は5前後に留まっている。質量だけを見れば前者のほうがよく生き残っているが、前者は盤面を埋めて残っただけで、一塊の「生き物」と呼べるのは後者である。質量比が0に近づけば、どちらでもなく消滅である。

持続しているかと、一塊のまま持続しているかは、質量比だけでは区別できず、局在度を並べて初めて分かれる。

デモ:μ と σ を動かすと、塊の運命が変わる

下で動いているのは Lenia である。「ライフゲーム」の連続版だと思えばよい。ライフゲームの升目は0か1(生きているか死んでいるか)だが、Lenia の各升は0〜1の連続した濃さを持つ。各セルは環状の近傍の混み具合を釣鐘型の成長則に通し、濃さを少しずつ増減させる(デモは1フレームあたり2ステップ進める)。この局所規則だけから、滑らかに泳ぐ「生き物」(グライダー)が現れることがある。Lenia はこの点で知られている。このデモは、この評判がどこまで本物かを測る。

素朴な期待は、成長則のさじ加減をうまく合わせれば、生命が宿るだろうというものである。本当にそうか、目でなく数字で確かめる。

この記事で見てほしいこと。 デモは中央に置いたランダムな種から始まる。動く濃淡の塊が「パターン」である。スライダー μ・σ(成長則の中心と許容幅)を動かすと規則そのものが変わり、塊の運命が変わる。注目するのは右側の二つの数字だ。

そして 状態 欄が、この二つを合わせて「死/局在して持続/持続するが拡散」を自動で判定する。「局在して持続(生き物的)」が出るかどうかを目で追ってほしい。〈持続する側〉〈死ぬ側〉のボタンで規則の両極を(種も同時にまき直る)、〈種をまき直す〉で別のランダムな初期条件を、そして〈本物のグライダー(Orbium)〉で、精密に設計された種と、それに合わせて絞った規則を同時に試せる。

質量比(対 初期)—
局在度(広がり)—
状態—
ステップ0
仕組みを数式で書くとどうなるか(クリックで展開)

各セルは 0〜1 の濃さ A(x) を持つ。更新は次の三段である。式はすべて上のデモの実装そのままで、距離は近傍半径 R(このデモでは 10 セル)で正規化してある。和は中心セルを除く半径 R の円盤を走り、盤面は上下左右がつながっている(周期境界)。

  1. 環状カーネルで近傍を見る(畳み込み)。 中心から少し離れた r=0.5r=0.5 を頂点とする釣鐘型の重み KK で、周りの濃さを加重平均し、その場所の「混み具合」uu を得る(KK は重みの総和が 1 になるよう正規化する)。
K(r)=exp⁡ ⁣(−(r−0.5)22×0.152)K(r) = \exp\!\left(-\frac{(r - 0.5)^2}{2 \times 0.15^2}\right)u(x)=∑0<∣x−y∣≤RK ⁣(∣x−y∣/R)⋅A(y),R=10u(x) = \sum_{0 < \lvert x - y \rvert \le R} K\!\left(\lvert x - y \rvert / R\right) \cdot A(y), \quad R = 10
  1. 成長則 GG にかける。 混み具合 uu を、中心 μ\mu・幅 σ\sigma の釣鐘型に通して −1-1〜+1+1 の増減へ写す。uu がちょうど μ\mu なら G=+1G=+1(最大の成長)、μ\mu から外れるほど下がり、やがて負(減衰)になる。スライダーが動かすのは、この μ\mu(ちょうどよさの位置) と σ\sigma(その許容幅) である。
G(u)=2exp⁡ ⁣(−(u−μ)22σ2)−1G(u) = 2\exp\!\left(-\frac{(u - \mu)^2}{2\sigma^2}\right) - 1
  1. 少しだけ進めて、挟み込む。 増減を時間刻み dt=0.1dt=0.1(=1/10=1/10)だけ加え、値を 00〜11 にクランプする。これを繰り返す(デモは1フレームあたり2ステップ進める)。
A(x)←clamp⁡ ⁣(A(x)+dt⋅G(u(x)), 0, 1)A(x) \leftarrow \operatorname{clamp}\!\left(A(x) + dt \cdot G(u(x)),\ 0,\ 1\right)

右の数字は、質量比=∑A\sum A の初期種に対する比、局在度=重心まわりの濃さの広がり(標準偏差)である。重心は盤面の周期境界に合わせた円周平均で取り、広がりもトーラス上の最短距離で測る。素朴な算術平均で取ると、継ぎ目をまたいだ一塊を「拡散」と誤判定するからである。この二つで「死/局在して持続/持続するが拡散」を判定している。ライフゲームとの違いは、状態が 0/1 ではなく連続で、近傍が「すぐ隣」ではなく環状カーネルである点に尽きる。

持続は規則の広い領域で起き、残る模様のほとんどは拡散する

動かしてみると分かる。持続そのものは、すぐ見つかる。規則の広い領域で、模様は死なずに残る。しかし、残る模様はほとんどが「拡散」する。局在度の数字が、種の大きさからグリッド全体へじりじり上がっていく。つまりその模様は、一塊の生き物として生き延びているのではなく、グリッドを埋めて生き延びている。

どのくらい「ほとんど」なのかは、目で追うより数えたほうが早い。つまみの可動域を格子状に刻んで(μ を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つ)。

「持続」は規則だけで得られる。適当な種でも、つまみを合わせれば模様は死なずに残る。だが残るだけのものは「生き物」ではない。我々が「生きている」と呼ぶのは、境界を保ち、一塊のまま動き回る局在した自己維持であり、それは持続とは別物だ。持続は得られても、その「生き物らしさ」は規則を選ぶだけではほとんど得られない。ただし、規則を手で選ぶ代わりに探索で選べば話は変わる。多様性探索・カリキュラム学習・勾配降下で規則のパラメータと初期状態を同時に探す自動探索は、障害物に頑健に反応しながら動き回る局在構造を、セルオートマトンの中で系統的に見つけたと報告している。Lenia の考案者 Chan もこの研究の共著者である1。

本物の 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)の上にだけ乗っていた。この頻度はランダムな種と格子状の走査で数えたものである。こうしたモデルでの自己組織化パターンの発見はパラメータと初期状態の手動調整と人の目に頼ってきたとして、多様なパターンを自動で探す手法も提案されている2。規則だけを頼りに局在を出すのは、この尾根を引き当てたうえで種にも恵まれることを意味する。つまり、持続は規則の広い領域で得られるが、局在は規則と種の組み合わせで決まり、規則の側の当たりはごく細い。

細い筋は、Chan が142,338地点で描いた μ-σ 図とも合う

この「細い尾根」は、こちらの測定だけの偶然ではない。Chan 自身は μ-σ 空間の 142,338 地点で rank-1 の種が住める範囲(ニッチ)を描き、より広い挿入図で、規則空間が四つの地勢に分かれることを示している3。四つとは、均質な砂漠、周期のサバンナ、混沌の森、そして複雑な形が住む細い「川」である(掲載版 Figure 8)。Chan は、この「川」が局在した複雑な構造(生命形)を生むと書く。こちらの288通り・147通りは、その川筋を粗い刻みで掠めたものと読める。規模も刻みも違う二つの走査で、局在した構造が出る規則はともに細い筋に集まっている。系(多チャネルで微分可能に組み替えた Lenia)も判定も違うが、Hamon らのランダム探索の対照条件でも、パラメータを一様乱数で引いた 117,000 回のうち、動く安定ソリトンが出たのは 30 回だった1。

デモの核関数と Orbium の配列は、原典のどこから来たか

このデモは、創発を扱う反応拡散のデモの姉妹である。カーネルは Lenia 系(環状カーネル+ガウス成長則)。核関数は Chan の論文が原設定に使う指数型(式(10)、α=4)ではなく、環状に置いたガウス核(rank-1)である。ただしこれは原典から外れた設定ではない。Orbium 配列と m=0.15・s=0.015 の出所である Chan のチュートリアルが、これと同じ核関数で Orbium を走らせている(K = (D<1) * bell(D, 0.5, 0.15)、bell はガウス。総和 1 への正規化、成長則 bell(U, m, s)*2-1、T=10 まで本デモと同じである。違いは台の縁の扱いで、チュートリアルは中心セルを含めて縁を除き、本デモは中心を除いて縁(R=10 で 12 セル)を含めるが、重みはどちらも全体の 0.04% 以下である)。式(10) は指数型・多項式・矩形を挙げたあと “… or others” と続き、核関数と成長則の選択は模様のテクスチャは変えるが全体の構造と動態はたいてい変えない、と Chan は報告している(掲載版 §3.1.3)4。Chan 自身、Orbium を μ=0.15・σ=0.016 に固定したまま核関数と成長則(Chan の言う core functions)を指数型から多項式へ替えて、見た目に違いは出なかったと記している(掲載版 Figure 5(a–b))4。ただしこれは、核関数の選択が模様の構造を大きく変えないことの原典側の傍証であり、ガウス核そのものは掲載版に出てこない。本稿が測った局在の頻度や尾根の位置が核によらないことまでは保証しない。

ランダムな種からは局在構造がほぼ出ず(実装をそのまま取り出して headless で走らせた測定: 可動域を粗く刻んだ288通りで2通り、その周辺を刻み幅で埋めた147通りで4通り、いずれも μ≈0.28–0.29 と σ≈0.040–0.044 が連動する細い尾根の上。種は実装と同じ疑似乱数の第1〜3系列、各200ステップ)、「ただ持続するもの」と「局在した生き物」は別物だと局在度の測定が示す。前者は規則の広い領域で得られ、後者はランダムな種では細い尾根の上でも種次第だった。

〈本物のグライダー(Orbium)〉ボタンの種は、正準的な Orbium パターンをこのデモの半径(R=10)へ補間したものだ。Chan は Orbium を空間解像度 R ∈ 9…55 で測り、質量・成長・回転半径・速度などの統計量はいずれも一定で、Orbium が住めるパラメータの帯(niche)も動かないと報告している(掲載版 Figure 6(a–b))。ただし本文が一般則を置くのは R > 12 の「十分に細かい空間解像度」で、R=10 はその下をわずかに割る。

配列の出所は 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 として載せている。このリポジトリは論文が §5 Online Resources で “Source code of Lenia” として指名するもので、著者の私的な別実装ではない。論文(Bert Wang-Chak Chan “Lenia: Biology of Artificial Life”, Complex Systems 28(3), 2019, pp.251–286, doi:10.25088/ComplexSystems.28.3.251)は Orbium を論じているが、セル配列は載せていない。図が挙げる値は σ=0.016 である(掲載版 Figure 5・6=arXiv 版の図6・7;プレプリントは arXiv:1812.05433v3)。ただしこの割れは、同じ規則の下での揺れではない。0.014 は多項式の核と多項式の成長則(Chakazul 実装の既定)、0.015 はガウス核、0.016 は式(10) の指数型核(R=185)の下の値で、後の二つは成長則を共有するが核が違う。三つを並べても、そこから一角の細さは出ない。細さの根拠は上の 288 通り・147 通りの測定のほうにある。σ を Orbium 向けに絞った規則の下で、Orbium の種は局在したまま泳ぐ。ランダムな種が局在した尾根(μ≈0.28)から離れた規則点でも、規則と種をともに合わせれば局在が出る、という一例である。

なお Chan 自身は、ランダムな初期配置からでも時間をかければ Orbium などが自然発生したと報告している(掲載版 §2.2.1「Random Generation」=arXiv 版 §2.3.1)。ただしその観察は、対話的なプログラムで乱数分布と規則を取り替えながら繰り返し、現れた形を人が見つけて取り出したものである(Figure 4 はこの手順を、対話的進化計算 IEC による新種の作り方の一つとして挙げる)。規則の格子を機械的に刻んで自動判定した本稿の 288 通りとは操作が違う。ここでの「出てこない」は64×64・200〜400ステップという本デモの条件に閉じた話である。


出典4件
  1. C. Reinke ほか「Intrinsically Motivated Discovery of Diverse Patterns in Self-Organizing Systems」ICLR, 2020. https://arxiv.org/abs/1908.06663 — 連続版ライフゲームで自己組織化パターンを自動で探す枠組み。 ↩

  2. Bert Wang-Chak Chan「Lenia: Biology of Artificial Life」Complex Systems 28(3), 2019. https://doi.org/10.25088/ComplexSystems.28.3.251 — 掲載版 Figure 8 が142 338地点の μ-σ 図と四つの地勢を示し、§3.3.1 は「川」が局在した生命形を生むと書く。 ↩

  3. Bert Wang-Chak Chan「Lenia: Biology of Artificial Life」Complex Systems 28(3), 2019. https://doi.org/10.25088/ComplexSystems.28.3.251 — §3.1.3 は核関数と成長則の選択がたいていテクスチャだけを変えると書き、Figure 5 は Orbium で両者を多項式へ替えても差が見えない例を示す。 ↩ ↩2

この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。