タマゴの性格値:今後の方針

  • 性格値が内蔵時計によらずにループするか調べる。
    • パッチールを預けて、あと一歩でタマゴができるところでセーブ。
    • 方向キーを押しっぱなしにして、リセットから「つづきからはじめる」までの時間を計る
    • タマゴを受け取って孵し、模様から性格値を求める。
    • 時間ができるだけ同じになるように別の時刻にも繰り返す。
    • ループが確認できたら↓
  • 性格値が親によらずにループするか調べる。
    • 別の親を使ったり、預ける順番を入れ替えたりして、上と同じように調査する。
  • 性格値の生成方法を予想する
    • 初期seed=0の乱数列と、出てきた性格値を比べる。
    • 親の性格値などの定数を足し引きしてみる

タマゴの性格値:途中経過

パッチールのタマゴを孵化して、模様から性格値を求めることは一応できた。
が、出てきた性格値は同一の乱数列上に存在するものじゃなかった。
もちろん、模様から性格値を求める段階で間違えた可能性はあるが、
別の性格値の生成方法の可能性を検証していく必要がありそうだ。

タマゴの性格値:仮説・検証方法

  • 仮説1:個体値を決めるのと共通の乱数列の、連続する(または一つおきの)乱数2つを単に並べたもの
  • 仮説2:個体値を決める乱数列とは別の、常に一定の初期seedから生成される乱数列の、連続する(または一つおきの)乱数2つを単に並べたもの
  • 仮説3:個体値を決める乱数列とは別の、内蔵時計を利用した初期seedから生成される乱数列の、連続する(または一つおきの)乱数2つを単に並べたもの
  • 仮説4:個体値を決めるのと共通の乱数を使用し、何らかの変換を行っている
  • 仮説5:個体値を決めるのと別の乱数を使用し、何らかの変換を行っている


仮説1〜3であるかどうかの検証方法:

  • パッチールを育て屋に預け、リセットせずにタマゴをいくつか受け取る。
  • 某ツールを使い、パッチールの模様から性格値を読み取る。
  • 初期seed=0から生成した乱数列に、並べるとその性格値になる連続した乱数があるか調べる(仮説1かどうか判明。違うなら↓)
  • 性格値が連続する乱数から生成されたという仮定の下、性格値からseedを逆算する
  • 求めたseedから、それ以降の乱数を生成し、他の個体の性格値もその乱数列に存在するか調べる(仮説2or3かどうか判明。存在するなら↓)
  • 求めたseedから、それ以前の乱数を生成し、初期seedの目星をつける
  • 別の時間にリセットして実験を繰り返し、同一の初期seed候補があるか調べる(仮説2かどうか判明。同一のものがないなら↓)
  • 逆算した初期seed候補の中に"近い"ものがあるか調べ、内蔵時計の時刻との関係を調べる

とりあえずここまで

944

まず

  • 942(F) 31-後-23-31-後-前
  • 944(F) 後-19-前-30-30-後

をそれぞれ出して親にすれば

  • 945(F) 前-30-30-後-12-前

も含めて5U以上が出やすくなる、か。
そして943のメソッド違い

  • 943'(F) 後-31-前-30-30-後

を出せればいいんだが。

確率の話

事象Aが起きる確率をa,事象Bが起こる確率をbとする。(a+b≦1)
事象Aが1回起きるまで試行を繰り返すとき、
事象Bが起きる回数の期待値Xは?


X=b+(1-a)X
X-(1-a)X=b
aX=b
∴X=b/a


というわけで、いろんなポケモンで4V2Uになる943フレームの間が開いたバージョンがでるまで孵化して、
その間に生まれた3V2Uの944フレーム目の個体の数がどうなるか調べてみようと思う。
タイミングの誤差は正規分布に近似でき、分散に比べて1/60秒は十分小さいから、
これで個体値決定の乱数が連続したものと1個おきになるものの生まれる比がわかるはず。

確率の問題?

タマゴのループについて、だいたいわかったものの、
HABとSCDを生成する乱数が並んでいる場合と1つ間が空いている場合とがある
その原因と、どのくらいの割合で起こるのかがまだわからない。
たぶん、原因は意図的に操作できるものじゃないだろうけど、
割合については、間が空くパターンに期待していいのかどうかに関わるから気になる。
これも調査するべきか・・・?


ところで、タマゴの場合もフレーム番号はHABを生成する乱数の番号より2つ少ない数で表してるんですよね。
タマゴの場合はその番号の乱数は使わないんだけど。