[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
セルオートマトンのルール110のシミュレーションを作りました。
スタートボタン:シミュレーションをスタートまたは一時停止します。
キャンバスをクリック:一番上のオレンジ色に光っているセル(マウスで位置を変えれます)の状態を■なら□に、□なら■に切り替えます。
これはセルオートマトンのルール110のシミュレーションです。
セルオートマトンとは何かというところから説明しますと、かんたんな法則に従って□と■(セルと呼ばれます)が変化していくシミュレーションのことであり、ルール次第では現実の物理現象と似た模様ができます(たとえばルール30は貝殻の模様そっくりです)。
この種のセルオートマトンは、各セルが自分と自分の隣のセルの状態を元に、次の自分の状態を決めます。ルール110の法則は、次のようなものです:
現在の状態(周囲のセルも含む) | □□□ | □□■ | □■□ | □■■ | ■□□ | ■□■ | ■■□ | ■■■ |
次の瞬間の状態 | ■ | ■ | ■ | □ | □ | □ | □ | ■ |
とても簡単なので根気さえあれば小学生で手計算できるでしょう。ただしそれでは時間がかかりすぎるのでここではコンピュータを使ってシミュレートしているのです。
ルール110の特色はチューリング完全という点です。つまり、セルの初期状態を注意深く選べば、万能のコンピューターと化し、私達が普段使っているプログラムはどんなものでも実行できます(残念ながら市販のPCと比べると性能は悪いのですが)。このような簡単なルールからコンピュータが作れるというのは驚きでもあります。