ひだかです。
dune <FZH01112@...> wrote:
> 極悪です。
>
> HIDAKA Takahiro さんの [TSperl:58] Re: Let's野ぷ野ぷ(その3) から
>
> > length $p = 2 とかを考えると、有効桁数2桁のπを
> >求められてはいないですよね。。
> 大丈夫です。等間隔メッシュ版を計算中のままほっといて寝たのですが、
> 今見たら
> 意外とイケてそう。3.1414592 まで正しいです(これで 5 時間)。
なるほど。9桁目までは試したんですけど(^_^;
> > そうすると、いくら繰り返しを多くしても、同じ点列からは
> >同じ結果しか生まれないような気がします。点列の周期が長いMTを
> >使ったとしても、結果として統計処理で平均をとるようなものなので
> >結果的に同じことになるような。
> 目から鱗でした。乱数を使ってる場合、点の数が乱数の周期よりも多く
> なるとそれ以上やっても無駄なんですね。ぜんぜん思いつかなかった。
いや、それだけじゃなくて、例えば RAND_MAX が 2^15 の
環境で、rand() / (RAND_MAX + 1.0) で 0 〜 1 の乱数を求めているの
だとすると、どうがんばっても rand() として 0 〜 32767 しか
出てこなくて、結果として 32768 通りの数値しか取得できない場合が
ありますよね。
このときでも、周期性としては 2^100 の乱数だって作れるはず
ですが、モンテカルロ法としては、 32768 回以上の繰り返しは
無意味になるはずじゃないかと思ったのです。
> > モンテカルロ法で8桁とかの有効精度を出そうとするのも
> >厳しいような気もします。収束としては極めて遅いアルゴリズムだと
> >思うので。
> 事典を見たら、モンテカルロの誤差は 1/√{乱数の数} だって書いて
こちらもなるほどです。直感的にそんな気はしたんですが
事典に載っているようなら一安心ですね(←こらこら)
> ありました。8 桁出そうと思ったら 1/10^8 を目指すことになるから、
> 周期が 10^16 以上の乱数が必要? 停電が怖いからもう止めよっと。
上記のように、乱数の有効桁数も10^16以上でないとダメなような
気がします。drand48 でも 2^48 なので足りないことになるような。
--
ひだかたかひろ cv8t-hdk@...-net.or.jp