数模算法-蒙特卡洛算法

数模算法-蒙特卡洛算法

简单介绍

1946年,美国拉斯阿莫斯国家实验室的三位科学家John von Neumann,Stan Ulam 和 Nick Metropolis共同发明了蒙特卡罗方法。
此算法被评为20世纪最伟大的十大算法之一。

定义

在广场上画一个边长一米的正方形,在正方形内部随意用粉笔画一个不规则的形状,求不规则形状面积。
蒙特卡洛(Monte Carlo)方法告诉我们,均匀的向该正方形内撒N(N 是一个很大的自然数)个黄豆,随后数数有多少个黄豆在这个不规则几何形状内部,比如说有M个,那么,这个奇怪形状的面积便近似于M/N,N越大,算出来的值便越精确。在这里我们要假定豆子都在一个平面上,相互之间没有重叠。(撒黄豆只是一个比喻。)
感觉起来是不是很像高中生物书上写的如何得知一片森林里有多少鸟,抓几只,弄上记号,放了,再捉,看下有标记的鸟占第二次抓鸟总数的比例,就可以算出来这篇森林里有多少只鸟。

如何利用蒙特卡洛算法计算圆周率

让计算机每次随机生成两个0到1之间的数,看这两个实数是否在单位圆内。
生成一系列随机点,统计单位圆内的点数与总点数,内接圆面积和正方形面积之比为PI:4,PI为圆周率。
其实可以这么简单的理解圆周率,大家都知道内接正方形的面积是r^2,那么圆的面积该怎么算呢?此时很容易想到,如果我们算圆的面积,以圆的内切正方形为标准,(圆的内切正方形是唯一的,这一点很容易想到),我们能否定义一个简单的比例来算出圆的面积?很幸运的是,这个比例就是派,所以圆的面积是π*r^2

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值