セルラーオートマトンについて詳しく解説

導入

左側は、単純なローカル ルールです。少なくとも 3 つの隣接セルに i+1 が存在すると、セルは状態サイクル内で 1 つの状態 (i) から次の状態 (i+1) に移行します。右側は、このルールをセルのグリッドに繰り返し適用した (複雑な!) 結果です。このタイプのセル オートマトンは、D. Griffeath によって発見されました。

セル オートマトンは、「セル」の規則的なグリッドで構成されており、それぞれのセルには有限のセットから選択された「状態」が含まれており、時間の経過とともに進化する可能性があります。時間t+1におけるセルの状態は、その「近傍」と呼ばれる有限のセルの時間tにおける状態の関数です。新しい時間単位ごとに、同じルールがグリッド内のすべてのセルに同時に適用され、前の世代に完全に依存する新しい「世代」のセルが生成されます。

数学理論的コンピューターサイエンスで研究されているセルオートマトンは、離散動的システムモデルであると同時に計算モデルでもあります。セル オートマトンのモデルは、その定義の単純さと、特定の巨視的な動作が到達する複雑さとの間のギャップで注目に値します。つまり、すべてのセルの時間の経過に伴う進化を、システムを定義するローカル ルールに(単純に)還元することはできません。そのため、複雑なシステムの研究における標準モデルの 1 つを構成します。

セルラーオートマトンについて詳しく解説

最も単純なセルオートマトン

設計できる最も単純な非自明なセルオートマトンは、2 つの状態 (「0」または「1」) のみを取ることができるセルの 1 次元グリッドで構成され、各セルの近傍はそれ自体と 2 つのセルから構成されます。それに隣接するセル。

各セルは 2 つの状態を取ることができ、そのような近傍には 2 3 =8 通りの構成 (またはパターン) が考えられます。セル オートマトンが機能するためには、これらのパターンごとに、次世代のセルの状態がどうあるべきかを定義する必要があります。これを行うには 2 8 =256 通りの異なる方法があるため、このタイプのセル オートマトンは 256 通りになります。

この系統のオートマトンは「エレメンタリー」と呼ばれます。多くの場合、これらは 0 ~ 255 の整数で指定され、そのバイナリ表現は、連続するパターン 111、110、101 などでオートマトンがとる一連の状態になります。

例として、次の表で定義されるセル オートマトンを考えてみましょう。これは進化規則を示しています。

当初の動機111 110 101 100 011 010 001 000
中央セルの次の値0 0 0 1 1 1 1 0

(これは、たとえば、特定の時刻tでセルが状態 “1” にあり、その左隣のセルが状態 “1” で、右隣のセルが状態 “0” である場合、時刻t+1ではセルは状態は「0」です。)

1 つを除くすべてのセルが状態「0」である最初のグリッドから開始すると、次のようになります。

ここで、各行は前の行の結果です。

慣例により、このルールは「ルール 30」と呼ばれます。30 は 2 進数で 00011110 と書かれ、00011110 は進化の法則を表す上記のの 2 行目であるためです。

人生ゲーム

「ライフ ゲーム」は 2 次元のセル オートマトンであり、各セルが 2 つの値 (「0」または「1」ですが、私たちはむしろ「生きている」または「死んでいる」について話します) を取ることができ、その将来の状態がどこにあるのかを示します。現在の状態と、周囲の 8 つの細胞のうちの生きている細胞の数によって決まります。

  • 細胞が生きていて、2 つまたは 3 つの生きた細胞に囲まれている場合、その細胞は次の世代まで生き続けますが、そうでない場合は死にます。
  • 細胞が死んでいて、ちょうど 3 つの生きた細胞に囲まれている場合、その細胞は次の世代で生まれます。

これらのルールは単純に見えますが、非常に複雑な問題を引き起こします。

同じ原理で、誕生または生存のしきい値を変更したり、状態を追加したりすることによって、多数のルールを想像できます。これらのバリエーションの中で、次のものが挙げられます。

  • 昼と夜
  • ハイライフ
  • 移民
  • クアッドライフ

セルの状態の変化を決定するために考慮されるセルのすぐ隣のセルのみを考慮するものもありますが、半径 2 ボックス以内、またはそれ以上の範囲内にある隣接セルの状態も考慮するものもあります。また、特定の近傍ボックスに他のボックスよりも大きな重みを割り当てるものもあります ( WeightedLife )。

他のみんなは…

セル オートマトンを定義するために考えられるルールは、州の数が少なく、近隣が小さい場合でも、非常に多数あります。

2つの州3つの州4つの州5つの州
2 隣人16 19,683 4,294,967,296 > 10 17
3 隣人256 7,625,597,484,987 > 10 38 > 10 87
4人の隣人65,536 > 10 38 > 10,154 > 10,436
5人の隣人4,294,967,296 > 10,115 > 10,616 > 10 2184
6人の隣人> 10 19 > 10,347 > 10 2466 > 10 10921

したがって、セル オートマトンのモデルは、広大な探求の余地を提供します。セル オートマトン シミュレーターをプログラムするのは難しくなく、 Web には多かれ少なかれ成功した作品が溢れています。たとえば、Mirek Wojtowicz のサイト、Mirek’s Cellebration では、シミュレーションソフトウェアと非常に豊富な例のギャラリーが提供されています。興味深いシミュレーターのもう 1 つの例は Golly です。これは主にライフ ゲーム専用であり、クアッドツリーとハッシュを組み合わせて使用​​することでこのオートマトン用に最適化されています。

  1. أتمتة خلوية – arabe
  2. Ćelijski automat – bosniaque
  3. Autòmat cel·lular – catalan
  4. Celulární automat – tchèque
  5. Zellulärer Automat – allemand
  6. Κυτταρικό αυτόματο – grec

セルラーオートマトンについて詳しく解説・関連動画

サイエンス・ハブ

知識の扉を開け、世界を変える。