美しく儚いパターンの世界・ライフゲームは我々に何を伝えるのか
ひとつだけ確実なことがある。
ライフゲームは単に生態系のシミュレーションではない。
単に生死のシミュレーションではない。
それの大事な点は、それがいかに美しく、いかにシンプルであるか。
そこに尽きる。
ライフゲームとは
まず概要から入ろう。
ライフゲームとはセル・オートマトンのもっともよく知られた例である。
セル・オートマトンの説明は Wikipedia にこうあった。
ようするにセル、マス目を使ったシミュレーションだ。
ようするに各セルには「生」と「死」の二つの状態があり、8つの隣接したセルの影響を受け変化する。
具体的には「誕生」「生存」「過疎」「過密」の4つの変化がある。
誕生
生存
過疎
過密
相変わらずシンプルだ。
変わるわけはないが
ようするに周りの生セルが多すぎたり少なすぎたりすると死セルになり、生セルが適度にいると誕生し生存する。
このパターンに従い、たくさんのセルが変化していく。
その結果パターンが生まれることがある。
パターン
不思議なことだが、特定の形状が出現することがある。
それには大きく4種類がある。
固定物体:世代が進んでも同じ場所で形が変わらないもの
振動子:ある周期で同じ図形に戻るもの
移動物体:一定のパターンを繰り返しながら移動していくもの
繫殖型:マス目が無限であれば無限に増え続けるパターン
詳しくはライフゲームの物体一覧 - Wikipediaを見てほしい。
固定物体
最もよく出てくるのはブロックや蜂の巣。
これらは全パターンの中でも頻出。
ブロックは、出現頻度が最も高いとよくいわれる。
蜂の巣はブロックの次によくできる物体。
ほかにもボートや船、池などがある。
振動子
ブリンカーはブロックの次の次に出現頻度が高い。信号灯を4つのブリンカーとした場合、ブロックを超えて再頻出パターンとなる。
周期は2。
有名どころでは銀河(周期8)やペンタデカスロン(周期15。自然発生の確率はブロックの1万分の1以下)などがある。
ちなみに僕は銀河が好き。
移動物体
ライフゲームで最も有名なパターンにして、あらゆるパターンの元に成り得る存在グライダー。
グライダーは最初に発見された移動物体であり、最小の移動物体でもある。
頻出パターンの1つで、出現率はブロックの1/3程。
グライダーをぶつけることによって、ほかのパターンを生成する方法が多く模索されてきている。
ほかには軽量級宇宙船(ブロックの1000分の1以下)、中量級宇宙船(ブロックの1万分の1以下)、重量級宇宙船がある。
繁殖型
もっとも有名で重要なものはグライダー銃だろう。
これは定期的にグライダーを射出するもので、たとえば、中量級宇宙船はグライダーを3つ衝突させて作り出せるが、グライダー銃3つを使えば、定期的に中量級宇宙船を生成する宇宙船工場をつくることができる。
また、グライダー銃も複数のグライダーを互いに衝突させ、生成できる。
また、シュシュポッポ列車も有名だ。移動する際に煙のように物体を残していくもので、機関車やエコロジスト、宇宙の熊手、飛行機械と呼ばれるものがある。
ちなみに僕は飛行機械が好き。
エデンの園配置
これ自体は格好良くて、面白い概念なのだが、実際の形状があまり好きではない。
勿論、完全に個人の感想だが、ライフゲームっぽくないし、僕は好きではない。
ので、興味のある方は自分で調べてみてほしい。
Wikipedia のリンクを張っておく。
バリエーション
最初に紹介したルールは
ということだが、これを 23/3 と表すことがある。
HighLife とよばれる 23/36 が有名である。
また、3-4Life とよばれる 34/34 のルールは、オリジナルのライフゲームでうまくいかない点を研究するために作られたそうだ。
計算機としてのライフゲーム
Wikipedia によれば
ということらしい。
急に難しくなってきた。
続きにはこうある。
ようするに、4つのルールのおかげで論理ゲートが作れるから、頑張ればコンピュータになれるらしい。
頑張れ。
まとめ
ライフゲームはその奥深さは勿論の事、基本的に単語が格好良く、遊んでいるだけで楽しいものである。
遊んだことのない人は「ライフゲーム」と検索するとウェブ上で遊べるページがいくつかあるため、遊んでみてほしい。
ここにもいくつか貼っておく。
↑ 使いやすいので普段遊ぶときはここ。
↑ なんと、C#とCのサンプルコードが載ってます(思わず敬体)。
↓ 同じ人の大きい画面のライフゲーム。シンプルなUIで操作しやすい。
以上。