蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,它是一种思想或者方法的统称,而不是严格意义上的算法。蒙特卡罗方法的起源是1777年由法国数学家布丰(Comte de Buffon)提出的用投针实验方法求圆周率(具体算法见文末的好文推荐),在20世纪40年代中期,由于计算机的发明结合概率统计理论的指导,从而正式总结为一种数值计算方法,其主要是用随机数来估算计算问题。; U: X# Q0 g7 A' F/ h
蒙特卡罗算法一般分为三个步骤,包括构造随机的概率的过程,从构造随机概率分布中抽样,求解估计量。 - _% r K: k% O. z$ R* e( ~5 O0 Q' M- R1 O4 J
1 构造随机的概率过程. C; Z) Y {3 n4 q, g
对于本身就具有随机性质的问题,要正确描述和模拟这个概率过程。对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程了。它的某些参数正好是所要求问题的解,即要将不具有随机性质的问题转化为随机性质的问题。如本例中求圆周率的问题,是一个确定性的问题,需要事先构造一个概率过程,将其转化为随机性问题,即豆子落在圆内的概率,而π就是所要求的解。 E+ |& y/ ^% j
5 k3 S9 i3 G9 x2 从已知概率分布抽样! t7 Q! j6 d: V8 R7 y8 R9 w0 N
由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量,就成为实现蒙特卡罗方法模拟实验的基本手段。如本例中采用的就是最简单、最基本的(0,1)上的均匀分布,而随机数是我们实现蒙特卡罗模拟的基本工具。' g9 m' t0 { _% Q, A6 A0 G' c* M