遺伝子の展開方法について

遺伝子物ゲーについて - 永字八法の続き。
昨日はあんなこと言ったけど、別にカオスに限定しなくてもカオス的なものでいいよね(笑)

その1:みんな大好きMD5

遺伝子型の中からいくつかを選び、それを組み合わせて種として使う。MD5に食わせて出てきた数値を使い終わったら、最初の種と、使い終わった数字を組み合わせて次の数値をはじき出す。以下繰り返し。

メリット

カオス的には充分。

デメリット

NScripterで使うにはDLLが必要になると思う。面倒。MD5の式って、NScripterネイティブで実装できるようなもんなのか?

その2:ちょっと数学的にフィボナッチ式

フィボナッチ数列は、第一項と第二項の初期値が1のものであればみんなよく知っていると思うけど。
これで第一項と第二項を1以外の実数にしてしまったらどうだろうか。ちょっと展開が面白いことにならないだろうか。
具体的には、こんな式か。
F\small n+2\Large =(F\small n+1\Large +F\small n\Large )\small mod\Large m
mには、10とか16とか256とかそれっぽい数値が入る。

メリット

一番展開が簡単。NScripterでもら〜くらく。

デメリット

あんまりカオスじゃない気がするんだけどどうよ?

その3:ロジスティック方程式

真打、真のカオス。
F\small n+1\Large = aF\small n\Large(1-F\small n\Large)

メリット

カオス。計算は結構楽。

デメリット
  • 小数点以下が使えないと初期鋭敏性のうまみがなくなると言うか。値をそれぞれ百倍にして擬似的に端数処理してもいいんだけど。
  • aの値をどう設定するかが問題。トップシークレットになるなあ。
  • そしてどんな数値にしたとしてもやがて収斂してしまう。しかしこれは利点かも知れないが……。

セルオートマトン

例えば、遺伝子型を示す文字列を全て2進数に還元して、その上で1次元セルオートマトンのルール30ないしルール90で展開して、タペストリーを作るとする。(参考:セル・オートマトン - Wikipedia
その作成されるタペストリーの模様から、遺伝子情報を読み取ると言うのはどうだろう。プレイヤーにもそのタペストリーは見えるのだ。遺伝子型がただの文字列と言うのは、リアルではあるが面白みはそんなにない。目に見える絵だとそれはそれで楽しいような気がする。
作図の例(ルール90の場合)

デメリット

できる絵が全然面白くないんですけど。げふん。これ区別つけろとか言われても無理だよなあ。

結論

なんかフィボナッチ当たりに決まりそうな雰囲気。
次回は、ここからデータを取り出す方法について。

遺伝子型を展開する方法は常に差し替え可能状態を保つとする。その方が後々楽そうだから。
しかし、画像そのものを遺伝子型にすると言うアイデアも捨てがたい。