# セルオートマトンとは何ですか?
読み進めるか、スキップしてエミュレータに進んでください。
# イカロスとダイダロスが壁をタイルで飾る
イカロスとダイダロスは、正方形のタイルで壁をタイル張りするために雇われました。タイルの色は黒と白の 2 色です。クライアントは、上から 1 列ずつグリッド状にタイルを敷き詰めることを希望しています。奇妙なことに、クライアントは黒と白のタイルがグリッド内でどのように配置されるかを気にしません。
イカロスとダイダロスがタイルを貼り始めます。最初の列は、どの色を使うかにあまり注意を払わなかったため、かなりランダムに見えます。(お互いに昔話をするのに忙しすぎました。) これがそのタイルです。
2 列目のタイルを敷く前に、ダイダロスはイカロスに (非常に単純な) ルールに従うよう説得します。つまり、ある位置のタイルを選ぶときは、その位置の上のタイルと同じ色のタイルを使います。2 列目のタイルを敷き終えると、壁は次のようになります。
彼らは、このようにしてさらにいくつかの列を作ります。タイルを置くとき、そのタイルがすぐ上のタイルと同じ色であることを確認します。
イカロスは、この単純な縞模様に飽きて、ルールを少しだけ変えたいと考えました。タイルを敷くときに、そのすぐ上のタイルの反対にしようと決めました。新しいルールに従って、さらに数列タイルを敷くと、壁の 2 番目のセクションはほぼ市松模様になりました。
ダイダロスは、この「ほぼ市松模様」のルールを 2 つの図で説明しています。1 つは上に黒いタイルがあり、下に白いタイルがある図、もう 1 つは上に白いタイルがあり、下に黒いタイルがある図です。各図は、その位置の上にあるタイルの色に基づいて、その位置で使用する色を示しています。ダイダロスは、これらの図をタイル ゲームの「遷移ルール」と呼んでいます。
イカロスは、どちらのパターンもかなり繰り返しになっていると指摘します。新しいタイルの色を決めるとき、彼らはそのすぐ上のタイルの色だけを考えていました。彼は、真上のタイルとその左のタイルの 2 つのタイルを考慮すれば、パターンはもっと面白くなるだろうと提案します。ダイダロスも同意し、新しいルールを提案します。上にある 2 つのタイルが同じ色の場合は黒を使用し、異なる場合は白を使用します。
この新しいルールは他のものよりも複雑なので、イカロスはダイダロスに、以前と同じように「遷移ルール」の別の図を描くように頼みます。今回は 4 つの図を描きます。それぞれの図は、その位置の上にある隣接するタイルの特定の組み合わせに対して、その位置で使用する色のタイルを示しています。
イカロスは、新しいパターンが面白いものになるかどうか疑問に思っています。結局のところ、それは以前使用していた「ストライプ」ルールと「ほぼチェック柄」ルールを組み合わせたものにすぎません。つまり、左のタイルが黒の場合は「ストライプ」ルールを使用し、左のタイルが白の場合は「ほぼチェック柄」ルールを使用します。しかし、彼はダイダロスのアイデアに従います。
壁の「ほぼ市松模様」の部分の最後の列から始めて、新しいルールに従って新しい列を追加します。
この新しいルールに慣れるには少し時間がかかり、どの色のタイルを使うかを覚えるために描いた絵を見なければなりませんが、他の 2 つのルールほど簡単ではありません。イカロスとダイダロスは、このルールに従ってさらに数列タイルを敷き詰め、より大きなパターンができるか試してみることにしました。
ほとんどランダムのようで、黒い三角形が作られることもあります。
壁全体にタイルが貼られました。出来上がりは次のようになります。
おそらく芸術的な賞は受賞しないだろうが、イカロスとダイダロスはセルオートマトンを使って壁にタイルを敷き詰めた。彼らが考え出したそれぞれの「ルール」は、異なるセルオートマトンだった。
# 結論
セルオートマトンとは、以前の「世代」のタイルが与えられた場合に、何かをどのようにタイル張りするかを決定するための一連のルールです。その何かとは、壁、無限の平面、球の表面、または考えられるほぼすべての表面です。
ルールは、「ストライプ」や「ほぼ市松模様」のルールのように非常に単純なものから、より複雑なものまであります。たとえば、セルオートマトンでは 2 色だけに限定されず、色の代わりに数字が使用されることもよくあります。
このストーリーのルールは、このサイトのエミュレータで確認できます。
このストーリーと エミュレーター で描かれたセル オートマトンはすべて行ごとに描かれ、セルの単一のグリッドを作成します。他の多くのセル オートマトンでは、完全なグリッドから開始し、新しいグリッドを描画するためのルールがあります。新しいグリッドを何度も描画することで、単純なアニメーションを作成できます。最もよく知られているセルオートマトンである コンウェイのライフゲーム は、次のように動作します。
セルオートマトンについて学んだり、遊んだりするための他の優れたリソースをいくつか紹介します。
- 詳しい情報と関連記事の深い穴については、ウィキペディア をご覧ください。
- たくさんの数字とグラフについては、Wolfram MathWorld (英語) をご覧ください。
- Golly (英語) は、ローカルで実行して、さまざまなセルオートマトンを作成して遊ぶことができるプログラムです。