アニメ好きでもゲーム好きでもない、純粋なポケモン好きによるポケモン対戦中心の雑記。コメント返信は遅め。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

乱数調整Q&A

以前に私が挙げた乱数調整についての疑問に対し、わかった(と思われる)ことを書いてみる。自分が勝手に納得しただけの話なので、間違っている可能性はかなり高い。間違っていたら指摘していただけるとありがたい。

Q:まず、乱数って何?
A:8桁の16進数数字のことを乱数というのであっていた。一般的にランダム要素とされている個体値や性格は、複雑に仕組まれた計算式から弾き出された計算結果である。その計算結果が乱数たる8桁の数字であり、その数字は個体値の決定と直接的な関係を持つ。つまり、まず諸条件を代入すると乱数なる8桁の16進数数字を返す函数があり、更には乱数を代入すると個体値を返す函数があるという次第だ。それなら最初から合成函数にしてしまえばいいような気もするが、同じ乱数でも、決定される事項は個体値のみに留まらないので、それを示唆するために(これを知っているとコイントスから初期seedがわかったりする)分けているものと思われる。
ここで事項の決定に使われる乱数のことを、「有効な乱数」と呼ぶことにする。つまり、所望の性格&個体値を吐き出してくれる乱数を有効にしておけば、所望の個体が得られる事になる。これが乱数調整である。

Q:乱数を「消費する」って何?
A:乱数には漸化式が設定されており、その意味で乱数列と呼ばれる。「乱数を消費する」とは、現在の有効な乱数を漸化式に代入して得られる次の乱数を、有効な乱数に置き換える操作である。乱数をn消費するとは、その操作をn回おこなうことである。
有効な乱数を用いて事項が決定されると、乱数を幾つか消費して連続で同じ事項が決定されるのを防ぐというシステムになっている(そうしなければ、例えばコイントスの結果が毎回同じになる)。幾つかと書いたが、幾つ消費されるかは決定された事項によって決まる。意図的に乱数を消費する回数を調整して、所望の乱数を有効にするという使い方ができる。
因みにPtでは乱数列が2種類あり、それぞれ決定される事項と消費される条件と漸化式が異なる。但し、ゲーム開始直後の2つの値は一致しており(初期seedと呼ぶ。何故初期乱数と呼ばないかは不明)、一方によって決定される事項からもう1つの有効な乱数を推定する事も可能である。2つの乱数列をそれぞれ通常乱数、孵化乱数というらしい。

Q:初期seedを合わせるのが難しい理由は?
A:起動から「つづきからはじめる」を選ぶまでの間、1/30秒で初期seedが変わっていくので、1/30秒を上手く合わせる必要がある。だから難しい。
1/60秒で1変わるかと思ったら、1/30秒で2変わるらしい。だから、奇数のずれだったら日時を修正する必要があるらしい。具体的には西暦を1変えるといいらしい。
多くの場合、1/100秒まで表示されるストップウォッチを使ってタイミングよくボタンを押し、初期seedが合わなかった場合も決定された事項から初期seedを逆算し、何秒ずれていてかを計算して調整し直す、という手法が取られているようだ。

Q:なぜ連打をする必要があるのか?
A:乱数調整を用いて孵化をする場合、所望の乱数を有効にする必要があるが、個体値を決定するための孵化乱数が実はNPC(主人公以外のアイコンども)の動きによっても消費される。タマゴを貰う育てや爺さんの周辺には、常にこうそくいどうのミミロル2体を筆頭に、パチリス、カウガール等、意地悪なNPC達が大量にうろついているため、孵化乱数を意図的に調整することはもはや不可能に近い。
そこで、Aボタン連打のみによりタマゴを受け取れる状態でレポートを書いておき、開始直後あまり乱数が消費されない内にタマゴを貰うという苦肉の策に出る。こうすると、孵化乱数の消費は3~5辺りに押さえる事ができ、確率的に安定する。悲しい事に、このようにして安定させる方法しか発明されていない。3~5辺りなので、偶然にも所望の消費回数と一致すればいいねという話。

Q:孵化の際、貰う前に(タマゴができた時に)性格と特性と性別が決まり、貰う時に個体値が決まるが、タマゴができる前から乱数調整しておく必要があるのか?
A:疑問は、性格・特性の固定だけはかわらずのいしを利用して固定し、個体値を厳選する時のみ乱数調整を利用する、という方法がとれるかどうかにある(普通は性格・特性の決定にも乱数調整を用いるらしい)。だが未解決。わからない。
多分できるっぽいけど。

まぁこんなところか。
まだWindowsの仮想マシンが導入できてないから、乱数孵化に実践するのはもう少し先になりそうだ。
ていうか駒場祭に育成が間に合わないという可能性も出てきた。これはまずい。
ゲー研の方から戴いたセットでも何とかなりそうではあるが、まだ今一使い方がわかっていない。初期seed候補って何だろうとか。
先は長い...。
スポンサーサイト
コメント
コメントの投稿
管理者にだけ表示を許可する
プロフィール

リィズ

Author:リィズ
ポケモンが好きで主に対戦を考察する。
東京大学ゲーム研究会(TGA)所属。
乱数調整の解説記事へは、下のリンクから行けます。

リンク
このブログをリンクに追加する
最新記事
最新コメント
カテゴリ
カレンダー
08 | 2017/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
月別アーカイブ
Twitter
アクセスカウンター
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。