二分法

128歩のうちのどこかにあるなつき判定を効率よく絞り込む方法。
消費しているか確認するための移動を1/2ずつにしていくと効率よく絞り込める。
移動nの個体=共通の初期seedで開始してからn歩移動して捕まえた個体

  1. 移動なしで個体を捕まえられる位置でセーブする
  2. 移動0の個体を記録する
  3. 移動64の個体が移動0と異なっている(移動64で乱数を消費している)か確認する、消費していなければリセットして移動64の状態でセーブする(偶数移動なら元の位置、移動なしで個体を捕まえられる位置に戻れる)
  4. 移動32の個体が移動0と異なっているか確認する、異なっていなければリセットして移動32の状態でセーブする
  5. 移動16の個体が移動0と異なっているか確認する、異なっていなければリセットして移動16の状態でセーブする
  6. 移動8の個体が移動0と異なっているか確認する、異なっていなければリセットして移動8の状態でセーブする
  7. 移動4の個体が移動0と異なっているか確認する、異なっていなければリセットして移動4の状態でセーブする
  8. 移動2の個体が移動0と異なっているか確認する、異なっていなければリセットして移動2の状態でセーブする
  9. 移動2でなつき判定が起こる状態のセーブデータになる

移動なしで個体を捕まえられる位置でセーブすると、偶数移動しかできないのでここまで。
二分法