蒙特卡罗算法求π
type
status
date
slug
summary
tags
category
icon
password
Monte Carlo算法的基本思想是: 以模拟的”实验”形式、以大量随机样本的统计形式,来得到问题的求解。比如,求圆周率,以数学的方式是非常复杂的,但是我们可以以简单的形式去求解:

假设,现有半径r=1的圆,如图,我们在正方形内,随机落点,统计落在1/4圆内的点和总点数量的比例即可得到1/4的PI(由圆的面积公式可得,半径为1的圆面积为:π),最终乘以4即可得到PI。
比如,红色点的数量比全部点的数量,结果是0.765,那么乘以四可以得到3.06,3.06就是求得的π。所以,此方法,需要大量的样本(落点),样本越多越精准
代码实现,如下:
- GitTalk