- 579 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 01:05:57 ]
- 今北。
課題は、MTの最適化ではなく、合計の計算の最適化なんだな。 後段の tempering は mt[] に影響を与えないので、tempering 後の 値を合計せずに、tempering 前の「とある値」を集計する。GF(2)の中で。 すると、tempering (相当の操作)は一回で済む。 <いまここ> 団子「スタートライン」ってこれのことだろ? 次に、「とある値」を集計するだけの目的であれば mt[] を「真面目に」 計算する必要はなくって、かなり端折れる。(仮に、端折って計算した mt[] を pmt[]とする) どの計算が端折れるか、いま計算しているところ。 <もうすぐここ> 最後に、num_rand % 624 の端数ぶんをどう計算するかで手詰まり気味。 pmt[] から mt[] を計算し直そうとすると、mt[] を最初から計算する のとあまりコストが変わらない方法しか思いつかない orz いっそ、mt19937ar.c の mt[] を LS から探してしまおうか。 まず、num_rand % 624 となっている mti を探して、みつかった mt[] から pmt[] を検定する。 どうかな。
|

|