128歩のうちのどこかにあるなつき判定を効率よく絞り込む方法。
消費しているか確認するための移動を1/2ずつにしていくと効率よく絞り込める。
移動nの個体=共通の初期seedで開始してからn歩移動して捕まえた個体
- 移動なしで個体を捕まえられる位置でセーブする
- 移動0の個体を記録する
- 移動64の個体が移動0と異なっている(移動64で乱数を消費している)か確認する、消費していなければリセットして移動64の状態でセーブする(偶数移動なら元の位置、移動なしで個体を捕まえられる位置に戻れる)
- 移動32の個体が移動0と異なっているか確認する、異なっていなければリセットして移動32の状態でセーブする
- 移動16の個体が移動0と異なっているか確認する、異なっていなければリセットして移動16の状態でセーブする
- 移動8の個体が移動0と異なっているか確認する、異なっていなければリセットして移動8の状態でセーブする
- 移動4の個体が移動0と異なっているか確認する、異なっていなければリセットして移動4の状態でセーブする
- 移動2の個体が移動0と異なっているか確認する、異なっていなければリセットして移動2の状態でセーブする
- 移動2でなつき判定が起こる状態のセーブデータになる
移動なしで個体を捕まえられる位置でセーブすると、偶数移動しかできないのでここまで。
二分法