Potapota rule · 常時進行する世界
このサイトのトップページには、放っておいても止まらない世界がひとつあります。 粒が生まれ、歳を取り、消え、寿命が尽きたものは弾けて水面に波紋を残す。 その波紋が周りに新しい粒を生み、また次の世代が始まる —— 止まらないように作られたぽたぽたルールの世界です。
実際に動いています。トップページと同じ規則のコードで計算しています。
これは何か
トップページにあるのは 256 × 144 のセルでできた世界です。 上下と左右がつながったトーラスなので端がありません。 画面はその一部を切り取った窓で、スクロールするとどこまでも続きます。
世界は0.5秒に1世代のペースで進みます。 操作するところはありません。眺めるだけのページです。
いまのところ、世界はあなたのブラウザの中だけで動いています。 ページを閉じると、そこで時間も止まります。 サーバー側に世界をひとつ置いて、誰も見ていない間も進み続けるようにするのは、これからの予定です。 規則の計算は、そのときサーバーとブラウザで同じコードを動かせるように作ってあります —— このページの図が、まさにその同じコードで動いています。
4つの基本規則
それぞれのセルは 0 から 3 の life(残り寿命)を持ちます。
life > 0 が「生きている」。まわりの8マスのうち生きているセルの数を近傍数と呼び、
生き死にの判定はこの数と自分の life だけで決まります
(このあと出てくる加齢と着火には、別の条件が加わります)。
life の値は近傍数に影響しません——弱った粒も1つは1つと数えます。
各カードは、実際の規則のコードに左の盤面を入れて1世代進めた結果です。 加齢は「1世代ごとに一定の割合で」起こりますが、カードでは分かりやすさのために 加齢だけを止めたり、必ず起こるようにしたりしています。
破裂と波紋
加齢で life が 0 になった瞬間、そのセルは破裂します。
破裂した点からは波紋が生まれ、
毎世代 半径が1ずつ広がっていきます。
波紋のリング上にあるセルは、そこが空いていて、かつ隣に生きた粒が残っていれば
life = 1 で着火します。
波紋が、生きた粒の残る場所のそばにだけ新しいしずくを落としていくイメージです。
ただし新しい粒が生まれるのは半径 5 までのリングだけです。
それより外側まで広がった輪は、通り過ぎるだけで何もしません。
遠くまで着火させると、ひとつの破裂で6万マス以上に生命が広がって盤面が埋まってしまうからです。
着火の範囲を出たところで役目を終えます。数のうえでは大多数がこちらで、 世界に新しい生命を配っているのはこの波紋です。
中央の4つの粒が寿命を迎えて破裂 → 輪が広がる → 第6世代で右の塊のふちに新しい粒が生まれる → 輪は消える。
破裂のうちおよそ48回に1回は、着火の範囲を出ても消えずに広がり続けます。 遠ざかるほど薄くなり、やがて水面に溶けます。 半径 5 までの振る舞いは上とまったく同じで、違うのはその先だけ。 どちらになるかは破裂した座標と世代から計算で決まります(さいころは振っていません)。
同じ破裂・同じ着火。第6世代までは上と見分けがつかず、そこから先が違う。
2種類に分けているのは、両立しないからです。すべての波紋を端まで広げると、 同時に3,000本の輪が重なって水面が見えなくなります。 かといって波紋そのものを 48分の1 に間引くと、着火も 48分の1 になって 生存率が 20% から 4% まで落ちます。 近くに生命を配る役と、遠くまで見せる役を分けることで、賑やかさと静けさを両立させています。
色の意味
粒の色は life の残りを表しています。生まれたては濃い青、
歳を取るにつれて水面の色へ近づき、最後は消えます。
波紋は2種類で色が違うので、いま生命を配っている輪と、遠くまで旅している輪を見分けられます。
なぜこのルールなのか
よく知られたコンウェイのライフゲームは、ランダムな盤面から始めても 数百世代で静物と振動子だけが残った静止画に落ち着きます。 もう何も起こらない。「ずっと進み続けている世界」を置きたいのに、これでは困ります。
そこで寿命を入れました。生き残った粒も少しずつ歳を取り、回復はしません。 どんなに安定した塊でも、いつかは寿命が尽きて破裂します。 破裂は波紋を生み、波紋は周りに新しい粒を生み、その粒がまた育って崩れる。 崩れる → 破裂 → 波紋 → 新しい生命の循環が、世界を止めないための仕掛けです。
| 世代 | 100 | 300 | 500 | 700 | 1000 |
|---|---|---|---|---|---|
| 生存率 | 19.0% | 21.2% | 18.9% | 21.4% | 20.4% |
| 波紋の数 | 131 | 180 | 144 | 175 | 189 |
1,000世代進めても生存率は 19〜22% で落ち着き、減り続けることも埋め尽くすこともありません。 3,000世代まで進めても同じでした。
はじめに戻る
ぽたぽたルールは、1970年に John Horton Conway が考案した ライフゲームを土台にしています。 誕生の条件(近傍がちょうど3)と生存の条件(近傍が2か3)は、そのままの引き写しです。 元のゲームがどれだけ単純な規則からできているかは、こちらのページで説明しています。
Conway's Game of Life · 1970 ライフゲーム — たった4つの規則