• 締切済み

モンテカルロ法の名前の由来

 モンテカルロ法は、 乱数を用いて、 近似解を求めたり、危険度を算定する手法であると認識しています。  この名前は、 モナコ公国のモンテカルロに由来しているようですが、 なぜでしょうか?

みんなの回答

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.3
  • htms42
  • ベストアンサー率47% (1120/2361)
回答No.2
回答No.1

シミュレーションとして簡単に考え単純に 乱数発生>サイコロ>賭博(ギャンブル)>カジノ>モンテカルロ って発想ではないでしょうか?

関連するQ&A

  • モンテカルロ法

    モンテカルロ法を使って計算を行う際に、 ある方法を用いて乱数列を発生させ、それを用いて行いました。 この乱数列は50の区分に分けた後、 カイ2乗分布による危険率1%の頻度検定 に合格したものを用いたのですが、 これではモンテカルロ法による計算を行うには 正しいとはいえないとのことでした。 これはなぜなのでしょうか。 確かに、50区分の頻度検定だけでは、 極端な話、周期50の数列がちょうど50区分に分かれて発生していて 結果として一様乱数となっているような場合も考えられます。 それでは、周期が計算に必要な乱数の数に対して十分に大きいとき、 モンテカルロ法として正しいと言えるようになるのでしょうか? 解説をよろしくお願いします。

  • モンテカルロ法の面積近似

    Mが2の32乗の、線形合同法で乱数を発生し、 モンテカルロ法を使って、 領域a = {(x,y)|x≧1,y≧2,(x-1)^2 + (y-2)^2 ≦1}の面積の近似値を計算するプログラムを作成し、これを利用してn=10000とした場合の上の領域の面積、および円周率πの近似値を求めよ。 (関数を使う) という課題が出たのですが、乱数の出し方?が変であまり近似されません(^_^;) どなたかどこが変か教えてください(>_<) これだと、2と4になってしまうんです(/_;) #include<stdio.h> #include<stdlib.h> #include<math.h> #define N 100 /*領域Rを含む面積T 領域R=求める面積*/ #define Nx 1 #define Ny 2 /*乱数を発生させる関数*/ unsigned long int random_g(unsigned long int x0, unsigned long int a, unsigned long int c); int main(){ unsigned long int x0, a, c, M; double x, y, s; int n, count_in, count_out; count_in = 0; count_out = 0; printf("x0: ", x0 ); scanf("%d", &x0); a = 61; c = 49; for(n = 0; n < 10000; n++){ /*乱数を発生*/ x = (random_g(x0, 4*a*n+1, c) / (double)4294967296)*Nx + 1; y = (random_g(x0, 4*a*n+1, c) / (double)4294967296)*Ny + 1; if(x >= 1 && y >= 1 && pow(x-1, 2) + pow(y-2, 2) <= 1) count_in++; else count_out++; } s = (double)count_in/(count_in + count_out)*Nx*Ny; printf("s = %f\n", s); printf("pi = %f\n", 2*s); return 0; } unsigned long int random_g(unsigned long int x0, unsigned long int a, unsigned long int c){ int i; x0 = (a*x0 + c); /*printf("%u\n", x0);*/ return x0; }

  • 2体衝突近似について

     イオンをターゲットに注入する、イオン注入(インプラ)のシミュレーションを行おうと考えています。市販のソフトで有名なものは、“TRIM”や“SRIM”、また最近では“SASAMAL”というものがあると聞いています。この中で用いられている手法は「2体衝突近似」と呼ばれるモンテカルロ法の一種らしいですけど、どなたかこれに関する詳しい書籍・論文等ご存知の方はおりますでしょうか?  また、“TRIM”のソースコードは公開されていると聞いたのですが、ネット上で手に入るものなのでしょうか? 宜しくお願いいたします。

  • モンテカルロ法

    I=∫ f(x) dx (0から1までの定積分)を評価するために、一様分布U(0,1)に従うU1,...,Unを用いてIn=1/n(f(U1)+...+f(Un))を計算した。 a)E[In],V[In]を求めよ。 b)f(x)=xe^xとして、Inの相対誤差が5%以下になる確率を90%とするには、nをいくらにすればよいか。 ヒント(In-E[In]/sqrt(V[In]) ~ N(0,1)としてよい) とあって、非常に基本的な問題で申し訳ないのですが、a)がよくわかりません。意味的にn->∞の時、E[In]=Iであることはわかるのですが、a)はE[In]=Iとしてよいのでしょうか?

  • モンテカルロ法

    固体中の電子の軌道をモンテカルロ法によってシミュレーション計算するということについて知っていることがあれば教えてください。

  • モンテカルロ法

    モンテカルロ法で円周率の推定値を計算することを最近習ったのですが、定積分でもそれが可能なのを知り、どうやってプログラムを組めばいいのか分からず、困っています。 例えば、定積分∫[0→1]x^2dx=1/3~0.333([0→1]というのは、積分範囲です。)をモンテカルロ法で計算すると、どういうプログラムを組めばいいのでしょうか? わかる範囲で書いてみたのですが…積分の範囲をどうやってプログラミングすればいいのか、いまいち分かりませんでした。 教えていただけると、助かります。よろしくお願いします。 RANDOMIZE INPUT n SET WINDOW -0.1, 1.1, -0.1,1.1 DRAW grid SET POINT STYLE 1 LET sumin=0 FOR i=0 TO n LET x=RND LET r=x*x SET POINT COLOR 2 ! PRINT USING "(%.####, %.####)": x,y; PLOT POINTS: x,y; NEXT i PRINT sumin;n PRINT sumin/n END

  • モンテカルロ法とは?

    モンテカルロ法という言葉をたまに耳にするのですが 試行錯誤法とどこが異なるのでしょうか? 検索してみてもどうも同じ手法のように思えて仕方がないのですが。 お願い致します。知っている人がいたら教えてください。

  • モンテカルロ法について

    SPh法を使って、シミュレーションをしようと思ってます。プログラムで粒子を球状に分布させようとしているのですがうまくいきません。どのように書けばいいか教えてください。Fortranを使っています。

  • モンテカルロ法

    1000人同時にじゃんけんをする場合どのような プログラムにすればいいでしょうか? javaプログラムです

  • モンテカルロ法

    モンテカルロ法で円(半径y=1、x=2の楕円)の面積を求める計算なのですが、 http://www.geocities.co.jp/SiliconValley-SanJose/8366/kihonC.html このURLのプログラムについて、 ソースプログラムの15行目をxの半径が2なので、”2*”となっているのは分かるのですが、 ・17行目でx*xを4で割ることの意味 (2x*2xとなるから4で割ってるのかなとか漠然とは思うのですが、理解をつめたいです。。) ・20行目でinを2倍している意味 を教えていただきたいです。 よろしくお願いいたします。