第一阶段:算法 ——蒙特卡洛算法 蒙特卡罗方法(MC)(Monte Carlo): 蒙特卡罗(Monte Carlo)方法,或称计算机随机模拟方法,是一种基于“随机数”的计算方法。这一方法源于美国在第二次世界大战进行研制原子弹的“曼哈顿计划”。该计划的主持人之一、数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。 蒙特卡罗方法的基本原理及思想如下: 当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。这就是蒙特卡罗方法的基本思想。蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。 可以把蒙特卡罗解题归结为三个主要步骤: 构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。 例. 蒲丰氏问题 为了求得圆周率π值,在十九世纪后期,有很多人作了这样的试验:将长为2l的一根针任意投到地面上,用针与一组相间距离为2a( l<a)的平行线相交的频率代替概率P,再利用准确的关系式: P2l2l2lN 求出π值 apaan其中N为投计次数,n为针与平行线相交次数。这就是古典概率论中著名的蒲丰氏问题。 一些人进行了实验,其结果列于下表 : 实验者 沃尔弗(Wolf) 斯密思(Smith) 福克斯(Fox) 拉查里尼年份 1850 1855 1894 1901 投计次数 5000 3204 1120 3408 π的实验值 3.1596 3.1553 3.1419 3.1415929 )来描述,x (Lazzarini) 设针投到地面上的位置可以用一组参数(x,θ 为针中心1 的坐标,θ为针与平行线的夹角,如图所示。 任意投针,就是意味着x与θ都是任意取的,但x的范围限于[0,a],夹角θ的范围限于[0,π]。在此情况下,针与平行线相交的数学条件是 如何产生任意的(x,θ)?x在[0,a]上任意取值,表示x在[0,a]上是均匀分布的,其分布密度函数为: 1/a,0xa f1(x)其他0, 1/,0 类似地,θ的分布密度函数为: f2()其他0, 因此,产生任意的(x,θ)的过程就变成了由f1(x)抽样x及由f2(θ)抽样θ的过程了。由此得到: xa1 2 其中ξ1,ξ2均为(0,1)上均匀分布的随机变量。 每次投针试验,实际上变成在计算机上从两个均匀分布的随机变量中抽样得到(x,θ),然后定义描述针与平行线相交状况的随机变量s(x,θ),为 1,当xlsins(x,) 0,其他 如果投针N次,则 1N sNs(xi,i)Ni1 P s(x,)f1(x)f2()dxd 是针与平行线相交概率P的估计值。事实上,dlsindx 2l00 aa2l2l 于是有 aPasN 2 针在平行线间的位置 本文来源:https://www.wddqw.com/doc/bfbfa02d26284b73f242336c1eb91a37f11132b6.html