1次元セル・オートマトン[拡張型] - JavaScript

2008/08/02

λパラメータとクラス4を含む領域の表示を可能とした1次元セル・オートマトンのJavaScriptによる実行プログラム。

クラス4を得るには、あるセルに対して近傍1マスではなく2マスを把握する必要がある。自分自身を含む5マスの組み合わせは32パターンで、この領域が含む全ての変化パターンは232で、4294967296パターンある。これを総当りしていては4を見つけることはできない、そのためにλパラメータを用いる。

λパラメータはセルの色が変化する確率で、近傍2マスで色彩変化が2色(白/黒)の場合、総てのパターンでセルの色が変化した数の割合が0.273となるとき、クラス4の複雑性を持つ。そこで逆に、変化するパターン数を規定した後で、残りのパターンを生成する方式をとれば、特定のλパラメータを持ったパターンを得ることができる。

試したところ、0.3〜0.6程度の範囲のλ値で稀にクラス4が観測できるようだ。近傍2マスまで範囲を広げると、一気に複雑性が増す。ついでに、プログラムそのものは近傍nマスまで動くようには作ってあるが、現実問題n=3でパターン数340282366920938463463374607431768211456種類となり、JavaScriptによる取り扱い範囲をオーバー。技術的には突破できるものの、ここではそこまでの高度な性能は求めなかった。

n=3以上のものを扱えるデモは藍手箱 セル・オートマトンへ。

DEMO

パラメータ
フィールドの大きさ(5以上)
マス
世代数
世代
セル倍率(PX)
px
把握範囲
半径マス
規則番号(半径1:0〜255,半径2:0〜4294967295)
初期世代密度(1〜99)
%
一点固定

λ
λパラメータ
(四捨五入)

Field
状態

コード: / λ:

getColor test.

ギャラリー

拾ったパターンを含めて、見つけたクラス4らしきの結果を5つほど。今回は使用した規則番号も記載されている。

f2_gallery1

f2_gallery2

f2_gallery3

f2_gallery4

f2_gallery5