セル・オートマトンとは
セル・オートマトンとは、マスが並んだ盤面で、各マスが状態(このゲームでは生か死)を持ち、世代と呼ばれるステップごとに変化するものです。各ステップでは、すべてのマスが同時に同じルールで更新されます。ルールが見るのは、各マスを囲む8つの隣のマスだけです。
ライフゲームに勝ち負けはありません。最初の配置を決めるのはあなたで、あとはルールが進めてくれます。面白いのは、こんなに単純なルールから、とても複雑で予測できない動きが生まれることです。そのため、数学や情報科学、さらには生物学でも研究されています。
ルールをやさしく説明すると
各マスについて、生きている隣のマス(斜めを含む周囲の8マス)の数を数え、次のルールを盤面全体で同時に適用します。
- 生きているセルは、隣の生きているセルが2つより少ないと、孤独で死ぬ。
- 生きているセルは、隣の生きているセルが2つか3つなら、生き続ける。
- 生きているセルは、隣の生きているセルが3つより多いと、過密で死ぬ。
- 死んでいるマスは、隣の生きているセルがちょうど3つなら、誕生する。
このルールを短く書く記法がB3/S23です。B(birth、誕生)の3は隣が3つのときに誕生すること、S(survival、生存)の23は隣が2つまたは3つのときに生き残ることを表します。ツールにある別のルールも同じ記法で、たとえばハイライフはB36/S23、シーズはB2/Sです。
1世代を手で計算してみる
ブリンカーを例にします。横一列に並んだ3つの生きたセルです。真ん中のセルは隣の生きたセルが2つなので、生き残ります。両端のセルは隣が1つしかないので、死にます。真ん中のすぐ上とすぐ下のマスには、隣の生きたセルが3つ(その3つの列)あるので、誕生します。結果は、縦に並んだ3つのセルです。
次の世代では同じ処理が繰り返され、また横向きに戻ります。そのため、ブリンカーは周期2の振動子です。2 × 2の正方形であるブロックでも試してみましょう。各セルの隣は3つなので全員が生き残り、隣に生きたセルが3つある空のマスはありません。ブロックは決して変化しないので、静物と呼ばれます。
歴史:コンウェイ、ガードナー、そして雑誌
イギリスの数学者ジョン・コンウェイが、1970年にこのゲームを考案しました。それを広めたのが、マーティン・ガードナーです。Scientific Americanの数学ゲームのコラムで、1970年10月号に取り上げました。以来、パターンを探して分類する愛好家の大きなコミュニティが生まれました。
その後、このゲームはチューリング完全であることが証明されました。適切な図形を使えば、原理的にはコンピューターが計算できることを何でも計算できます。最小限のルールから無限の複雑さが生まれることが、今も有名な理由のひとつです。
パターンの種類と、試したいもの
パターンは動きによって分類されます。どれも、ツールの「パターン」メニューに次の名前で入っています。
| 種類 | パターン | どんな動きか |
|---|---|---|
| 静物 | ブロック、ハチの巣 | 決して変化しない。ブロックは4セル、ハチの巣は6セル |
| 振動子 | ブリンカー、ヒキガエル、ビーコン | 周期2:2世代ごとに元に戻る |
| 振動子 | パルサー | 周期3、最初の状態で48セル |
| 振動子 | ペンタデカスロン | 周期15 |
| 宇宙船 | グライダー | 5セル。4世代ごとに斜めに1マス進む |
| 宇宙船 | 軽量級宇宙船 | 盤面をまっすぐ横切る、周期4 |
| 銃 | ゴスパーのグライダー銃 | 30世代ごとに新しいグライダーを1つ出す |
| 初期の混沌 | Rペントミノ | 5セルが、無限の平面で安定するまでに1,103世代かかる |
ゴスパーのグライダー銃は、1970年にビル・ゴスパーが見つけたもので、個体数が際限なく増えられることを示した最初の例です。これらのほかに、ツールにはドングリとダイハードも入っています。どちらも小さなパターンですが、落ち着くまでにとても長い時間がかかります。
ライフゲームのツールの使い方
- 盤面をタップまたはドラッグして生きたセルを描くか(生きているマスをもう一度タップすると消えます)、「パターン」メニューからパターンを選びます。
- 「スタート」を押します。「1世代進める」で1ステップずつ進めて、変化をじっくり追えます。「一時停止」で止まります。盤面を選択している間は、キーボードも使えます。スペースで開始と一時停止、Nで1ステップ、Rでランダム配置、Cでクリアです。
- 「速度」、「盤面のサイズ」、「ルール」を調整し、「ランダム」(「ランダムの密度」つき)で、セルがいっぱいの盤面から始めてみましょう。「クリア」で盤面が空になります。
- 「セルの年齢で色分けする」をオンにすると、どの領域が長く安定しているかが分かります。上部には世代と生きているセルの数が表示され、盤面が安定したとき、サイクルに入ったとき、生き物がいなくなったときには、ツールがお知らせします。
計算はすべてお使いの端末で行われ、サーバーには何も送られません。ツールは設定(サイズ、速度、ルール)をブラウザに保存しますが、描いた絵は保存しません。
試してみたい実験
- グライダーを読み込んで、斜めに1マス動くまでに何世代かかるか数えてみましょう。答えは4世代です。端をつなぐ設定なら、盤面を1周して反対側から再び現れます。
- 2つのグライダーを衝突コースに置いて、どうなるか見てみましょう。ぶつかり方によって、壊れ合ったり、静物が残ったりします。
- ゴスパーのグライダー銃を少なくとも48 × 48の盤面に読み込んで、グライダーを1つ出すのにかかる時間を数えてみましょう。30世代です。
- Rペントミノを大きな盤面に読み込んで、端をつなぐ場合とつながない場合を比べてみましょう。無限の平面では安定するまでに1,103世代かかりますが、有限の盤面では結果が変わります。
- 同じ絵のまま、ルールを変えてみましょう。シーズ(B2/S)では、すべてのセルが毎世代で死に、誕生だけが残るので、絵が外側へ広がります。迷路(B3/S12345)では、通路のような構造が現れます。
有限の盤面の限界
本来のゲームは無限の平面で行われます。ツールの盤面は大きさが決まっているため、端に届いたものは違った動きをします。端をつなぐ設定なら、反対側から再び入ってくるので、盤面はドーナツのような形になります。つながない設定なら、壁にぶつかって消えます。
そのため、大きなパターンには広さが必要で(ゴスパーのグライダー銃は少なくとも48 × 48が必要です)、Rペントミノのように、無限の平面で見られる結果と違う終わり方をするものもあります。パターンが収まらないときは、ツールがもっと大きな盤面を選ぶよう案内します。
よくある質問
コンウェイのライフゲームのルールは何ですか?
生きているセルは、隣の生きているセルが2つか3つなら生き続け、2つより少ないと孤独で、3つより多いと過密で死にます。死んでいるマスは、隣の生きているセルがちょうど3つなら誕生します。B3/S23と略されます。
B3/S23とはどういう意味ですか?
Bは誕生(birth)、Sは生存(survival)です。B3は隣の生きたセルが3つのとき誕生すること、S23は隣が2つまたは3つのセルが生き残ることを表します。
グライダーとは何ですか?
5つのセルでできた図形で、4世代ごとに斜めに1マス進みます。ゲームで最もよく知られたパターンです。
ライフゲームを考案したのは誰ですか?
イギリスの数学者ジョン・コンウェイが、1970年に考案しました。同じ年に、マーティン・ガードナーがScientific Americanで紹介しました。
描いた絵が消えたり、動かなくなったりするのはなぜですか?
よくあることです。小さな図形の多くは、数世代で消えるか安定します。別の出発点、もっと大きな盤面、または「ランダム」を試してみてください。