ろいしんぶろぐ

乱数調整とか

乱数クイズ

 

偶然見つけた初期SEEDからいい問題ができたのでこっちでも。 

難易度はとってもとっても高め。

ヒントとか賞品の詳細とかは随時追加します。

 

賞品の詳細:

 

ヒント1:個体値乱数列は20消費以下

 

ヒント2:産まれてきたタツベイは色違い

 

現在の正解者:さきさん(ほぼ正解)

 

 

以下、答えです

 

 

 

 

 

 

l  タマゴ生成判定

BW1でのタマゴ生成判定はrand(1600) < (20/50/70)なので、最良の条件で70/1600の確率でタマゴが生成される。

この条件を満たす乱数値を今回の初期seed1: CA66C5930A5027AFから探すとr[57]: 0682B213が条件を満たす。

ここで、r[57]がタマゴ生成判定に使われた状態で小屋から出るとr[61]: E7982EC7がNPC待機時間決定にあてられ最大待機が確保されるため、可及的速やかに卵受け取りを行った場合r[64]から性格決定が始まるが、目標性格値の元となる乱数値r[70]が遺伝箇所決定を行っている過程で消費されてしまう。

最小消費を満たすために、メタモンなし・変わらずなし・片親パワー系の状態で受け取り処理を行うと、遺伝箇所[パワー、D-先、S-先]で性格値00000000を得る。

しかし、この遺伝箇所では個体値乱数消費20以内に孵化個体値6Vを満たしうる基礎個体値の並びがないため、条件に反する。(ちなみに、6Vを満たす基礎個体値があらわれる最小の消費は2376消費後。だいたい5万歩ほど歩く必要がある。)

 

以上から、起動後にタマゴ生成は行われず、起動以前にタマゴが生成されていることが必要条件である。

 

個体値乱数消費

BW1の孵化仕様では個体値遺伝箇所が3箇所なので、6V個体の子を孵化するには個体値遺伝による上書き前の基礎個体値が3箇所以上Vを含んでいることが必要になる。

初期seed1:CA66C5930A5027AFから算出される個体値の並びでは、(1)MT15消費後の16-31-20-31-20-31、または(2)16消費後の31-20-31-20-31-4がこれに該当する。

BW1孵化では直前にMT7個の消費が入ってから基礎個体値決定処理に移行するので、(1)(2)の必要MT消費数はそれぞれ8,9となる。

このMT消費を確実に行うには少なくとも128歩歩く必要がある。

しかし、BW1ではタマゴが既に発見されている状態でも17歩ごとのタマゴ生成判定が行われるため、128歩歩くと7回の生成判定によるLCGの消費が起こる。

ここにパソコンでのMT消費時に同時に発生するLCGの2消費を加えると、小屋内でのMT消費中にLCGが9消費されることになる。

この9消費とオフセット消費を合わせると小屋内でr[57]までが消費されるが、前述の通り、r[57]が小屋内で消費されてしまうと条件を満たさないため、MTの消費中のLCG消費を抑制する方法を考える必要がある。

 

この生成判定を回避する方法は、

  1. なつき判定に関わる歩数カウンターに保存されている歩数を起動前に調査しておき、17歩以内になつき判定が発生するように調整する。
  2. メニューから手持ちポケモンの画面を開くとタマゴ生成判定に使用される歩数カウンターはリセットされるが、なつき判定の歩数カウンターはリセットされないことを利用し、16歩ごとに手持ちポケモンの画面を開くことでタマゴ生成判定の発生を防ぎ、LCG消費が起こらないようにする。

の2種類の方法が考えられるが、なつき判定の歩数カウンターに保存されている歩数を調べるのはなかなか面倒なので、今回は2.の方法を採用する。

したがって、MTの消費動作はパソコンのボックスからポケモンを1匹引き取った後7消費)手持ちポケモンを1匹または2匹にした状態で、16歩ごとに手持ちポケモンの画面を表示しつつ128歩歩く。

あるいは、手持ちポケモン3匹で16歩ごとに手持ちポケモンの画面を表示しつつ384歩歩く、または手持ちポケモン4匹で16歩ごとに手持ちポケモンの画面を表示しつつ256歩歩くことになる。

この動作でLCG消費を抑えつつMT8乃至9消費を達成できる。

 

l  遺伝箇所及び性格値調整

タマゴ生成の項で述べたように、性格値00000000を満たすように遺伝箇所を逆算するとD-先、S-先が確定する。

しかし、基礎個体値の関係上この遺伝箇所では6Vを達成できない。したがって、国際孵化による性格値再生成を利用して、遺伝箇所を変更しつつ性格値00000000を達成する必要がある。

国際孵化には、孵化処理の最後にあたる性格値生成の段階で色違い条件を満たさない性格値が生成された場合、5回まで性格値を再生成し色違いになればそこで終了、という仕様がある。

表-裏ID0-0で性格値00000000は色違い条件を満たすため、この仕様を利用して遺伝箇所を先に決定しつつ性格値のみを再計算させることで目標遺伝箇所、目標性格値を同時に満たすことができる。

 

詳しいことは省略するが、国際孵化を利用して目標個体値かつ目標性格値を達成できる場合の遺伝箇所は[A-後、C-先、パワーアンクル]または[B-後、H-後、パワーバンド]の2種類である。

前者の遺伝箇所についてはA-後の前にS-先が存在し、パワーアンクルなしでも可能なように見えるが、オフセット消費ならびに小屋から出てタマゴ受け取りまでに生じる諸消費の関係上S-先という遺伝箇所決定を受けることができないため、パワーアンクルによる遺伝箇所の決定が必要である。

 

l  初期seed確認およびNPC消費制御

今回は問題文中に初期seed1: CA66C5930A5027AFで起動したと書いてあるが、実際に調整を行ううえでは目標の初期seedを確実に出す方法はないので、実際の調整と同じく、レポートの針による初期seed確認を行いつつ小屋から出た際に生じるNPC消費を制御する。

 

小屋内でr[52]まで消費されたとき、r[56]: E1E3D847 がNPC待機時間決定に当てられ、r[59]から性格決定処理が行われる。

つまり、[A-後、C-先、パワーアンクル]という遺伝箇所を達成するには小屋外ペラップで1消費、[B-後、H-後、パワーバンド]という遺伝箇所を達成するには小屋外ペラップで4消費すればよい。

初期seed1: CA66C5930A5027AFのオフセット消費はr[48]までなので、小屋内でのレポートによるLCG消費はパソコンを使ってMTを消費する場合2回、使わない場合4回すればよい。

 

 

以上より、みたらしくんが行った操作の一例は

CSV日本国籍タツベイ♂(パワーアンクル所持)とAVの米国籍タツベイ♀を育て屋に預けてタマゴを生成したのち、

手持ちポケモンをおしゃべりを録音したペラップ1体にして育て屋内のパソコンの前でセーブし、

日時を合わせて起動後レポートを2回書き初期seed一致確認を行い、

パソコンから任意のポケモンを1体引き出し、

16歩ごとに手持ちポケモンの画面を開きながら128歩小屋内で移動し、

育て屋から出て可及的速やかにメニューを開きペラップのステータスを1回表示して、速やかにタマゴを受け取り孵化した。

となる。