スクリーンショット_2019-05-26_22

化石化するセルオートマトン

少し前から、また睡眠バランスの乱れで活動的になれなくて、さっきも5時間ほど昼寝をしてしまいました。今日は昨日思いついたセルオートマトンのルールを実装してみようと思い、サクッとやってみました(1時間程度の作業量)。

化石化とは

セルオートマトンの化石化、というものを考えました。化石化はルール "012345678//2" というものに変化することです。このルールは変化しない・状態を維持するルールになっています。

しかし化石化は生きているセルにしか及びません。死んでいるセルはこのルールが適用されず、そのままのルールかもしくは他のルールに変更されます。

動画とその紹介

結論から言うとあまり面白くありませんでしたが、この化石化を200ステップずつ発生させてみた動画がこちらになります。

最初のルールだけ "345/2/4" で、その後200ステップ後に化石化し、生きたセルは "012345678//2" に、死んでいるセルは "245/35/3" というルールに変化しています。それを200ステップごとに繰り返している様子になります。

化石化が発生すると(白くなると)、その周りに "245/35/3" がまとわりつきます。そしてそれも化石化するので、徐々に化石が大きくなっていきます。

この "245/35/3" を別のルールにしてみても、2極化してしまいました。1つは今回のような徐々に大きくなっていくもの(速度は今のこのルールがとても遅く、他のルールだとあっという間に巨大化する)、そしてもう1つが、化石だけが残るルールです。後者のルールの数はとても少ないので、言ってみれば化石が大きくなるルールしかない、とも言えます。わかってはいましたが・・・。

考察

化石化は、Genelife プロジェクトでの同期的ルール変化の実験でもありました。ルールが切り替わる瞬間とその変化内容がすべてのセルで等しく行われるものです。これがランダム性を持っていたりすると、Genelife プロジェクトの本来の形になります。

化石化を思いついたのは、空間での環境の斑を作れないかと考えていたときでした。組織化されたルールが変化しないセルになり、その周りを別のルールが支配するようになる、という想像をしていました。そうはなりませんでした。

原因の1つは、セルが死なない事です。当然ですが、セルが死なないので新陳代謝が行われず、隣のセルに常に影響を与え続けます。この影響はルール次第ではありますが、殆どの場合とても強く、無限とも言えます。今回動画にしたルールでは、その力をなるべく抑えることができるように調整した独自のものですが、それでも死なない化石セルの周りには常に湧き出ています。

これが理由で、拡大していく単調なルールしかうまれなくなったと考えています。

ちなみにですが、この化石化ルールを先日の近傍セル参照ベクトル型のルールと混ぜると、化石は移動し形を変化させます。これは単純に "012345678//2" というルールが参照ベクトルの長さが0でないときにのみ変化しないからです。

それでは、また。

応援してくださると嬉しいです。よろしくお願いいたします!