遺伝子の展開方法について
遺伝子物ゲーについて - 永字八法の続き。
昨日はあんなこと言ったけど、別にカオスに限定しなくてもカオス的なものでいいよね(笑)
その1:みんな大好きMD5
遺伝子型の中からいくつかを選び、それを組み合わせて種として使う。MD5に食わせて出てきた数値を使い終わったら、最初の種と、使い終わった数字を組み合わせて次の数値をはじき出す。以下繰り返し。
メリット
カオス的には充分。
その2:ちょっと数学的にフィボナッチ式
フィボナッチ数列は、第一項と第二項の初期値が1のものであればみんなよく知っていると思うけど。
これで第一項と第二項を1以外の実数にしてしまったらどうだろうか。ちょっと展開が面白いことにならないだろうか。
具体的には、こんな式か。
mには、10とか16とか256とかそれっぽい数値が入る。
メリット
一番展開が簡単。NScripterでもら〜くらく。
デメリット
あんまりカオスじゃない気がするんだけどどうよ?
その3:ロジスティック方程式
真打、真のカオス。
メリット
カオス。計算は結構楽。
デメリット
- 小数点以下が使えないと初期鋭敏性のうまみがなくなると言うか。値をそれぞれ百倍にして擬似的に端数処理してもいいんだけど。
- aの値をどう設定するかが問題。トップシークレットになるなあ。
- そしてどんな数値にしたとしてもやがて収斂してしまう。しかしこれは利点かも知れないが……。
セルオートマトン
例えば、遺伝子型を示す文字列を全て2進数に還元して、その上で1次元セルオートマトンのルール30ないしルール90で展開して、タペストリーを作るとする。(参考:セル・オートマトン - Wikipedia)
その作成されるタペストリーの模様から、遺伝子情報を読み取ると言うのはどうだろう。プレイヤーにもそのタペストリーは見えるのだ。遺伝子型がただの文字列と言うのは、リアルではあるが面白みはそんなにない。目に見える絵だとそれはそれで楽しいような気がする。
作図の例(ルール90の場合)
デメリット
できる絵が全然面白くないんですけど。げふん。これ区別つけろとか言われても無理だよなあ。
結論
なんかフィボナッチ当たりに決まりそうな雰囲気。
次回は、ここからデータを取り出す方法について。
注
遺伝子型を展開する方法は常に差し替え可能状態を保つとする。その方が後々楽そうだから。
しかし、画像そのものを遺伝子型にすると言うアイデアも捨てがたい。