一 随机模拟(蒙特卡罗算法)
一 随机模拟法
随机模拟法也叫蒙特卡罗法,它是用计算机模拟随机现象,通过大量仿真
试验,进行分析推断,特别是对于一些复杂的随机变量,不能从数学上得到它
的概率分布,而通过简单的随机模拟就可以得到近似的解答。M onte Carlo 法也
用于求解一些非随机问题,如重积分、非线性方程组求解、最优化问题等。需
要指出的是,Monte Carlo 计算量大,精度也不高,因而主要用于求那些解析方
法或常规数学方法难解问题的低精度解,或用于对其他算法的验证。
蒙特卡罗方法的基本思想是:当所求解问题是某种随机事件出现的概率,
或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的
频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将
其作为问题的解。
在解决实际问题的时候应用蒙特·卡罗方法主要有两部分工作:
用蒙特卡罗方法模拟某一过程时,需要产生各种概率分布的随机变量。
用统计方法把模型的数字特征估计出来,从而得到实际问题的数值解。
使用蒙特卡罗方法进行分子模拟计算是按照以下步骤进行的:
使用随机数发生器产生一个随机的分子构型。
对此分子构型的其中粒子坐标做无规则的改变,产生一个新的分子构型。
计算新的分子构型的能量。
比较新的分子构型于改变前的分子构型的能量变化,判断是否接受该构型。
若新的分子构型能量低于原分子构型的能量,则接受新的构型。
若新的分子构型能量高于原分子构型的能量,则计算玻尔茲曼常数,同时产生
一个随机数。
若这个随机数大于所计算出的玻尔兹曼因子,则放弃这个构型,重新计算。
若这个随机数小于所计算出的玻尔兹曼因子,则接受这个构型,使用这个构型
重复再做下一次迭代。
如此进行迭代计算,直至最后搜索出低于所给能量条件的分子构型结束。
二 随机模拟法应用实例
考虑二重积分 ,其中
根据几何意义,它是以 为曲面顶点,A 为底的柱体 C 的体积。用下
列简单思路求 I 的近似值:假设 C 被包在几何体 D 的内部,D 的体积为已知,
若杂 D 内产生 1 个均匀分别的随机数,那么
P(随机数落在 C 内) C 的体积/D 的体积
现产生在 D 内 N 个均匀分别的随机数,若其中 在 C 的内部,那么
I D 的体积 ,
从而求得 I 的解。试用这一方法计算积分