レッスン
理論 — コンウェイのライフゲーム
ライフゲームのすべては二つの数です。B3:生きた隣人がちょうど 3 つある死んだセルは誕生する。S23:生きたセルは隣人が 2 つか 3 つなら生き残り、それ以外では死ぬ。ほかに規則はなく、乱数もなく、プレイヤーもいません。あなたが第 0 世代を置けば、あとはすべて決まります。パネルが数えているものも、リストにあるどの図形も、この二つの数をすべてのセルに同時に当てはめた結果です。
各記号の意味
n- あるセルの八つの隣接セルのうち生きている数 — 辺で四つ、角で四つ。この一つの整数だけから、ゲームのあらゆる判断が下されます。
B3- 誕生の規則。ちょうど 3 つ。2 では足りず 4 では多すぎる。この鋭さゆえに、図形の縁はにじまず、はっきりしています。
S23- 生存の規則。生きたセルは隣人が 2 未満なら孤立して死に、3 を超えれば過密で死にます。
Phase- その図形が何をしているかについての、パネル自身の判定 — Evolving、Still life、Oscillating、Extinct。これは過去の世代との比較であって、予測ではありません。
公式の導き方
- 盤上のすべてのセルについて、八つの隣接セルのうち生きている数を数えます。死んだセルについても数えてください。誕生は生存と同じやり方で決まり、まだ存在しないセルにも隣人はいます。
B3を適用します。n = 3 の死んだセルが生きます。ブロックを読み込んで確かめてください。ブロックに接するどの空きマスも、見えている生きたセルは高々 2 つ。だから隣に何かが生まれることは決してありません。ブロックが動かない理由はそれだけです。S23を適用します。n = 2 か n = 3 の生きたセルは残ります。ブロックの 4 つのセルはそれぞれちょうど 3 つの他セルに接しているので、4 つとも生き残り、ブロックはそっくり自分を作り直します。- そしてこれらを同時に行います。すべてのセルは同じスナップショットに対して判定され、そのあと盤全体が置き換わります。代わりに一セルずつ更新すれば、別の、誤ったゲームになります。すでに書き換えた隣人が、その隣のセルの判定に混ざり込むからです。同時性は実装上の細部ではなく、規則そのものの一部です。
表示の読み方
格子ではなく Phase の行を見てください。ブロックを読み込むと 1 世代で Still life に変わります。ブリンカーは Oscillating になるまで 2 世代かかります。ダイハードは 130 世代走ったのち Extinct と出ます。ではグライダーを読み込み、好きなだけ進めてみてください。いつまでも Evolving のままです。メニューの中で最も秩序だっていて、4 世代ごとにまったく同じ形を繰り返しているにもかかわらず。判定は盤全体を過去の盤と比べており、グライダーの盤は決して一致しません。形が斜めに一マス進んでしまっているからです。移動する秩序は、その場にとどまる秩序を探す検査には見えないのです。
- 前提
- 有限の盤であること。しかも完全には制御できません。図形はそれぞれ自分の格子サイズを持ち込み、あなたの設定を上書きします。ページは 30×30 で開きます。Acorn を選ぶと 50×50 になり、手で 70 に設定すればそれは保たれ、次に Diehard を選ぶと 40×40 に落ちます。コンウェイの規則は無限の平面上で定義されているので、ここで縁に達した図形は、もはやまったく同じゲームを続けてはいません。
- 成り立たない場合
- Phase の行は、図形が生き残ると告げることは決してできません。ダイハードを読み込んでください。7 つのセルが 24 まで増え、百世代以上さまよい、130 世代目には消えています。この名前は伊達ではありません。130 世代目より前に、画面上のどこにもその予兆はなく、あり得ませんでした。ライフゲームはチューリング完全なので、「この図形は絶滅するか」という問いは帽子を替えた停止問題であり、どんなアルゴリズムも決定できません。パネルが答えているのは決定可能なほうの問い —この盤はすでに繰り返したか— であり、待っているあいだは慎重に Evolving とだけ言い、それ以上は言いません。
全プロセスの詳細解説
-
五つの生きたセル(30 × 30 グリッド上) 5 ステップ
30 × 30 の格子上に 5 個の生きたセルがある。パネルに表示される密度を求め、次いでグライダーの移動速度と、なぜそれ以上速く進めないのかを求めよ。これはグライダーの状態である。
-
密度は単純に全セル数に対する生きたセルの個数の割合であり、格子は正方形である。
-
ルールの全容である。ここに含まれていないもの、すなわち方向・距離・記憶という概念が存在しないことに注目されたい。セルが見ているのは 8 つの隣接セルと現在の世代のみであり、それがすべてである。
-
グライダーを 4 ステップ追跡すると、右に 1 セル、下に 1 セル移動して元の形に戻る。途中の 2 つのステップは初期状態とはまったく異なって見え、周期が 2 ではなく 4 であるのはそのためである。
-
速度は周期に対する変位である。限界速度の分母は近傍によって決まる。すなわち、情報が移動できる最高速度は 1 世代あたり 1 セルである。
-
それを盤面全体に適用する。横断にかかる時間はパターンと格子の性質であり、アニメーション速度によるものではない。アニメーション速度は待ち時間を変えるだけである。
解答
c/4。ここで c は 1 世代あたり 1 セルである。ライフゲームには厳格な速度限界が存在し、それはルールから直接導かれる。すなわち、セルは周囲の 8 つの隣接セルしか参照しないため、どのようなパターンを作ろうとも、影響が 1 世代あたり 1 セルを超えて伝わることはない。これが因果錐であり、ライフゲームの文献では大真面目にこれを光速と呼んでいる。グライダーは 4 世代後に斜めに 1 セル移動して元の形に戻るため、限界速度の 4 分の 1 で移動する。そして、B3/S23 から作られた構造で直交方向に c/2 を超えたものは存在しない。周期と変位を持つ 5 セルのパターンは、ライフゲームにおいて移動する最小のオブジェクトであり、この速度設定では盤面を横断するのに 120 世代、すなわち 24 秒かかる。
-
参考文献 (3)
- Turing completeness made explicit — a working universal Turing machine built out of Life patterns: P. Rendell, "A Universal Turing Machine in Conway’s Game of Life." 2011 International Conference on High Performance Computing & Simulation, 764–772.
- The column that introduced Life to a general audience: Martin Gardner, "Mathematical Games: The fantastic combinations of John Conway's new solitaire game 'life'." Scientific American 223, 120–123, October 1970.
- Where Life's universality is worked out: E. R. Berlekamp, J. H. Conway & R. K. Guy, Winning Ways for Your Mathematical Plays, volume 4, 2nd edition. A K Peters, 2004. ISBN 978-1-56881-144-4.