上QQ阅读APP看书,第一时间看更新
1.5.2 蒙特卡洛方法
今天被人们经常提及和用到的蒙特卡洛方法,其理论依据就是大数定律。
蒙特卡洛方法是由数学家冯·诺伊曼、乌拉姆等人最早发明的,也称统计模拟方法。蒙特卡洛不是人名,而是摩纳哥的一座城市,它是世界上著名的赌城。蒙特卡洛方法是一种基于概率的计算方法,它将求解问题和概率模型关联起来,不断从总体中抽取随机样本,通过模拟和计算得到近似解。此方法随着计算机技术的发展被迅速普及。
蒙特卡洛方法的原理很朴实,简单来说就是不断抽样,逐渐逼近。比如要计算圆周率π,可以先让计算机模拟一个正方形和里面的一个圆,如图1-2所示。
图1-2 用蒙特卡洛方法计算圆周率示意图
随后让计算机不断模拟向正方形中随机地“撒点”。统计落在圆内的点的数量和所有正方形中点的数量的比值,并将它近似看成是圆形和正方形的面积的比值,即π/4。只要模拟数据点足够多,就能近似计算出圆周率π。模拟的数据越多,计算结果就越逼近真正的π值。蒙特卡洛方法别看原理简单,其实使用起来相当灵活。它能用于很多需要“枚举”的算法,比如下围棋、走迷宫,或计算任何不规则几何图形的面积。