忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

セルオートマトン・シミュレーション(ルール110)

セルオートマトンのルール110のシミュレーションを作りました。


Wolfram Rule110


操作方法

スタートボタン:シミュレーションをスタートまたは一時停止します。

キャンバスをクリック:一番上のオレンジ色に光っているセル(マウスで位置を変えれます)の状態を■なら□に、□なら■に切り替えます。

解説

これはセルオートマトンのルール110のシミュレーションです。

セルオートマトンとは何かというところから説明しますと、かんたんな法則に従って□と■(セルと呼ばれます)が変化していくシミュレーションのことであり、ルール次第では現実の物理現象と似た模様ができます(たとえばルール30は貝殻の模様そっくりです)。

この種のセルオートマトンは、各セルが自分と自分の隣のセルの状態を元に、次の自分の状態を決めます。ルール110の法則は、次のようなものです:

現在の状態(周囲のセルも含む) □□□ □□■ □■□ □■■ ■□□ ■□■ ■■□ ■■■
次の瞬間の状態

とても簡単なので根気さえあれば小学生で手計算できるでしょう。ただしそれでは時間がかかりすぎるのでここではコンピュータを使ってシミュレートしているのです。

ルール110の特色はチューリング完全という点です。つまり、セルの初期状態を注意深く選べば、万能のコンピューターと化し、私達が普段使っているプログラムはどんなものでも実行できます(残念ながら市販のPCと比べると性能は悪いのですが)。このような簡単なルールからコンピュータが作れるというのは驚きでもあります。

拍手[0回]

PR