見出し画像

美しく儚いパターンの世界・ライフゲームは我々に何を伝えるのか

ひとつだけ確実なことがある。

ライフゲームは単に生態系のシミュレーションではない。
単に生死のシミュレーションではない。

それの大事な点は、それがいかに美しく、いかにシンプルであるか。
そこに尽きる。


ライフゲームとは

まず概要から入ろう。

ライフゲームとはセル・オートマトンのもっともよく知られた例である。

セル・オートマトンの説明は Wikipedia にこうあった。

格子状のセルと単純な規則による、離散的計算モデルである。

セル・オートマトン - Wikipedia (2024年12月3日閲覧)

ようするにセル、マス目を使ったシミュレーションだ。

ライフゲームでは初期状態のみでその後の状態が決定される。碁盤のような格子があり、一つの格子はセル(細胞)と呼ばれる。各セルには8つの近傍のセルがある (ムーア近傍) 。各セルには「生」と「死」の2つの状態があり、あるセルの次のステップ(世代)の状態は周囲の8つのセルの今の世代における状態により決定される。

ライフゲーム - Wikipedia(2024年12月3日閲覧)

ようするに各セルには「生」と「死」の二つの状態があり、8つの隣接したセルの影響を受け変化する。

具体的には「誕生」「生存」「過疎」「過密」の4つの変化がある。

誕生

死んでいるセルに隣接する生きたセルがちょうど3つあれば、次の世代が誕生する。

ライフゲーム - Wikipedia(2024年12月3日閲覧)

生存

生きているセルに隣接する生きたセルが2つか3つならば、次の世代でも生存する。

ライフゲーム - Wikipedia(2024年12月3日閲覧)

過疎

生きているセルに隣接する生きたセルが1つ以下ならば、過疎により死滅する。

ライフゲーム - Wikipedia(2024年12月3日閲覧)

過密

生きているセルに隣接する生きたセルが4つ以上ならば、過密により死滅する。

ライフゲーム - Wikipedia(2024年12月3日閲覧)

相変わらずシンプルだ。
変わるわけはないが

ようするに周りの生セルが多すぎたり少なすぎたりすると死セルになり、生セルが適度にいると誕生し生存する。

このパターンに従い、たくさんのセルが変化していく。

その結果パターンが生まれることがある。

パターン

不思議なことだが、特定の形状が出現することがある。

それには大きく4種類がある。

  • 固定物体:世代が進んでも同じ場所で形が変わらないもの

  • 振動子:ある周期で同じ図形に戻るもの

  • 移動物体:一定のパターンを繰り返しながら移動していくもの

  • 繫殖型:マス目が無限であれば無限に増え続けるパターン

詳しくはライフゲームの物体一覧 - Wikipediaを見てほしい。

固定物体

最もよく出てくるのはブロック蜂の巣
これらは全パターンの中でも頻出。

ブロックは、出現頻度が最も高いとよくいわれる。

最小の固定物体であり、またライフゲームの最も基本的な物体ともいえる

ブロック (ライフゲーム) - Wikipedia(2024年12月3日閲覧)

蜂の巣はブロックの次によくできる物体。
ほかにもボートなどがある。

振動子

ブリンカーはブロックの次の次に出現頻度が高い。信号灯を4つのブリンカーとした場合、ブロックを超えて再頻出パターンとなる。
周期は2。

有名どころでは銀河(周期8)やペンタデカスロン(周期15。自然発生の確率はブロックの1万分の1以下)などがある。
ちなみに僕は銀河が好き。

移動物体

ライフゲームで最も有名なパターンにして、あらゆるパターンの元に成り得る存在グライダー

グライダーは最初に発見された移動物体であり、最小の移動物体でもある。
頻出パターンの1つで、出現率はブロックの1/3程。

グライダーをぶつけることによって、ほかのパターンを生成する方法が多く模索されてきている。

ほかには軽量級宇宙船(ブロックの1000分の1以下)、中量級宇宙船(ブロックの1万分の1以下)、重量級宇宙船がある。

繁殖型

もっとも有名で重要なものはグライダー銃だろう。

これは定期的にグライダーを射出するもので、たとえば、中量級宇宙船はグライダーを3つ衝突させて作り出せるが、グライダー銃3つを使えば、定期的に中量級宇宙船を生成する宇宙船工場をつくることができる。
また、グライダー銃も複数のグライダーを互いに衝突させ、生成できる。

また、シュシュポッポ列車も有名だ。移動する際に煙のように物体を残していくもので、機関車エコロジスト宇宙の熊手飛行機械と呼ばれるものがある。
ちなみに僕は飛行機械が好き。

エデンの園配置

セル・オートマトンにおいて他のいかなる配置からも到達できない配置を指す。以前の状態が存在しない、つまり最初からそのように配置しない限り出現しないということから、聖書のエデンの園にちなんで命名された。

エデンの園配置 - Wikipedia(2024年12月3日閲覧)

これ自体は格好良くて、面白い概念なのだが、実際の形状があまり好きではない。
勿論、完全に個人の感想だが、ライフゲームっぽくないし、僕は好きではない。

ので、興味のある方は自分で調べてみてほしい。
Wikipedia のリンクを張っておく。

エデンの園配置 - Wikipedia

バリエーション

最初に紹介したルールは

周囲に3つの隣人がいれば生命が誕生し、周囲に2つか3つの隣人がいれば生き残り、それ以外の場合では死ぬ

ライフゲーム - Wikipedia(2024年12月3日閲覧)

ということだが、これを 23/3 と表すことがある。

最初の数 (2,3) は生き残るために必要な数を表し、次の数 (3) は生命の誕生に必要な数を表す。従って16/6は、「1つあるいは6つの隣人がいれば生き残り、6つの隣人がいればセルが誕生する」ことを意味する。

ライフゲーム - Wikipedia(2024年12月3日閲覧)

HighLife とよばれる 23/36 が有名である。
また、3-4Life とよばれる 34/34 のルールは、オリジナルのライフゲームでうまくいかない点を研究するために作られたそうだ。

計算機としてのライフゲーム

Wikipedia によれば

ライフゲームはチューリング完全であり、チューリングマシンと同等の計算能力を持つ。これは、ライフゲームのパターンで計算機を形成し、その上でプログラムを実行する事が可能である事を示している。

ライフゲーム - Wikipedia(2024年12月3日閲覧)

ということらしい。
急に難しくなってきた。
続きにはこうある。

計算機を構成するために必要な要素として、グライダーなどのパターンの組み合わせでAND、OR、NOTなどの論理ゲートを構築できる。グライダーを利用することで他のオブジェクトとの相互作用を得られる。例えばブロックを近くに運んできたり遠くへ移動させたりすることができる。この移動機構はカウンタとして利用できる。

ライフゲーム - Wikipedia(2024年12月3日閲覧)

ようするに、4つのルールのおかげで論理ゲートが作れるから、頑張ればコンピュータになれるらしい。

頑張れ。

まとめ

ライフゲームはその奥深さは勿論の事、基本的に単語が格好良く、遊んでいるだけで楽しいものである。

遊んだことのない人は「ライフゲーム」と検索するとウェブ上で遊べるページがいくつかあるため、遊んでみてほしい。

ここにもいくつか貼っておく。

↑ 使いやすいので普段遊ぶときはここ。

↑ なんと、C#とCのサンプルコードが載ってます(思わず敬体)。
↓ 同じ人の大きい画面のライフゲーム。シンプルなUIで操作しやすい。


以上。



いいなと思ったら応援しよう!

saharaforge
僕の創作活動をより活発にするために、よろしければ応援をお願いします!