セルオートマトンを組んでシェルピンスキーのギャスケットを作る
この記事はこんな人にオススメです
  • セルオートマトンについて詳しく知りたい人
  • Pythonで数値計算をしたい人
  • カオスやフラクタル的なことがちょっと好きな人

こんにちは.
今日はセルオートマトンについての記事を書きます.

実際に,セルオートマトンのプログラムを回して挙動を確認しているので,
この記事を理解できたらそこそこ「セルオートマトン」に関しては大丈夫なのではないでしょうか.

スライドも作ったので,もし見たい方がいたらご覧ください

ってか名前かっこいいですよね.
セルオートマトン!!!(厨二感出てますが,,,)

解説動画

セルオートマトンとは!?

セルオートマトンとは,ある内部状態をもったセルが,周囲の内部状態をもったセルと相互作用(情報交換)して時間的に変化していくモデルです.

数理的にモデル化を行う上では,このような状態を考慮してモデルを組むと思います.

人間や生物の行動モデルにも使用される割とメジャーなモデル化です.
知っているとちょっといつか役に立つかもしれません.

数学的に言うと,一次元とか二次元とか色々ありますが,このように書けます.

セルの内部状態を更新する

各セルの内部状態を更新するアルゴリズムとしては,このような感じです.

プログラムについて

スライドで説明した1次元のオートセルマトンに関してのプログラムです.
(参考:Pythonによる数値計算とシミュレーション

詳しく内部構造を理解したい人は,上記の参考資料(Pythonによる数値計算とシミュレーション)をオススメです!

プログラムの結果に関して

ルールを18で回してみました.

このような感じになりました!
内側のルールが同様なので,どのような初期値から演算してもこのような形になります.

シェルピンスキーのギャスケットですね!!!笑

また,インターネットを見ると,ルール161で,シェルピンスキーのギャスケットが見られると言うことで実際に試してみました!

このようになりました笑

確かにところどころ,シェルピンスキーのギャスケットが見られる!
ちなみに,シェルピンスキーのギャスケットとは,フラクタル図形の一種です.
カオスがチラ見してますね

詳しくは,こちらのwikiを参考にして見てください!
(参考:シェルピンスキーのギャスケット

以上の絵も,wikiから抜粋したシェルピンスキーのギャスケットです.
拡大しても拡大しても同じような絵が出てきますね!
数学の美を感じます!

では!