原创 袁恒
本文介绍了蒙特卡罗算法,蒙特卡罗算法是思想和技巧的艺术品,本文没有算法公式,共2000余字,是领略算法魅力的佳作。
在介绍蒙特卡洛算法之前,请大家先思考一个问题:我们从小学就知道圆的面积
(其中是圆的半径),可是这个π是怎么计算的呢?带着这个疑问,ARGO今天跟大家一起学习蒙特卡罗算法,本文将分成四个部分展开:
- 蒙特卡罗算法的简介
- 求圆周率π的python实例演示
- 算法的优缺点
- 算法的应用
一 蒙特卡罗算法简介蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,它是一种思想或者方法的统称,而不是严格意义上的算法。蒙特卡罗方法的起源是1777年由法国数学家布丰(Comte de Buffon)提出的用投针实验方法求圆周率(具体算法见文末的好文推荐),在20世纪40年代中期,由于计算机的发明结合概率统计理论的指导,从而正式总结为一种数值计算方法,其主要是用随机数来估算计算问题。蒙特卡罗算法基本思想
投针实验这个例子有点晦涩,换个简单的图文并茂的例子--求圆周率。计算圆周率时可以考虑将一个单位圆放在一个正方形中,从而将求解圆周率转化为计算出圆和正方形面积的比例。