数模算法-蒙特卡洛算法
2017-09-02 23:49
288 查看
数模算法-蒙特卡洛算法
简单介绍
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
相关文章推荐
- 算法与数模
- Matlab 数学建模之算法笔记(1)--蒙特卡洛算法
- 蒙特卡洛算法(转 用来说明算法导论题目!!!)
- Monte Carlo蒙特卡洛算法经验与UCB算法与UCT算法
- 十大算法包含蒙特卡洛算法
- 朴素贝叶斯算法
- 程序设计与算法 第六周测验
- 倒水问题(算法挑战)
- poj 3164 最小树形图模板题目,朱刘算法
- MapReduce的模式、算法和用例
- 常用推荐算法性能比较
- 蓝桥杯--算法提高 我们的征途是星辰大海 (模拟)
- 1.2算法基本举例(下篇)
- 最大熵模型及其算法
- Levenshtein 算法:相似度--模糊查询,数据匹配
- 蓝桥杯 算法提高VIP 种树(Java解题)
- [置顶] 与位运算相关的编程算法技巧的总结java实现
- 算法(6)3Sum Closest
- 算法设计与分析 合并排序的递归实现算法
- 各种加密和解密算法的实现