Wolfram's Cellular Automaton Rule 0-255

Rule 0-255

ある時間 t の時の n 番目の格子の値を xn(t) とする。 ただし、xn(t) は 0 もしくは 1 しか値をとらないとする。 連続する 3 個の値から次の時間の値が定まるような時間発展、

xn(t +1)= f ( xn -1(t), xn(t), xn +1(t))
を考える。 写像 f
(xn -1(t), xn(t), xn +1(t)) (1,1,1)(1,1,0)(1,0,1)(1,0,0) (0,1,1)(0,1,0)(0,0,1)(0,0,0)
xn(t +1) a7 a6 a5 a4 a3 a2 a1 a0
ただし、 ai(i=0,1,2,...,7) は 0 もしくは 1 とする。 よって、f は 2^8=128 通りのルールが考えられる。 各ルールに対して便宜上番号を 128 a7+ 64 a6+ 32 a5+ 16 a4+ 8 a3+ 4 a2+ 2 a1+ a0 と付けることにする。

遊び方

1. ルールを決める。
ルールは 0 から 255 まであります。 直接右上のルールの欄の数字を変更するか、 メニューを用いて各パターンに対する時間発展のルールを 0 もしくは 1 に指定します。
2. 初期値を定める。
細長い枠の中に初期値を入力します。 マウスを枠内に動かしボタンをクリックすると、 マウスが居る場所が黒くなり、そこの値は 1 となります。 もう一度同じ場所でクリックすると、 そこの値は 0 となり白に戻ります。
初期値を手作業で入力するのが面倒な方は、 「Set Random」ボタンを押してみて下さい。 ランダムに値が入力されます。
3. 時間発展させる。
「Start」ボタンを押すとシュミレーション開始です。 先ほど定めたルールに従って時間発展を行ない、 下の大きな枠の中に表示します。
細長い枠の中は現在のデータを示すようになります。 現在のデータはシュミレーション中でも変更することができます。 ルールもシュミレーション中に変えられます。
4. 時間発展を止める。
「Stop」ボタンを押すと、時間発展が止まります。
「Clear Graph」ボタンを押すと下の大きな枠内を消去し、 「Clear Data」ボタンを押すと上の細長い枠内をきれいにします。

シミュレーション

参考文献

[1] S. Wolfram, Cellular Autoamta and Complexity, Addison Wesley, 1994

(C) Kondo Koichi, 2007/08/08
kokondo@mail.doshisha.ac.jp