随机模拟

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

随机模拟(蒙特卡罗算法)

一 随机模拟法

随机模拟法也叫蒙特卡罗法,它是用计算机模拟随机现象,通过大量仿真试验,进行分析推断,特别是对于一些复杂的随机变量,不能从数学上得到它的概率分布,而通过简单的随机模拟就可以得到近似的解答。M onte Carlo 法也用于求解一些非随机问题,如重积分、非线性方程组求解、最优化问题等。需要指出的是,Monte Carlo 计算量大,精度也不高,因而主要用于求那些解析方法或常规数学方法难解问题的低精度解,或用于对其他算法的验证。

蒙特卡罗方法的基本思想是:当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。

在解决实际问题的时候应用蒙特·卡罗方法主要有两部分工作: 用蒙特卡罗方法模拟某一过程时,需要产生各种概率分布的随机变量。 用统计方法把模型的数字特征估计出来,从而得到实际问题的数值解。

使用蒙特卡罗方法进行分子模拟计算是按照以下步骤进行的:

使用随机数发生器产生一个随机的分子构型。

对此分子构型的其中粒子坐标做无规则的改变,产生一个新的分子构型。 计算新的分子构型的能量。

比较新的分子构型于改变前的分子构型的能量变化,判断是否接受该构型。 若新的分子构型能量低于原分子构型的能量,则接受新的构型。

若新的分子构型能量高于原分子构型的能量,则计算玻尔茲曼常数,同时产生一个随机数。

若这个随机数大于所计算出的玻尔兹曼因子,则放弃这个构型,重新计算。 若这个随机数小于所计算出的玻尔兹曼因子,则接受这个构型,使用这个构型重复再做下一次迭代。

如此进行迭代计算,直至最后搜索出低于所给能量条件的分子构型结束。

二 随机模拟法应用实例

考虑二重积分(,)A

I f x y dxdy =⎰⎰,其中(,)0,(,)f x y x y A ≥∀∈

根据几何意义,它是以(,)f x y 为曲面顶点,A 为底的柱体C 的体积。用下列简单思路求I 的近似值:假设C 被包在几何体D 的内部,D 的体积为已知,若杂D 内产生1个均匀分别的随机数,那么

P(随机数落在C 内)≈C 的体积/D 的体积

现产生在D 内N 个均匀分别的随机数,若其中c N 在C 的内部,那么 I ≈ D 的体积/c N N ⨯,

从而求得I 的解。试用这一方法计算积分

221x y I +≤=

⎰⎰

相关文档
最新文档