2014-01-01から1年間の記事一覧

バトルファクトリー 必勝(?)乱数調整

ポケモンHGSSにおけるバトルファクトリーの必勝(?)乱数調整の動画を撮影しました。作った(or 使った)ツールは以下 http://oupo.github.io/factory-npc/ https://github.com/oupo/factory-search (UIなし) オーキドはかせのポケモンこうざで乱数消費補助ツー…

メルセンヌツイスタの調律を行列で書く

擬似乱数生成器メルセンヌツイスタ(MT)には以下のような調律(tempering)と呼ばれる関数が登場します。 u32 tempering(u32 x) { x ^= (x >> 11); x ^= (x << 7) & 0x9d2c5680; x ^= (x << 15) & 0xefc60000; x ^= (x >> 18); return x; } MTの作者自身の講義…

ジョインアベニューの日替わりseedの周期

ポケモンBW2のジョインアベニューの日替わりseedで使われている漸化式がちょっとおもしろいです。 s[n+1] = ((s[n] * 0x5d583d6d6c078979 + 0x26a693) mod (2^64)) >> 32まず、0がこの漸化式の不動点になることがわかりますが、実際のゲーム中では0になった…

近況

乱数講座 乱数講座というものに参加しました。 (9月7日) LCG Ring LCG Ringというプログラムを書きました。 (9月24日) LCG Ring ポケモンの乱数調整ユーザーなら見ただけで何を意味しているかは分かるはず。 ジョインアベニューのくじの解析 ポケモンBW2のジ…

LCGにおけるseedの検索を離散幾何に帰着させる

LCG(線形合同法)でseedを検索することを離散幾何の問題に帰着させるということを考えてみました。まず線形合同法の漸化式で使われる関数を(Ax + B) mod Mとしておきます。 seedを1増やしたとき、その一つ先のseedというのはA増えるか、A-M増えるかのどちらか…

重複なしにランダムに選んだ後ある特定のseed値になるようなseed値を求める その2 - oupoの日記に追記をしておいた。誰も興味がないようなネタだろうけど…。

確率計算

過去に書いたプログラムが、投稿したwebサービスから消えていたのでブログに残しておく。(2011年11月に作成)ブラックシティとホワイトフォレストの最初に決まる13人の中にグレースがいる確率を求めるプログラム (だったと思う)。だだぢぢさんがTwitterで話題…

asm.jsを試す

Firefoxで実装されているというasm.jsを試しました。これはJavaScriptのプログラムのうち、一部を非常に制限されたルールにしたがって書いてそこに"use asm"というディレクティブをつければ、その部分が非常に高速化されるというしろものです。以前、「メル…

筆者: oupo (連絡先: oupo.nejiki@gmail.com)