; oi: 5月 2015

2015年5月5日火曜日

蛇の模様を作ってみた -チューリングが残した数式-

5月3日(日)所さんの目がテン!を見て興味深かったので投稿する。

今イミテーションゲームでも話題の、アラン・チューリングが生物の模様に関して以下のような説を提唱したようである。

「局所的ないくつかのルールのみによって、大域的な模様は決定づけられる。」
⇒チューリング・パターン(Wikipedia)

本説の検証実験のため、番組内では、枡アナらが約1万枚のオセロを用いて手作業による検証を試みていた。

しかし、20時間もの時間がかかる非効率的な作業に思われたので、今回プログラムを用いて出来上がった模様を公開する。

前提:正六角形を敷き詰めてつくられる盤上において、各マスは白か黒の2値をとる。

ルールは以下の2つである。
 1. 自分の周り(自分と接する6マス)に、自分と異なる色のマスが4つ以上存在する場合、自分は異なる色に変化する。
 2.自分の周りの周り(自分と接する6マスと、その6マスと接する12マス:計18マス)に、自分と異なる色のマスが1つも存在しない場合、自分は異なる色に変化する。

以下は実行例を示す。(盤面は100×500マス)

1. 初期値はランダムで与える。

2. ルールの適用(1回目)

3. ルールの適用(2回目)

4. ルールの適用(5回目)

5回目以降は、ほぼ同様の状態が繰り返し続く。
蛇の模様と言われれば、蛇の模様に見えないこともない。

今後、この他のルールを適用し、蛇以外の模様についても表現できれば良いと思う。

参考:六角形版ライフゲームを作ってみた
http://hunayasu.hatenablog.com/entry/2014/04/20/233508

※上記プログラムを参考に、色変化のルール部分、ロジック部分を修正した。