问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用蒙特卡罗方法估算圆周率:从历史到现代计算

创作时间:
作者:
@小白创作中心

使用蒙特卡罗方法估算圆周率:从历史到现代计算

引用
1
来源
1.
https://cn.comsol.com/blogs/estimating-pi-using-the-monte-carlo-method-and-particle-tracing

圆周率(π)是数学和科学领域中最为著名的常数之一,其值约为3.14159。从古至今,人类对圆周率的探索从未停止。本文将带你了解圆周率的历史,并通过一个有趣的方法——蒙特卡罗方法,来估算这个神秘的数字。

历史上对圆周率的近似计算

已知最早的圆周率近似值出现在古代文明中。巴比伦的数学家将圆周率近似为 3,这个数值在当时的建筑工程中是合理的,后来又被精确为 3.1251。埃及的数学家和印度的学者分别通过比较圆形和八边形的面积2,和通过巨量的计算3得出了近似的数值。包括阿基米德在内的一些希腊学者利用几何方法将圆周率的近似值精确到 3 个数量级以内4,使圆周率的计算取得了重大突破。



左图:Domenico Fetti 于 1620 年创作的 Archimedes Thoughtful(又名:Portrait of a Scholar)。图片属于公有领域,通过Wikimedia Commons共享。右图:Leonardo Fibonacci 的肖像。图片属于公有领域,通过Wikimedia Commons共享。

如今我们普遍使用的 3.14 近似值来自中国数学家刘徽,他提出这个近似值的目的是为了实用5。圆周率计算的后续发展涉及无穷级数估算和三角关系的利用。数学家们利用微积分推导出了无穷级数,可用于计算高精度的圆周率,其中Fibonacci和 Al-Khwarizmi 做出了重要贡献。

这些发展为我们使用的现代方法奠定了基础,包括计算机中使用的算法,即通过先进的数学工具和计算能力计算万亿位数的算法,以极高的精度计算圆周率。一些著名的计算方法包括 Chudnovsky 算法、Gauss–Legendre 算法、Machin 公式,以及 Monte Carlo(蒙特卡罗)方法。

通俗易懂的蒙特卡罗方法

蒙特卡罗方法是一种依靠随机抽样来估计数值结果的计算技术,特别适用于包含大量变量的问题。对于这种情况,可以利用内在的随机性来解决确定性问题。想象这样一个场景,你正在为一场聚会计算需要订购多少个披萨。这里的确定性问题是计算每个人要吃多少片披萨。与其询问每个人要吃多少片披萨,然后求和得出结果(这对一个大型聚会来说可能相当麻烦),不如随机挑选几个朋友,询问他们要吃多少片披萨,然后求平均值来解决问题。这有点像蒙特卡罗方法,即使用随机样本来估计一个值。蒙特卡洛法被广泛用于模拟复杂现象,如流体、统计力学、生物化学、密码学、社会学和心理学。

这种思维可以扩展到现在流行的一种有趣的估计圆周率的方法。这种方法是在一个正方形内随机放置一些点,然后计算有多少点位于正方形内切圆内。圆内的点数与总点数之比可以用来近似计算圆周率。由于内嵌在边长为 2r 的正方形中的圆的面积为 πr²,而正方形的面积为 (2r)²= 4r²,因此它们的面积之比为 π/4。也就是说一个点落在圆内的概率是 π/4。因此,如果我们将圆内点数与总点数之比乘以 4,就可以得到 π 的估计值。这是因为随着点数的增加,比率会趋近于实际值 π/4。


估计圆周率的基础。

使用蒙特卡罗方法估算圆周率

为了进行这个简单的蒙特卡罗模拟,我们可以使用数学粒子追踪接口。虽然这个接口通常用于物理粒子的追踪,但在这里我们将其用于随机生成点。一些粒子被随机释放到一个正方形区域并保持静止。对位于正方形内切圆区域内的粒子数量进行追踪,来获取圆周率的实时估计值。可以看到,随着点数的增加,估计值(蓝色实线)逐渐接近真实值(绿色虚线)。值得注意的是,估计值的精确度并不随点的数量呈线性变化。蒙特卡罗近似的统计误差通常与 1/sqrt(n) 成正比。这意味着,要将误差减少 10 倍,通常需要将点数增加 100 倍。


在随机放置的点数不断增加的情况下,圆周率的实时估计值(蓝色实线)与真实值(绿色虚线)的比较。

通过这个简单的实验,我们可以直观地理解蒙特卡罗方法的基本原理,并感受到数学与计算科学的魅力。这种方法不仅适用于圆周率的计算,还可以应用于更复杂的科学和工程问题中。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号