オートマトンを発見

English - Português - 日本語

 # エミュレーターはどのように機能しますか?

楽しいデザインを作りたくて、一次元セルオートマトンについて読んだばかりだったので、このサイトが生まれました。

読み進めるか、スキップしてエミュレータに進んでください。

 # 一次元セルオートマトン

セル オートマトンは、タイル状の「セル」の「宇宙」でプレイされる一種のゼロプレイヤー ゲームです。各オートマトンには独自の構成があり、何世代にもわたって宇宙を進化させることができます。最もよく知られているセル オートマトンは、おそらく コンウェイのライフ ゲームでしょう。

1 次元セル オートマトン(1DCA)は、タイリングが 1D であるセル オートマトンの一種です。正方形の線と考えることができます。これにより、1DCA の多くの世代を簡単に描画できます。すべての生成線を次々に描画して、長方形を形成できます。

(初代)
(次の世代)
(次の世代)

 # 構成

1DCA を定義するには、次の 3 つのことを知る必要があります。使用する状態の数、次の世代を計算するときに考慮すべき隣接セル、セルがどの状態に進化するかを決定するための遷移規則(隣接セルの状態に基づく)。

 # 状態

セルオートマトンの各セルは、いくつかの状態のいずれかになり、ほとんどの場合、数値(0 や 1 など)または色(黒や白など)で表されます。

このシミュレーションでは、セル オートマトンの状態数を設定できます。

 # 近傍

近傍の簡単な例は、次のような現在のセルとその 2 つの隣接セルです。

000

一般に、セル オートマトンの作成に使用できる 非常に多くのタイプの近傍 があります(時間とともに変化する近傍を含みます)。ただし、このサイトで使用される近傍は、現在のセルとその両側の最も近いいくつかのセルの選択に制限されています。

近傍 (1 - 7)

 # 遷移規則とルール番号

状態の数と近隣を選択したら、遷移規則を決定する必要があります。与えられた近隣の州の可能な組み合わせごとに、結果の州を選択する必要があります。例として、セルのすべての隣接セルが0の場合、セルは1になる必要があるという遷移ルールを次に示します。

(ルールをクリックすると、結果の状態が変わります。)

これらの遷移ルールは、遷移ルールを変更するためにも使用できる単一の番号「ルール番号」としてエンコードできます。

(この"規則番号"としての遷移規則の表現はWolframコードを使用しています。)

 # エミュレータ

オートマトンが設定されると、このサイトは、ランダムな初期世代を生成し、次に多くの子世代を描画することによってそれをエミュレートします。

エミュレータを使用するには、ここにアクセスしてください。

 # 命名法に関する注意

これを「シミュレーター」ではなく「エミュレーター」と呼んだのは、シミュレーターはシミュレートするものに近似することが期待されているのに対し、エミュレーターの目標はエミュレートするものの動作を正確に再現することであるからです。

 # ディスプレイの設定

エミュレーターの表示方法を制御する設定がいくつかあります。

色相
  • 数値ラベルのオンとオフを切り替えることができます。
  • エミュレーターは、カラーまたはグレースケールでレンダリングできます。
  • 第 1 世代のセルは、ランダムに作成することも、ゼロ セルで囲まれた単一の非ゼロ セルとして作成することもできます。
  • 色相を調整して、さまざまな色を使用してエミュレーターをレンダリングできます。
github.com/spejamchr/discover-automata