作者: HIDAKA Takahiro
日時: 2002/5/06(08:49)
 ひだかです。

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