蒙特卡洛方法(Monte Carlo Method)
2017-07-08 21:31
417 查看
蒙特卡洛方法(Monte Carlo Method)
特卡罗法(Monte Carlo method)是以概率与统计的理论、方法为基础的一种计算方法,蒙特卡罗法将所需求解的问题同某个概率模型联系在一起,在电子计算机上进行随机模拟,以获得问题的近似解。因此,蒙特卡罗法又称随机模拟法或统计试验法。二十世纪四十年代中期,由于科学技术的发展和电子计算机的发明,蒙特卡洛方法作为一种独立的方法被提出来,并首先在核武器的试验与研制中得到了应用。但基本思想并不新颖,人们在时间和科学试验中就已发现,并加以利用。
基本思想
当所求问题的解是某个事件的概率,或者某个随机变量的数学期望,或者是与概率、数学期望有关的量时,通过某种试验的方法,得出该事件发生的概率,或者该随机变量若干个具体观察值的算术平均值,通过它得到问题的解。这就是蒙特卡洛方法的基本思想。
现实问题中的蒙特卡洛方法的应用
估计圆周率PI,由大数定理知:在试验不变的条件下,重复试验多次,随机事件的频率近似于它的概率。偶然中包含着某种必然。我们知道正方形内接圆的面积与正方形面积之比正好为PI/4,假设向正方形区域撒芝麻,且每一粒芝麻出现在正方形内任意位置的概率是相等的,当向正方形内撒入的芝麻数量充分大时,落入正方形内接圆中的芝麻数量与所有落入正方形内芝麻数量之比近似等于正方形内接圆面积与正方形面积之比(亦即芝麻落入正方形内时,刚好落入正方形内接圆的概率),如图所示。
代码如下:
运行结果:
特卡罗法(Monte Carlo method)是以概率与统计的理论、方法为基础的一种计算方法,蒙特卡罗法将所需求解的问题同某个概率模型联系在一起,在电子计算机上进行随机模拟,以获得问题的近似解。因此,蒙特卡罗法又称随机模拟法或统计试验法。二十世纪四十年代中期,由于科学技术的发展和电子计算机的发明,蒙特卡洛方法作为一种独立的方法被提出来,并首先在核武器的试验与研制中得到了应用。但基本思想并不新颖,人们在时间和科学试验中就已发现,并加以利用。
基本思想
当所求问题的解是某个事件的概率,或者某个随机变量的数学期望,或者是与概率、数学期望有关的量时,通过某种试验的方法,得出该事件发生的概率,或者该随机变量若干个具体观察值的算术平均值,通过它得到问题的解。这就是蒙特卡洛方法的基本思想。
现实问题中的蒙特卡洛方法的应用
估计圆周率PI,由大数定理知:在试验不变的条件下,重复试验多次,随机事件的频率近似于它的概率。偶然中包含着某种必然。我们知道正方形内接圆的面积与正方形面积之比正好为PI/4,假设向正方形区域撒芝麻,且每一粒芝麻出现在正方形内任意位置的概率是相等的,当向正方形内撒入的芝麻数量充分大时,落入正方形内接圆中的芝麻数量与所有落入正方形内芝麻数量之比近似等于正方形内接圆面积与正方形面积之比(亦即芝麻落入正方形内时,刚好落入正方形内接圆的概率),如图所示。
代码如下:
/**************************************** * Monte Carlo Method for calculating PI * * By chyeer 2017/07/08 *****************************************/ #include #include using namespace std; #define MAX_ITER 1e8 double randBetweenLandR(double left, double right){ return left + (right - left)*1.0*rand()/RAND_MAX; } double GetPi(){ double x, y; int cnt = 0; for(size_t i=0; i
运行结果:
相关文章推荐
- 蒙特卡洛方法 (Monte Carlo Method)
- (转)Monte Carlo method 蒙特卡洛方法
- java算法3_蒙特卡洛方法(Monte Carlo method)求PI和椭圆面积
- 蒙特卡罗方法(Monte Carlo method)浅入
- 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)
- 蒙特·卡罗方法(Monte Carlo method)
- 蒙特卡罗方法 Monte Carlo method
- 蒙特卡罗方法(Monte Carlo method)
- Monte Carlo Sampling Methods-- 蒙特卡洛采样方法
- 增强学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)
- Monte Carlo method——现代工程支柱
- 增强学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)
- Monte Carlo Method for simulation
- 蒙特卡罗方法(Monte Carlo Methods)
- 增强学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)
- Markov Chain - Monte Carlo method and Gibbs Sampling for Latent Dirichlet Allocation
- 增强学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)
- 增强学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)
- 强化学习中的蒙特卡洛(monte-carlo)算法和时序差分算法
- Monte Carlo method