文档库 最新最全的文档下载
当前位置:文档库 › 蒙特卡罗方法及其应用

蒙特卡罗方法及其应用

蒙特卡罗方法及其应用
蒙特卡罗方法及其应用

计算机处理之蒙特卡罗方

法及其应用

【标题】蒙特卡罗方法及其应用

【摘要】

蒙特卡罗方法是一种随即抽样方法,建立一个与求解有关的概率模型或随即现象来求得所要研究的问题的解。这种利用计算机进行模拟的抽样方法以其精度高,受限少等优点广泛应用于数理计算,工程技术,医药卫生等领域。本文介绍蒙特卡罗方法的简要内容,起源,基本思路及应用优点,并简要介绍了一些蒙塔卡罗方法在相关医学方面的应用,并提出了一些今后发展与应用上的展望。

【关键词】

蒙特卡罗方法基本内容应用

【正文】

一蒙特卡罗方法简介

1 概述

蒙特卡罗(Monte Carlo) 方法, 又称随机抽样法,统计试验法或随机模拟法。是一种用计算机模拟随机现象,通过仿真试验,得到实验数据,再进行分析推断,得到某些现象的规律或某些问题的求解的方法。蒙特卡罗方法的基本思想是,为了求解数学、物理、工程技术或生产管理等方面的问题,首先建立一个与求解有关的概率模型或随机

过程,使它的参数等于所求问题的解,然后通过对模型或过程的观察或抽样试验来计算所求参数的统计特征,最后给出所求解的近似值。

概率统计是蒙特卡罗方法的理论基础,其手段是随机抽样或随机变量抽样。对于那些难以进行的或条件不满足的试验而言,是一种极好的替代方法。蒙特卡罗方法能够比较逼真地描述事物的特点及物理实验过程,解决一些数值方法难以解决的问题,很少受几何条件限制,收敛速度与问题的维数无关。

例如在许多工程、通讯、金融等技术问题中,所研究的控制过程往往不可避免地伴有随机因素,若要从理论上很好地揭示实际规律,必须把这些因素考虑进去。理想化的方法是在相同条件下进行大量重复试验,采集试验数据,再对数据进行统计分析,得出其规律。但是这样需要耗费大量的人力、物力、财力,尤其当一个试验周期很长,或是一个破坏性的试验时,通过试验采集数据几乎无法进行,此时蒙特卡罗方法就是最简单、经济、实用的方法。因此它广泛应用在粒子输运问题,统计物理,典型数学问题,真空技术,激光技术以及医学,生物,探矿等方面。

蒙特卡罗方法研究的问题大致可分为两种类型,一种是问题本身是随机的;另一种本身属于确定性问题,但可以建立它的解与特定随机变量或随机过程的数字特征或分布函数之间的联系,因而也可用随机模拟方法解决,如计算多重积分,求解积分方程、微分方程、非线性方程组,求矩阵的逆等。

2 起源

蒙特卡罗方法的起源可以追溯到18世纪著名的蒲丰问题, 1777年,法国科学家蒲丰(Buffon)提出用投针试验计算圆周率π值的问题。

2.1蒲丰问题

蒲丰问题是一个古典概率问题,在平面上有彼此相距为2a的平行线,向平面任意投一长度为2l的针,假定l

由(2)式可知,要求解π就必须知道p,而采用常用的方法是无法得到p 的,然而,从统计学的角度却可以通过实验来得到p,这就是进行投针实验. 投针实验N次可能有n次针与平行线相交,当N充分大时,可以认为

显然,实验次数N越多, p的近似程度越好。需要指出的是,上述由投针试验求得π的近似值的方法,是进行真正的试验,并统计试验结果,要使获得的频率值与概率值偏差小,就要进行大量的试验,这在实际中,往往难以做到。所以,在现代计算机技术出现之前,用频率近似概率的方法—抑或称为雏形时代的蒙特卡罗方法—并没有得到实质上的应用。

2.2蒙特卡罗方法与蒲丰问题

随着计算机和计算机技术的迅速发展,可以非常方便地利用计算机模拟随机实验。用数值模拟方法代替上述真正的投针实验,是利用均匀分布于( 0, 1)之间的随机数序列,并构造出随机投针的数学模型,然后进行大量的随机统计并求得到π的近似值。

如图1建立坐标系,平面上一根针的位置可以用针中心Ml 的坐标

x和针与平行线的夹角θ来决定,在y方向上的位置不影响相交性质,任意投针,意味着x与θ都是任意取的. 但θ的范围可限于[ 0, π] , x的范围可限于[ 0, a ] ,在这种情况下,针与平行线相交的数学条件是

其次,怎样模拟投针呢? 亦即如何产生任意的[ x,θ] , x在[ 0, a ]任意取值,意味着x在[ 0, a ]上取哪一点的概率都一样,即x的概率密度函数为

由此,产生任意( x, θ)的过程就变为由f1 ( x)抽样x,由f2 (θ)抽样θ的过程,容易得到

式中, ξ 1 , ξ2均为(0, 1)上均匀分布的随机数,只要随机数的均匀性和独立性良好,如此构造的数值模型就很好地模拟了实际试验中的一次投针,并用下式判断是否相交且记录统计结果:

是相交几率p的估计值,这样就实现了用数值方法模拟真正投针实验。

3蒙特卡罗方法的基本思路和特点

用蒙特卡罗方法求解问题时,应建立一个概率模型,使待解问题与此概率模型相联系,然后通过随机试验求得某些统计特征值作为待解问题的近似解,与此相似,在一些物理问题,如核裂变、直流气体放电等过程中,粒子的输运过程及粒子输运总效应,也是可以与某些概率过程联系起来,例如,电子与原子、分子、离子的碰撞过程,实际上就是与碰撞截面有关的概率过程,这样,从数学物理特征来说,类似于用随机投针方法计算π的近似值,确定条件下的核裂变、直流气体放电中粒子的输运过程及粒子输运的总效应可以用多次掷骰子的方法近似求出。

随着现代计算机技术的出现和飞速发展,用计算机模拟概率过程,

实现多次模拟试验并统计计算结果,进而可获得所求问题的近似结果,计算机的大存储量、高运算速度使得在短时间内,获得精度极高且内容丰富的模拟结果,在历史上,也正是原子弹工程研究初期阶段的工作,为模拟裂变物质的中子随机扩散,提出了运用大存储量、高运算速度计算机的要求,这也成为当时推动计算机技术发展的重要动力,也就是在第二次世界大战期间,冯·诺依曼和乌拉姆两人把他们所从事的与研制原子弹有关的秘密工作—对裂变物质的中子随机扩散进行直接模拟—以摩纳哥国的世界闻名赌城蒙特卡罗(Monte Carlo)作为秘密代号来称呼。用赌城名比喻随机模拟,风趣又贴切,很快得到了广泛接受,此后,人们便把这种计算机随机模拟方法称为蒙特卡罗方法。二蒙特卡罗方法在相关医学方面的应用

(一)蒙特卡罗方法在辐射防护中的应用

1 蒙特卡罗方法与MCNP程序

蒙特卡罗方法利用已知的光子反应截面数据, 模拟各种微观物理过程, 通过概率抽样对源粒子的行为进行跟踪, 决定每次碰撞后次级粒子的运动方向和速度。根据需要对相应的物理量进行统计, 逐次跟踪下去, 就可以得到所需的结果。该方法相当于一种计算机模拟实验。

由于射线与物体作用是一个随机过程, 所得到的宏观物理量又是一个统计值, 对复杂条件下辐射场的计算, 射线衰减与散射过程及空间物质的几何分布有关, 做准确的解析困难很大。在这种情况下, 蒙特卡罗方法是很有效的求解方法。

在反应堆及实验装置中, 常用吸收性很强的物质作为中子和光子的屏蔽材料, 求中子或光子经过不同介质, 不同厚度的屏蔽层后的穿透概率和能量分布。当屏蔽物的形状复杂, 散射各向异性, 材料介质不均匀, 核反应截面与能量、位置有关时, 迁移方程难以用数值方法求解, 用蒙特卡罗方法能够得到满意的结果。因此, 可将蒙特卡罗方法应有于辐射屏蔽防护上。

我们采用MCNP作为计算程序。MCNP是一个大型多功能的蒙特卡罗计算程序, 可处理复杂场所三维几何结构的中子- 光子耦合输运问题。MCN P 具有较强的通用性, 在源描述、空间物质的几何分布上具有很大的灵活性, 可处理任意三维几何结构问题, 适用面宽, 现已用于射线无损检测系统、辐射屏蔽、核仪器设计和保健物理等许多问题上。它可以很好的用于跟踪计算、决定辐射剂量、物理实验模拟、辐射屏蔽防护上。对光子的输运问题,MCNP详细处理了各种微观物理过程。

MCNP程序通过一个输入文件IN P 和有关元素的截面数据文件对物理问题进行计算。输入文件包括描述问题所必需的全部信息, 由包含不同输入信息的数据卡片组成, 卡片具有指定的格式。在每一卡片中填写量化的数据信息。输入卡片按类主要分为栅元卡、曲面卡、数据卡三个部分。栅元卡和曲面卡描述物体分布的空间几何信息, 每一个几何体通过栅元由描述几何体各表面的曲面按一定关系构成, 空间几何越复杂, 需要的曲面卡和栅元卡就越多。数据卡包括问题(光子、中子) 类型、栅元物理参数、曲面物理参数、源描述、材料描述、

结果计数描述、问题截断条件等。另外还有一些专门的数据卡片提供降低方差、减少计算所需时间的技巧方法。使用该程序主要是对它的输入卡IN P 的记录形式、计算结果输出、误差估计、减少相对误差技巧的掌握。减小相对误差的主要方法有: (1) 增加输运粒子数; (2)强迫碰撞; (3) 增加粒子的重要性; (4) 源偏倚; (5) 使用能量截断卡。运用这些方法可使在运行相同粒子数情况下的相对误差降低。

2 蒙特卡罗方法的优势

蒙特卡罗方法在辐射防护领域的应用是该方法的重要的应用领域之一。由于受物理条件的限制, 为了得到所求结果, 必须借助理论计算。蒙特卡罗方法具有逼真地描述真实的物理过程的特点。具体地说, 蒙特卡罗方法具有以下几个方面的优势:

一、由于某些核实验或者工程项目耗资巨大且需要很长的时间, 而在理论上又无法进行推导, 利用蒙卡方法可有效节省资金和时间。

二、由于蒙卡方法是利用计算机进行模拟实验, 可有效避免放射性物质对环境的污染。

三、对于有些实验, 可通过对模拟结果和实验结果的比较,达到减小误差的目的。对于外照射防护, 一般采取下面三种方法中的一种, 或几种联合应用: 1、缩短受照时间; 2、增大与辐射源之间的距离; 3、在人与辐射源之间增加辐射屏蔽。辐射屏蔽在辐射防护领域占有相当重要的地位, 用MCN P 程序进行屏蔽计算, 最重要的就是要设置好粒子源和粒子探测器, 在输入文件中要设定好源项和计数卡, 在计

数卡设定好粒子探测器的种类、位置。

(二)蒙特卡罗方法在光动力疗法中的应用

光动力疗法( photodynamic therapy, PDT)利用光敏剂受光激发,诱发化学反应产生光毒性物质,选择杀伤病变组织。蒙特卡罗方法计算大量光子迁移轨迹,统计复杂几何形状非均匀生物组织模型光子宏观能量分布,建立两种不同光学参数组织光动力剂量数学模型,可提供分析光动力疗法选择性损伤新途径。

蒙特卡罗方法认为光子与悬浮粒子碰撞,步长和方向改变遵循统计规律。逐个计算大量光子迁移轨迹,统计光子宏观能量分布。利用光动力剂量,光敏剂浓度和能量分布之间关系,建立光动力剂量数学模型。模拟过程中,假定氧是充足的,忽略它对组织光学性质影响;忽略光敏剂滞留对组织光学参数影响,有研究证明, 光敏剂滞留使吸收系数只增加0. 01cm- 1 cm;忽略光漂白效应对光敏剂的影响。光损伤是个阈值现象,每条光动力剂量曲线可被视为阈值曲线。增加光剂量(或光敏剂浓度)使损伤阈值向组织深处移动,表现为光动力剂量曲线向纵深发展。用组织坏死光动力剂量阈值评价模型中选择性损伤程度。光动力疗法对肿瘤组织损伤程度与光敏剂剂量和光子能量分布有关。

采用蒙特卡罗方法,利用光动力剂量、光敏剂浓度和能量分布之间关系,建立两种不同光学参数组织光动力剂量数学模型,研究

光动力疗法中选择性光损伤。蒙特卡罗方法逐个计算大量光子迁移轨迹,统计嵌于正常组织的肿瘤中光子宏观能量分布。相比正常组织,

肿瘤组织表现出较高吸收率。利用损伤阈值衡量光动力疗法选择性损伤程度。光动力剂量数学模型研究光剂量和光敏剂浓度相互制约关系,提供分析光动力疗法选择性损伤新途径。

(三)蒙特卡罗方法在肿瘤放射物理学中的应用

粒子与物质相互作用时服从统计学规律,发生作用的位置、作用的形式(如对光子而言,有光电效应、康普顿效应、电子对效应),

发生作用后粒子可能被吸收或散射,散射粒子的运动方向和能量、2

次作用位置间的距离等参数均是随机变量。蒙特卡罗方法可以模拟粒子与物质相互作用的全过程,通过模拟10万甚至100万个粒子的输运

过程,就可以比较精确地计算出粒子束与物质相互作用的宏观特征,

如注量分布、吸收剂量分布。用蒙特卡罗方法解粒子输运问题一般包括3个过程:源分布抽样过程,产生粒子的初始状态;空间、能量和运动方向的随机游动过程,产生粒子的运动状态序列;记录贡献与分析结果,记录每个粒子对所求量的贡献并分析所求量的误差。蒙特卡罗方法的优点是可以处理粒子疏运的各种复杂情况。

(四)蒙特卡罗方法确定生物组织体内的温度分布

利用计算机技术进行生物组织体内温度场的实时模拟和重构

是当前生物医学工程领域研究的热点,也是激光医学研究的热点。由于生物组织兼含固体、液体和气体,因此其热传递包括传导、对流和辐射等多种方式。有关生物组织热传递的研究,可以溯源到1948 年Pennes将人体手臂简化为圆柱模型,并建立了所谓“生物传热方程”。在激光医学及其技术的应用中,人们普遍感兴趣的是激光辐照靶组织

诱发热传递的宏观表现,这时热传导起主要作用,组织体内热辐射和

对流对温度场的影响可以忽略,即便这样,由于生物组织结构的复杂性,特别是边界条件的复杂性,基于Pennes 思想的热传递方程一般只能采用数值近似的有限差分法(FDM) 、有限元法(FEM)和边界元素法(BEM)等进行求解。近年来,这些方法已成功地被运用于求解激光辐照生物组织诱发温度分布等相关问题。然而这些数值分析方法都存在局限性,即必须同时求解整个研究区域,并还必须处理复杂的生物体几

何特征与生物体的属性,编程相对复杂,计算耗时,从而影响了它们在临床上的实际应用。

Haji 等率先提出基于蒙特卡罗思想的概率方法求热传导方程,随后Kowsary 等成功地把这种方法应用于各向异性热传导方程的求解,最近Deng 等人则把这种思想运用于生物热传递方程的求解。与传统的数值分析方法相比较,蒙特卡罗方法求解时对研究对象的维度和几何细节依赖小,如采用蒙特卡罗方法可以独立于空间内的其它点而单独获取其一期望点的解,这对于只要分析或求解一些孤立点温度的情形尤其有用,因此这种方法很适合运用于生物组织热传递的分析和求解,特别是联合红外热成像技术无损获取组织体表面的温度分布,

可以实现由体表温度分布重构和反演生物组织体内的温度场。

(五)蒙特卡罗方法在X荧光无损分析分析中的应用

同位素源激发X 射线荧光分析(X—rayfluorescence analysis),XRF胙为微量元素分析工具,以其设备简单、操作方便、灵敏度高、多元素同时分析和对样品非破坏性分析等优点,在环境科

学、生物医学、地质、冶金、考古等许多领域内都得到了广泛地应用。然而,受基体吸收和增强的影响,常规XRF无损分析(直接测试)因找不到准确可靠的、同类物质的标准参考物质进行比较,致使所测结果不准确;很多文献采用PIXE(Proton inducedX—ray emission)进行无损分析,适当提高了分析结果精度,但PIXE需启动运行费用很高的加速器,不经济也不能推广为常规实验方法。可见,研究提高XRF样品无损分析准确度问题具有重大的现实意义。

XRF在样品无损分析中的关键技术就是如何配制与待测样品在化学组成和物理形状上相同或相近的标准样品。由于待测样品各种各样、成分复杂、形态各异,很难通过实验手段实现。蒙特卡罗方法具有能够逼真地描述具有随机性质的事物的特点及物理实验过程、受几何条件限制少、收敛速度与问题的维数无关、能够同时计算多个方案和多个未知量、误差容易确定、程序结构简单且易于实现等优点,可以很方便地解决这一难题。

国内外许多研究者都曾经尝试过把蒙特卡罗方法应用于XRF 中,且都对各模拟过程的散射增强影响给出了定量估计。但上述研究者都只是停留在方法的探讨上,还未有人将这一方法推广到珍贵样品的无损定量分析领域,用来解决XRF在样品无损定量分析时标准样品难制、直接测试精度不够的难题。

(六)蒙特卡罗方法模拟量表

量表作为测量工具广泛应用于医疗卫生领域的研究。在量表设计过程中, 应答条目的级数以及条目数量是影响信度的重要因素。

若以蒙特卡罗(Monte Garlo) 方法研究二者对内部一致性信度的影响, 首先需要模拟出符合一定要求的矩阵以表示各条目的测量得分。由MA THWORK 公司推出的MA TLAB 是建立在向量、数组和矩阵上的软件,利用它所提供的各种函数可以比较容易地产生出符合研究要求数据阵。

下面介绍第一军医大学有关人员利用自编程序做的相关研究。

1对数据阵的要求

1.1 假设量表中的应答条目是一长100mm 的直线, 各个被测者

在各条目上的得分是0~ 100 的正整数。

1.2 如果量表各条目均数能准确测量被测症状, 则每个条目的

得分应与被测症状在人群中的分布相同或相似, 除非许多条目设计的不合理, 不能测量出实际被测特征。以被测特征呈正态分布为例, 假设所设计的量表所有条目在某被测人群中测量的平均得分服从均数为50、标准差为16.7的正态分布,则某个条目在该被测人群的平均得分亦应服从或近似服从正态分布, 且均数不会偏离50太远。

1.3 为使该量表的内部一致性信度系数足够大, 各列数据两

两间应有一定的正相关性。

2 产生数据阵

2.1 用下式估计所需的样本容量

该研究取用自编程序1 作图。

若取内部一致性信度= 0. 8~ 0. 9 (以下称原始信度) ,则取样本容量n= 180。

2.2 用e= normrand(50,16.7,180,1) 产生一列共180 个服从均数为50、标准差为16.7 的正态分布的数据。

2.3 设h 为正整数, 则用z = h3 *(- 0. 5+ rand (180, 1) ) 可产生一列- h/2~ - h/2 的服从均匀分布的数据。其中, h 是满足特定的样本容量n、条目数量k 以及原始信度通过运行自编程序2 经过反复尝试而确定的。

2.4 将步骤2、3 产生出的两列数据c 和z 中的各对应元素两两相加得到一列数据, 通过取其中0~ 100 的数据, 并将该范围外的其他数据由0~ 100 内的服从均匀分布的随机数代替,最后对所有数据四舍五入所得的一列数据作为该量表中第一个条目对n 个被测者的测量得分。如此重复k 次, 所得数据阵x 即为k 个条目的n 个得分。相应的语句如下:

关键语句:

3模拟次数t 的确定

从理论上讲, 模拟次数越多, 精度越高, 但所耗机时也越长; 模拟次数过少, 则误差过大。因此, 需权衡模拟次数t 和误差。设原始信度系数的总体均数为, 标准差为, 根据中心极限定理

服从标准正态分布。用t 个系数的标准差s 作为的估计值, 则按95% 的置信水平可得

此为确定t 的计算公式。通过运行自编程序3 得到图2。

可见, 当t< 100 时, E对t 的变化非常敏感; 当100≤t<400 时, 对t 的敏感程度逐渐降低并趋向于稳定; 当n≥400时, 增加t 对

减小的影响已不明显。因此, 模拟次数取为400。

4检验数据

4.1 分布检验

若取条目数k= 10, 运行自编程序4 产生400个这样的数据阵, 各列数据(即各条目得分) 的均数分别为50. 0115, 50. 0362,

49. 9428, 49. 9320, 50. 1913,

50. 0072,50. 0326, 50. 1156, 50. 0567, 50. 0876,

平均为5010414。标准差分别为2210863, 2219496, 22. 6689, 23. 2700, 21. 3576,

21. 5275, 23. 3341, 21. 9156, 22. 6159, 22. 3370, 平均为

22.4062。随机抽取其中任一个数据阵, 对各列数据在统计软件

SPSS 1010上用one- sample Kolmogo rov-Sm irnoy 检验, 结果P 值均远大于0.05, 一般在0.5 以上, 各列数据均符合正态分布。

4.2 相关性检验

运行程序4 可得所有400 个数据阵的相关矩阵的平均值:

可见各列数据两两间相关系数均在0.33 以上, 这就保证了内部一致性信度系数能达到要求, 事实上系数平均为0.8352。

4.3 随机性检验

随机抽取上述任一数据阵, 对各列数据两两间的随机性检验在SPSS 1010 软件上用runs(游程检验)进行, 结果证明各列中的数据均是随机出现的。因此, 所产生的数据阵符合作者的要求。

三总结及展望

本文主要讲了蒙特卡罗方法的概述起源和思路特点及其在医学领域的应用,其中包括:在辐射防护、光动力疗法、肿瘤放射物理学、生物阻止体内的温度分布、X荧光无损分析、模拟量表等医学方面的应用。

蒙特卡罗方法是重要的数值计算方法,可以模拟许多大型的、难以实观的复杂实验或社会行为过程。由于有了蒙特卡罗方法,

计算机已经不仅仅是数学和理论科学的重要工具,并正日益成为

实验物理学、应用科学、社会科学及基础研究人员的第二实验场所。但是,究其起源及发展现状,我们可以有以下展望:

1 集团抽样方法——一种灵活而简便的蒙特卡罗技巧

集团抽样方法不仅具有灵活、简便和普适性强的特点,而且,通过选择台适的变量还可以明显地提高计算效率,真可谓是一种适于蒙特卡罗方法通用软件中使用的技巧。

2 零方差技巧一实现零方差的重要途径:相关技巧

零方差技巧几乎是在蒙特卡罗方法出现的同时便被提了出来。众所周知,方差每减小一个数量级,蒙特卡罗抽样数便可以减小两个数量级。因零方差技巧如此鼓舞人心,有关的研究工作一直在进行中。不过,已见到的零方差技巧几乎全是建立在偏倚抽样基础上的,忽略了用其它蒙特卡罗技巧解决的重要性。

比较建立在相关原理基础上的上述零方差技巧和建立在偏倚

抽样原理基础上的零方差技巧。前者不需要改变原随机游动过程,

而且不需要增加任何附加条件。可是后者,不仅需要改变原随机游动过程,而且还需要增加不少附加条件,这些附加条件往往还无法实现。

3 自改善方法一蒙特卡罗方法通用软件的智能化问题

无论是哪一种零方差技巧,它都是以所求量为已知作为前提的,因此,零方差技巧好似一种可望而不可即的方法。其实并不然,由于在蒙特卡罗计算的进程中可以不断地提供所求量的近似值,从而使得有可能利用这些近似值逐步改善蒙特卡罗方法的自身,最终达到方差近似为零的理想境界。这种办法即谓自改善方法很明显,自改善方法是蒙特卡罗方法通用软件智能比的根本方向。

4 向量蒙特卡罗方法——迎接现代计算机对蒙特卡罗方法的挑战

并行计算机大体上可以分为单指令多数据流(SIMD)和多指令多数据流(MIMD)两种。对于MIMD机,标量算法(既未向量化也未并行化)的程序未占用的计算资源,其它程序还可以占用,然而,对于SIMD机,标量算法的程序未占用的计算机资源,其它程序常常无法占用将完全被浪费掉。

向量蒙特卡罗方法指的是,适合在SIMD 机上使用的蒙特卡罗方法。由于向量蒙特卡罗方法对于提高SIMD机的利用率十分重要。

因此,已开始受到了重视。发展向量蒙特卡罗方法,使蒙特卡罗方法通用软件向量化,是发展蒙特卡罗方法通用软件的又一根本

方向。

[参考文献]

【1】《蒙特卡罗方法及其在辐射剂量计算中的应用》刘宗良李强赵平华周剑良

湖南人文科技学院学报 2006年12月第6期

【2】《蒙特卡罗方法和三维数字人体模型在放疗计划质量保证中的应用》王进亮白净

罗建文徐榭生物物理学报第21卷第3期

【3】《蒙特卡罗方法应用研究》王岩尹海丽窦在祥

青岛理工大学学报第27卷第2期

【4】《蒙特卡罗方法在辐射防护中的应用》东华理工学院核工学院王娟

科技信息专题论述

【5】《蒙特卡罗方法研究光动力疗法选择性光损伤》王爽阮军贺庆丽

激光技术第32卷第2期

【6】《蒙特卡罗方法在肿瘤放射物理学中的应用》孙雨云使用医技杂志 2007年 6 月第14卷第17期

【7】《蒙特卡罗方法确定生物组织体内温度分布》杨洪钦林清源谢树森李晖

光电子激光 2007年10月第18卷第10期

【8】《蒙特卡罗方法在X荧光无损分析中的应用》田玉仙吴丽萍王

浅析蒙特卡洛方法原理及应用

浅析蒙特卡洛方法原理及应用 于希明 (英才学院1236103班测控技术与仪器专业6120110304) 摘要:本文概述了蒙特卡洛方法产生的历史及基本原理,介绍了蒙特卡洛方法的最初应用——蒲丰投针问题求圆周率,并介绍了蒙特卡洛方法在数学及生活中的一些简单应用,最后总结了蒙特卡洛方法的特点。 关键词:蒙特卡洛方法蒲丰投针生活应用 蒙特卡洛方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。它是以概率统计理论为基础, 依据大数定律( 样本均值代替总体均值) , 利用电子计算机数字模拟技术, 解决一些很难直接用数学运算求解或用其他方法不能解决的复杂问题的一种近似计算法。蒙特卡洛方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。 一、蒙特卡洛方法的产生及原理 蒙特卡洛方法于20世纪40年代美国在第二次世界大战中研制原子弹的“曼哈顿计划”计划的成员S.M.乌拉姆和J.冯·诺伊曼首先提出。数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。在这之前,蒙特卡洛方法就已经存在。1777年,法国数学家蒲丰(Georges Louis Leclere de Buffon,1707—1788)提出用投针实验的方法求圆周率π。这被认为是蒙特卡洛方法的起源。 其基本原理如下:由概率定义知,某事件的概率可以用大量试验中该事件发生的频率来估算,当样本容量足够大时,可以认为该事件的发生频率即为其概率。因此,可以先对影响其可靠度的随机变量进行大量的随机抽样,然后把这些抽样值一组一组地代入功能函数式,确定结构是否失效,最后从中求得结构的失效概率。蒙特卡洛法正是基于此思路进行分析的。 设有统计独立的随机变量Xi(i=1,2,3,…,k),其对应的概率密度函数分别为fx1,fx2,…,fxk,功能函数式为Z=g(x1,x2,…,xk)。首先根据各随机变量的相应分布,产生N组随机数x1,x2,…,xk值,计算功能函数值Zi=g(x1,x2,…,xk)(i=1,2,…,N),若其中有L组随机数对应的功能函数值Zi≤0,则当N→∞时,根据伯努利大数定理及正态随机变量的特性有:结构失效概率,可靠指标。 二、蒲丰投针问题 作为蒙特卡洛方法的最初应用, 是解决蒲丰投针问题。1777 年, 法国数学家蒲丰提出利用投针实验求解圆周率的问题。设平面上等距离( 如为2a) 画有一些平行线, 将一根长度为2l( l< a) 的针任意投掷到平面上, 针与任一平行线相交的频率为p 。针的位置可以用针的中心坐标x 和针与平行线的夹角θ来决定。任意方向投针, 便意味着x与θ可以任意取一值, 只是0≤x ≤a, 0≤θ≤π。那么, 投针与任意平行线相交的条件为x ≤ l sinθ。相交频率p 便可用下式求

蒙特卡罗算法的简单应用

一、蒙特卡洛算法 1、含义的理解 以概率和统计理论方法为基础的一种计算方法。也称统计模拟方法,是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法,它是将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以获得问题的近似解。 2、算法实例 在数值积分法中,利用求单位圆的1/4的面积来求得Pi/4从而得到Pi 。单位圆的1/4面积是一个扇形,它是边长为1单位正方形的一部分。只要能求出扇形面积S1在正方形面积S 中占的比例K=S1/S 就立即能得到S1,从而得到Pi 的值。怎样求出扇形面积在正方形面积中占的比例K 呢?一个办法是在正方形中随机投入很多点,使所投的点落在正方形中每一个位置的机会相等看其中有多少个点落在扇形内。将落在扇形内的点数m 与所投点的总数n 的比m/n 作为k 的近似值。P 落在扇形内的充要条件是 221x y +≤ 。 已知:K= 1s s ,K ≈m n ,s=1,s1=4P i ,求Pi 。 由1 s m s n ≈,知s1≈*m s n =m n , 而s1=4P i ,则Pi=*4m n 程序: /* 利用蒙特卡洛算法近似求圆周率Pi*/ /*程序使用:VC++6.0 */ #include #include #include #define COUNT 800 /*循环取样次数,每次取样范围依次变大*/ void main() { double x,y; int num=0; int i; for(i=0;i

x=rand()*1.0/RAND_MAX;/*RAND_MAX=32767,包含在中*/ y=rand()*1.0/RAND_MAX; i f((x*x+y*y)<=1) num++; /*统计落在四分之一圆之内的点数*/ } printf("Pi值等于:%f\n",num*4.0/COUNT); printf("RAND_MAX=%d\n",RAND_MAX); 3、应用的范围 蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运 计算、量子热力学计算、空气动力学计算)等领域应用广泛。 4、参考书籍 [1]蒙特卡罗方法及其在粒子输运问题中的应用[2]蒙特卡罗方法引论

蒙特卡洛法的基本原理

2.3.2 蒙特卡洛法的基本原理 蒙特卡洛模型的基本原理是模拟单个光子的传输过程,本质上是一系列随机作用和随机过程的计算机模拟,如光子吸收、散射、传输路径、步长等。光子从发射到进入组织再到从组织中逸出要历经许多过程,以单个光子为例,首先是光子发射,即单个光子垂直入射到组织表面,光子质量W 被初始化为1,当组织与周围介质折射率不同时,在入射界面处要考虑镜面反射(界面不光滑时考虑漫折射),其反射比设为RSP ,因此进入介质的能量为1-RSP ,这部分能量就是接下来要进行蒙特卡洛模拟的部分。进入组织后光子继续运动,首先要确定其运动步长s ,根据光子的运动步长和运动方向,可以得到光子与组织发生相互作用的坐标位置,并以此坐标为起点开始下一运动步长的模拟。光子在与组织发生相互作用时有(μ a/μt)W 的能量被吸收,剩余部分能量的光子被散射,并继续重复上述过程,直到光子运动到边界处,此时,它有可能被返回到组织内部或者透过组织进入到周围介质。如果光子被反射,那么它将继续传播,即重复上述运动;如果光子穿透组织,根据其穿透的是前表面还是后表面,则相应被记入透射量和反射量。 由于蒙特卡洛模型的精确性是建立在大量模拟的基础上,因此这一方法耗时长,这与光谱技术的实时特性相矛盾。“查表法”的提出为这一问题提供了一种很好的解决途径,查表法的基本思想在于事先将一系列组织光学特性所对应的模拟结果存储到一个表格中,这样在对每一个光子进行模拟时,能够从这一表格中直接提取最终的模拟结果,从而节省了大量的模拟时间。 对于组织光子传输蒙特卡洛模型的研究已经开展了很多年,目前学术界广为接受和采用的是美国圣路易斯华盛顿大学华人教授Lihong Wang所提出的模型[1],此模型是前向模型,即在已知组织吸收和散射特性的前提下对光子在组织中的传输分布进行模拟;美国杜克大学助理教授Gregory Palmer等在前向模型的基础上开发出了所谓的后向模型[2],这一模型是在已知光谱反射特性的基础上,通过多次随机假定光学特性并调用前向模型进行光谱拟合,从而筛选出与实际测量结果最为匹配的一组假定数据作为组织的光学特性参数。后向模型的提出使得蒙特卡洛模型能够从真正意义上对组织的光学参数进行检测,并定量得出组织的各组分参数。目前蒙特卡洛模型已被广泛用于多种肿瘤的离体及临床在体研究,并取得了令人满意的结果,最终应用于临床检测的相关仪器也已得到开发,并预计将在未来的十几年甚至是十年之内推向临床应用。 当然目前关于这一模型仍有一定的发展提升空间,难点主要集中于如何进一步提高其精确性,这主要体现在两个方面:(1)如何进一步优化模型来提高精确性,目前这一模型对于仿体吸收散射特性的提取检测已经能够达到10%以内的误差精度,但最近的研究发现,将这一模型应用于仿体荧光检测时,其精确性仍有较大提升空间[3]。仿体荧光检测主要是为了研究模型提取固有荧光的能力,由于吸收和散射的存在,我们所检测的荧光并不是荧光物质本身的固有荧光,其光谱形状和强度均受到一定程度的改变,模型通过反射信号首先提取仿体的吸收和散射特性,进而用于对荧光信号进行矫正从而得到固有荧光光谱。研究发现,蒙特卡洛模型能够对荧光光谱形状进行良好恢复,但对于荧光光强的恢复其精确度仍有待提高。(2)如何提高用于人体组织检测的精确性,人体组织的情况往往是极为复杂的,这就需要开发精确的光子蒙特卡洛多层介质传输模型。目前关于这方面的研究已经取得一定的成果[1],但仍需要开展更多的工作。 参考文献: [1] Wang L,Jacques SL,Zheng L. MCMLMonte Carlo Modeling of Light Transport in Multi-layered Tissues[J]. Comput Methods Programs Biomed,1995,47(2):131-146. [2] Palmer GM,Ramanujam N. Monte Carlobased Inverse Model for Calculating Tissue Optical

蒙特卡罗方法简介

第三章蒙特卡罗方法简介 3.1 Monte Carlo方法简介 Monte Carlo方法是诺斯阿拉莫斯实验室在总结其二战期间工作(曼哈顿计划)的基础上提出来的。Monte Carlo的发明,主要归功于Enrico Fermi、Von Neumann和Stanislaw Ulam等。自二战以来,Monte Carlo方法由于其在解决粒子输运问题上特有的优势而得到了迅速发展,并在核物理、辐射物理、数学、电子学等方面得到了广泛的应用。Monte Carlo的基本思想就是基于随机数选择的统计抽样,这和赌博中掷色子很类似,故取名Monte Carlo。 Monte Carlo方法非常适于解决复杂的三维问题,对于不能用确定性方法解决的问题尤其有用,可以用来模拟核子与物质的相互作用。在粒子输运中,Monte Carlo技术就是跟踪来自源的每个粒子,从粒子产生开始,直到其消亡(吸收或逃逸等)。在跟踪过程中,利用有关传输数据经随机抽样来决定粒子每一步的结果[6]。 3.2 Monte Carlo发展历程 MCNP程序全名为Monte Carlo Neutron and Photon Transport Code (蒙特卡罗中子-光子输运程序)。Monte Carlo模拟程序是在1940年美国实施“发展核武器计划”时,由洛斯阿拉莫斯实验室(LANL)提出的,为其所投入的研究、发展、程序编写及参数制作超过了500人年。1950年Monte Carlo方法的机器语言出现, 1963年通用性的Monte Carlo方法语言推出,在此基础上,20世纪70年代中期由中子程序和光子程序合并,形成了最初的MCNP程序。自那时起,每2—3年MCNP更新一次, 版本不断发展,功能不断增加,适应面也越来越广。已知的MCNP程序研制版本的更新时间表如下:MCNP-3:1983年写成,为标准的FORTRAN-77版本,截面采用ENDF /B2III。 MCNP-3A:1986年写成,加进了多种标准源,截面采用ENDF /B2I V[20]。

蒙特卡罗 算法

1、蒙特卡罗定位 足球机器人中自定位方法是由Fox提出的蒙特卡罗定位。这是一种概率方法,把足球机器人当前位置看成许多粒子的密度模型。每个粒子可以看成机器人在此位置定位的假设。在多数应用中,蒙特卡罗定位用在带有距离传感器的机器人设备上,如激光扫描声纳传感器。只有一些方法,视觉用于自定位。在足球机器人自定位有些不同,因为机器人占的面积相对比较小,但是机器人所在位置的面积必须相当准确的确定,以便允许同组不同机器人交流有关场地物体信息和遵守比赛规则。这种定位方法分为如下步骤,首先所有粒子按照一起那机器人的活动的运动模型移动。概率pi取决于在感知模型的基础上所有粒子在当前传感器上的读数。基于这些概率,就提出了所谓的重采样,将更多粒子移向很高概率的采样位置。概率平均分布的确定用来表示当前机器人的位置的最优估计。最后返回开始。 2、蒙塔卡罗 基本思想 当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。 工作过程 蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。 蒙特卡罗方法解题过程的三个主要步骤: (1)构造或描述概率过程 对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解。即要将不具有随机性质的问题转化为随机性质的问题。 2)实现从已知概率分布抽样 构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。随机数就是具有这种均匀分布的随机变量。随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。产生随机数的问题,就是从这个分布的抽样问题。在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生。这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列。不过,经过多种统计检验表明,它与真正的随机数,或随机数序列具有相近的性质,因此可把它作为真正的随机数来使用。由已知分布随机抽样有各种方法,与从(0,1)上均匀分布抽样不同,这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。由此可见,随机数是我们实现蒙特卡罗模拟的基本工具。 (3)建立各种估计量

蒙特卡罗方法地解地的题目过程可以归结为三个主要步骤

蒙特卡罗方法的解题过程可以归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。 蒙特卡罗方法解题过程的三个主要步骤: (1)构造或描述概率过程 对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解。即要将不具有随机性质的问题转化为随机性质的问题。 (2)实现从已知概率分布抽样 构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。随机数就是具有这种均匀分布的随机变量。随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。产生随机数的问题,就是从这个分布的抽样问题。在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。另一种方法是用数学递推公式产生。这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列。不过,经过多种统计检验表明,它与真正的随机数,或随机数序列具有相近的性质,因此可把它作为真正的随机数来使用。由已知分布随机抽样有各种方法,与从(0,1)上均匀分布抽样不同,这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。由此可见,随机数是我们实现蒙特卡罗模拟的基本工具。 (3)建立各种估计量

蒙特卡洛方法

蒙特卡洛方法 1、蒙特卡洛方法的由来 蒙特卡罗分析法(Monte Carlo method),又称为统计模拟法,是一种采用随机抽样(Random Sampling)统计来估算结果的计算方法。由于计算结果的精确度很大程度上取决于抽取样本的数量,一般需要大量的样本数据,因此在没有计算机的时代并没有受到重视。 第二次世界大战时期,美国曼哈顿原子弹计划的主要科学家之一,匈牙利美藉数学家约翰·冯·诺伊曼(现代电子计算机创始人之一)在研究物质裂变时中子扩散的实验中采用了随机抽样统计的手法,因为当时随机数的想法来自掷色子及轮盘等赌博用具,因此他采用摩洛哥著名赌城蒙特卡罗来命名这种计算方法,为这种算法增加了一层神秘色彩。 蒙特卡罗方法提出的初衷是用于物理数值模拟问题, 后来随着计算机的快速发展, 这一方法很快在函数值极小化、计算几何、组合计数等方面得到应用, 于是它作为一种独立的方法被提出来, 并发展成为一门新兴的计算科学, 属于计算数学的一个分支。如今MC方法已是求解科学、工程和科学技术领域大量应用问题的常用数值方法。 2、蒙特卡洛方法的核心—随机数 蒙特卡洛方法的基本理论就是通过对大量的随机数样本进行统计分析,从而得到我们所需要的变量。因此蒙特卡洛方法的核心就是随机数,只有样本中的随机数具有随机性,所得到的变量值才具有可信性和科学性。

在连续型随机变量的分布中, 最基本的分布是[0, 1]区间上的均匀分布, 也称单位均匀分布。由该分布抽取的简单子样ξ1,ξ2ξ3……称为随机数序列, 其中每一个体称为随机数, 有时称为标准随机数或真随机数, 独立性和均匀性是其必备的两个特点。真随机数是数学上的抽象, 真随机数序列是不可预计的, 因而也不可能重复产生两个相同的真随机数序列。真随机数只能用某些随机物理过程来产生, 如放射性衰变、电子设备的热噪音、宇宙射线的触发时间等。 实际使用的随机数通常都是采用某些数学公式产生的,称为伪随机数。真随机数只是一种数学的理想化概念,实际中我们所接触到的和使用的都是伪随机数。要把伪随机数当成真随机数来使用, 必须要通过随机数的一系列的统计检验。 无论伪随机数用什么方法产生,它的局限性都在于这些随机数总是一个有限长的循环集合, 而且序列偏差的上确界达到最大值。所以若能产生低偏差的确定性序列是很有用的,产生的序列应该具有这样的性质, 即任意长的子序列都能均匀地填充函数空间。 人们已经产生了若干种满足这个要求的序列,如Halton序列、Faure序列、Sobol序列和Niederreiter序列等。称这些序列为拟随机数序列。伪随机序列是为了模拟随机性, 而拟随机序列更致力于均匀性。 3、蒙特卡洛方法的原理 当问题可以抽象为某个确定的数学问题时,应当首先建立一个恰当的概率模型,即确定某个随机事件A或随机变量X,使得待求的解等

蒙特卡罗方法学习总结

图1-1 蒙特卡罗方法学习总结 核工程与核技术2014级3班张振华20144530317 一、蒙特卡罗方法概述 1.1蒙特卡罗方法的基本思想 1.1.1基本思想 蒙特卡罗方的基本思想就是,当所求问题的解是某个事件的概率,或者是某个随机变量的数学期望,或者是与概率、数学期望有关的量时,通过某种试验方法,得出该事件发生的频率,或者该随机变量若干个具体观察值的算术平均值,通过它得到问题的解。 1.1.2计算机模拟打靶游戏 为了能更为深刻地理解蒙特卡罗方法的基本思想,我们学习了蒲丰氏问题和打靶游戏两大经典例子。下面主要对打靶游戏进行剖析、计算机模拟(MATLAB 程序)。 设某射击运动员的弹着点分布如表1-1 所示, 首先用一维数轴刻画出已知该运动员的弹 着点的分布如图1-1所示。研究打靶游戏,我 们不用考察子弹的运动轨迹,只需研究每次“扣动扳机”后的子弹弹着点。每一环数对应唯一确定的概率,且注意到概率分布函数有单调不减和归一化的性质。首先我们产生一个在(0,1)上均匀分布的随机数(模拟扣动扳机),然后将该随机数代表的点投到P 轴上(模拟子弹射向靶上的一个确定点),得到对应的环数(即子弹的弹着点),模拟打靶完成。反复进行N 次试验,统计出试验结果的样本均值。样本均值应当等于数学期望值,但允许存在一定的偏差,即理论计算值应该约等于模拟试验结果。 clear all;clc; N=100000;s=0; for n=1:N %step 4.重复N 次打靶游戏试验

x=rand(); %step 1.产生在(0,1)上均匀分布的随机数if(x<=0.1) %step 2.若随机数落在(0.0,0.1)上,则代表弹着点在7环g=7; s=s+g; %step 3.统计总环数elseif(x<=0.2) %step 2.若随机数落在(0.1,0.2)上,则代表弹着点在8环g=8;s=s+g; elseif(x<=0.5) %step 2.若随机数落在(0.2,0.5)上,则代表弹着点在9环g=9;s=s+g; else %step 2.若随机数落在(0.5,1.0)上,则代表弹着点在10环 g=10;s=s+g; end end gn_th=7*0.1+8*0.1+9*0.3+10*0.5; %step 5.计算、输出理论值fprintf('理论值:%f\n',gn_th); gn=s/N; %step 6.计算、输出试验结果 fprintf('试验结果:%f\n',gn);1.2蒙特卡罗方法的收敛性与误差 1.2.1收敛性 由大数定律可知,应用蒙特卡罗方法求近似解,当随机变量Z 的简单子样数N 趋向于无穷大(N 充分大)时,其均值依概率收敛于它的数学期望。 1.2.2误差 由中心极限定理可知,近似值与真值的误差为N Z E Z N αλ<-)(?。式中的αλ的值可以根据给出的置信水平,查阅标准正态分布表来确定。 1.2.3收敛性与误差的关系 在一般情况下,求具有有限r 阶原点矩()∞

蒙特卡罗(Monte Carlo)方法简介

蒙特卡罗(Monte Carlo)方法简介

蒙特卡罗(Monte Carlo)方法简介 蒙特卡罗(Monte Carlo)方法,也称为计算机随机模拟方法,是一种基于"随机数"的计算方法。 一起源 这一方法源于美国在第二次世界大战进研制原子弹的"曼哈顿计划"。Monte Carlo方法创始人主要是这四位:Stanislaw Marcin Ulam, Enrico Fermi, John von Neumann(学计算机的肯定都认识这个牛人吧)和Nicholas Metropolis。 Stanislaw Marcin Ulam是波兰裔美籍数学家,早年是研究拓扑的,后因参与曼哈顿工程,兴趣遂转向应用数学,他首先提出用Monte Carlo方法解决计算数学中的一些问题,然后又将其应用到解决链式反应的理论中去,可以说是MC方法的奠基人;Enrico Fermi是个物理大牛,理论和实验同时都是大牛,这在物理界很少见,在“物理大牛的八卦”那篇文章里提到这个人很多次,对于这么牛的人只能是英年早逝了(别说我嘴损啊,上帝都嫉妒!);John von Neumann可以说是计算机界的牛顿吧,太牛了,结果和Fermi一样,被上帝嫉妒了;Nicholas Metropolis,希腊裔美籍数学家,物理学家,计算机科学家,这个人对Monte Carlo方法做的贡献相当大,正式由于他提出的一种什么算法(名字忘了),才使得Monte Carlo方法能够得到如此广泛的应用,这人现在还活着,与前几位牛人不同,Metropolis很专一,他一生主要的贡献就是Monte Carlo方法。 蒙特卡罗方法的名字来源于摩纳哥的一个城市蒙地卡罗,该城市以赌博业闻名,而蒙特?罗方法正是以概率为基础的方法。与它对应的是确定性算法。 二解决问题的基本思路 Monte Carlo方法的基本思想很早以前就被人们所发现和利用。早在17世纪,人们就知道用事件发生的"频率"来决定事件的"概率"。19世纪人们用投针试验的方法来决定圆周率π。本世纪40年代电子计算机的出现,特

蒙特卡罗方法及应用实验讲义2016

蒙特卡罗方法及应用 实验讲义 东华理工大学核工系 2016.8

实验一 蒙特卡罗方法基本思想 一、实验目的 1、了解蒙特卡罗方法方法的基本思想; 2、掌握蒙特卡罗方法计算面积、体积的方法; 3、掌握由已知分布的随机抽样方法。 二、实验原理 Monte Carlo 方法,又称统计模拟方法或计算机随机模拟方法,是一种基于“随机数”进行数值模拟的方法,一种采用统计抽样理论近似求解物理或数学问题的方法。 如待求量可以表述成某些特征量的期望值、某些事件出现的概率或两者的函数形式,那么可采用蒙特卡罗方法求解。在求解某些特征量的期望值或某些事件出现的概率时,必须构建合符实际的数学模型。例如采用蒙特卡罗方法计算某函数所围面积时,构建的数学模型是构造一已知面积的可均匀抽样区域,在该区域投点,由伯努利定理大数定理可知,进入待求区域投点的频率依概率1收敛于该事件出现的概率(面积之比)。 由已知分布的随机抽样方法指的是由已知分布的总体中抽取简单子样。具体方法很多,详见教材第三章。 三、实验内容 1、安装所需计算工具(MATLAB 、fortran 、C++等); 2、学习使用rand(m,n)、unifrnd(a,b,m,n)函数 3、求解下列问题: 3.0、蒲丰氏投针求圆周率。 3.1、给定曲线y =2 – x 2 和曲线y 3 = x 2,曲线的交点为:P 1( – 1,1 )、P 2( 1,1 )。曲线围成平面有限区域,用蒙特卡罗方法计算区域面积; 3.2 、计算1z z ?≥??≤??所围体积 其中{(,,)|11,11,02}x y z x y z Ω=-≤≤-≤≤≤≤。 4、对以下已知分布进行随机抽样:

蒙特卡洛方法及其在风险评估中的应用(1)

蒙特卡洛方法及其应用 1风险评估及蒙特卡洛方法概述 1.1蒙特卡洛方法。 蒙特卡洛方法,又称随机模拟方法或统计模拟方法,是在20世纪40年代随着电子计算机的发明而提出的。它是以统计抽样理论为基础,利用随机数,经过对随机变量已有数据的统计进行抽样实验或随机模拟,以求得统计量的某个数字特征并将其作为待解决问题的数值 解。 蒙特卡洛模拟方法的基本原理是:假定随机变量X1、X2、X3……X n、Y,其中X1、X2、X3……X n 的概率分布已知,且X1、X2、X3……X n、Y有函数关系:Y=F(X1、X2、X3……X n),希望求得随机变量Y的近似分布情况及数字特征。通过抽取符合其概率分布的随机数列X1、X2、X3……X n带入其函数关系式计算获得Y的值。当模拟的次数足够多的时候,我们就可以得到与实际情况相近的函数Y的概率分布和数字特征。 蒙特卡洛法的特点是预测结果给出了预测值的最大值,最小值和最可能值,给出了预测 值的区间范围及分布规律。 1.2风险评估概述。 风险表现为损损益的不确定性,说明风险产生的结果可能带来损失、获利或是无损失也无获利,属于广义风险。正是因为未来的不确定性使得每一个项目都存在风险。对于一个公司而言,各种投资项目通常会具有不同程度的风险,这些风险对于一个公司的影响不可小视,小到一个项目投资资本的按时回收,大到公司的总风险、公司正常运营。因此,对于风险的 测量以及控制是非常重要的一个环节。 风险评估就是量化测评某一事件或事物带来的影响的可能程度。根据“经济人”假设,收益最大化是投资者的主要追求目标,面对不可避免的风险时,降低风险,防止或减少损失, 以实现预期最佳是投资的目标。 当评价风险大小时,常有两种评价方式:定性分析与定量分析法。定性分析一般是根据风险度或风险大小等指标对风险因素进行优先级排序,为进一步分析或处理风险提供参考。这种方法适用于对比不同项目的风险程度,但这种方法最大的缺陷是在于,在多个项目中风险最小者也有可能亏损。而定量分析法则是将一些风险指标量化得到一系列的量化指标。通过这些简单易懂的指标,才能使公司的经营者、投资者对于项目分风险有正确的评估与判断,

蒙特卡洛模型方法

蒙特卡洛模型方法

蒙特卡罗方法(Monte Carlo method) 蒙特卡罗方法概述 蒙特卡罗方法又称统计模拟法、随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解。为象征性地表明这一方法的概率统计特征,故借用赌城蒙特卡罗命名。 蒙特卡罗方法的提出 蒙特卡罗方法于20世纪40年代美国在第二次世界大战中研制原子弹的“曼哈顿计划”计划的成员S.M.乌拉姆和J.冯·诺伊曼首先提出。数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。在这之前,蒙特卡罗方法就已经存在。1777年,法国Buffon提出用投针实验的方

样调查来确定可能的优胜者。其基本思想是一样的。 科技计算中的问题比这要复杂得多。比如金融衍生产品(期权、期货、掉期等)的定价及交易风险估算,问题的维数(即变量的个数)可能高达数百甚至数千。对这类问题,难度随维数的增加呈指数增长,这就是所谓的“维数的灾难”(Curse of Dimensionality),传统的数值方法难以对付(即使使用速度最快的计算机)。Monte Carlo 方法能很好地用来对付维数的灾难,因为该方法的计算复杂性不再依赖于维数。以前那些本来是无法计算的问题现在也能够计算量。为提高方法的效率,科学家们提出了许多所谓的“方差缩减”技巧。 另一类形式与Monte Carlo方法相似,但理论基础不同的方法—“拟蒙特卡罗方法”(Quasi -Monte Carlo方法)—近年来也获得迅速发展。我国数学家华罗庚、王元提出的“华—王”方法即是其中的一例。这种方法的基本思想是“用确

蒙特卡洛模拟法简介

蒙特卡洛模拟法简介 蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。由于涉及到时间序列的反复生成,蒙特卡洛模拟法是以高容量和高速度的计算机为前提条件的,因此只是在近些年才得到广泛推广。 这个术语是二战时期美国物理学家Metropolis执行曼哈顿计划的过程中提出来的。 蒙特卡洛模拟方法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。 蒙特卡洛模拟法的应用领域 蒙特卡洛模拟法的应用领域主要有: 1.直接应用蒙特卡洛模拟:应用大规模的随机数列来模拟复杂系统,得到某些参数或重要指标。 2.蒙特卡洛积分:利用随机数列计算积分,维数越高,积分效率越高。 3.MCMC:这是直接应用蒙特卡洛模拟方法的推广,该方法中随机数的产生是采用的马尔科夫链形式。 蒙特卡洛模拟法的概念 (也叫随机模拟法)当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用则可用随机模拟法近似计算出系统可靠性的预计值。随着模拟次数的增多,其预计精度也逐渐增高。由于需要大量反复的计算,一般均用计算机来完成。

蒙特卡洛模拟法求解步骤 应用此方法求解工程技术问题可以分为两类:确定性问题和随机性问题。解题步骤如下: 1.根据提出的问题构造一个简单、适用的概率模型或随机模型,使问题的解对应于该模型中随机变量的某些特征(如概率、均值和方差等),所构造的模型在主要特征参量方面要与实际问题或系统相一致 2 .根据模型中各个随机变量的分布,在计算机上产生随机数,实现一次模拟过程所需的足够数量的随机数。通常先产生均匀分布的随机数,然后生成服从某一分布的随机数,方可进行随机模拟试验。 3. 根据概率模型的特点和随机变量的分布特性,设计和选取合适的抽样方法,并对每个随机变量进行抽样(包括直接抽样、分层抽样、相关抽样、重要抽样等)。 4.按照所建立的模型进行仿真试验、计算,求出问题的随机解。 5. 统计分析模拟试验结果,给出问题的概率解以及解的精度估计。 在可靠性分析和设计中,用蒙特卡洛模拟法可以确定复杂随机变量的概率分布和数字特征,可以通过随机模拟估算系统和零件的可靠度,也可以模拟随机过程、寻求系统最优参数等。 蒙特卡洛模拟法的实例 资产组合模拟: 假设有五种资产,其日收益率(%)分别为 0.02460.0189 0.0273 0.0141 0.0311 标准差分别为 0.95091.4259, 1.5227, 1.1062, 1.0877 相关系数矩阵为 1.0000 0.4403 0.4735 0.4334 0.6855 0.4403 1.00000.7597 0.7809 0.4343 0.4735 0.75971.0000 0.6978 0.4926 0.4334 0.78090.6978 1.0000 0.4289 0.6855 0.43430.4926 0.4289 1.0000 假设初始价格都为100,模拟天数为504天,模拟线程为2,程序如下%run.m

蒙特卡洛算法简介

算法简介 蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。蒙特·卡罗方法的名字来源于摩纳哥的一个城市蒙地卡罗,该城市以赌博业闻名,而蒙特·卡罗方法正是以概率为基础的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。 编辑本段背景知识 [1946: John von Neumann, Stan Ulam, and Nick Metropolis, all at the Los Alamos Scientific Laboratory, cook up the Metropolis algorithm, also known as the Monte Carlo method.] 1946年,美国拉斯阿莫斯国家实验室的三位科学家John von Neumann,Stan Ulam 和Nick Metropolis共同发明,被称为蒙特卡洛方法。它的具体定义是:在广场上画一个边长一米的正方形,在正方形内部随意用粉笔画一个不规则的形状,现在要计算这个不规则图形的面积,怎么计算列?蒙特卡洛(Monte Carlo)方法告诉我们,均匀的向该正方形内撒N(N 是一个很大的自然数)个黄豆,随后数数有多少个黄豆在这个不规则几何形状内部,比如说有M个,那么,这个奇怪形状的面积便近似于M/N,N越大,算出来的值便越精确。在这里我们要假定豆子都在一个平面上,相互之间没有重叠。蒙特卡洛方法可用于近似计算圆周率:让计算机每次随机生成两个0到1之间的数,看这两个实数是否在单位圆内。生成一系列随机点,统计单位圆内的点数与总点数,(圆面积和正方形面积之比为PI:1,PI为圆周率),当随机点取得越多(但即使取10的9次方个随机点时,其结果也仅在前4位与圆周率吻合)时,其结果越接近于圆周率。摘自《细数二十世纪最伟大的十种算法》CSDN JUL Y译 编辑本段算法描述 以概率和统计理论方法为基础的一种计算方法。将所求解的问题同一定的概率模型相联系,用计算机实现统计模拟或抽样,以获得问题的近似解。比如,给定x=a,和x=b,你要求某一曲线f和这两竖线,及x轴围成的面积,你可以起定y轴一横线y=c 其中c>=f(x)max,很简单的,你可以求出y=c,x=a,x=b及x轴围成的矩形面积,然后利用随机产生大量在这个矩形范围之内的点,统计出现在曲线上部点数和出现在曲线下部点的数目,记为:doteUpCount,nodeDownCount,然后所要求的面积可以近似为doteDownCounts所占比例*矩形面积。 编辑本段问题描述 在数值积分法中,利用求单位圆的1/4的面积来求得Pi/4从而得到Pi。单位圆的1/4面积是一个扇形,它是边长为1单位正方形的一部分。只要能求出扇形面积S1在正方形面积S中占的比例K=S1/S就立即能得到S1,从而得到Pi的值。怎样求出扇形面积在正方形面积中占的比例K呢?一个办法是在正方形中随机投入很多点,使所投的点落在正方形中每一个位置的机会相等看其中有多少个点落在扇形内。将落在扇形内的点数m与所投点的总数n的比m/n作为k的近似值。P落在扇形内的充要条件是x^2+y^2<=1。

蒙特卡洛方法 (MC) 方法

MCC 方法 蒙特卡罗方法的诞生 蒙特卡罗方法的产生可追溯到Buffon 投针实验。法国数学家Buffon 用此实验来估算π值,它的原理是这样子的:在桌面上划一组间距为d 的平行线,然后向桌面上随意抛掷长度为L 的细针,从针与平行线相交的概率就可以得到π值。 其中 [0,)A d ∈ [0,) x π∈ 由积分性质可得投针置于平行线上的概率为sin 1 2l d l p dAdx d π θ π π == ? ? 假如在N 次投针实验中,有M 次与平行线相交,则有2l M P d N π= = 图3.2 Buffon 的投针实验 图3.3 投针位置分析

1930年,费米利用蒙特卡罗方法研究了中子的扩散,并设计了一个蒙特卡罗机械装置,用于计算核反应堆的临界状态。 冯.诺依曼是蒙特卡罗方法的正式奠基者,他与Stanislaw Ulam 合作建立了概率密度函数、反累积分布函数的数学基础,以及伪随机数产生器,从而使得蒙特卡罗方法得以推广,成为科学领域一种常用的模拟方法。 蒙特卡罗方法的基本思想 对某一个待解决的物理问题(当这个物理问题可以抽象为数学问题时)建立一个概率模型,即确定某个随机事件X ,使得待求问题的解等于随机事件X 出现的概率或随机变量的数学期望值。然后进行模拟实验,重复多次地模拟随机事件X 。最后对随机实验结果进行统计平均,求出X 出现的频数作为问题的近似解。这就是蒙特卡罗方法的基本思想。 具体来说: 假设所要求的量x 是随机变量的数学期望 ,那么近似确定x 的方法是 对进行N 次重复抽样,产生相互独立的值的序列、、……、,并计算其算术平均值: 1 1 N N n n N ξξ ==∑ 根据大数定理有 P (l i m ) N N x ξ→∞ == 因此,当N 充分大时,下式 ()N E x ξξ≈= 成立的概率为1,亦即可以用 作为所求量x 的估计值。 用蒙特卡罗方法求解时,最简单的情况是模拟一个发生概率为P 的随机事件A 。考虑一个随机变量,若在一次试验中事件A 出现,则取值为1;若事件A 不出现, 则 取值为0。令q=1-p ,那么随机变 量 的数学期 望 ,此即一次试验中事件A出现的概率 。的方差

蒙特卡洛方法在中子输运中的应用

《中子输运理论与数值方法》课程作业 ——蒙特卡洛方法

目录 1. 前言 (3) 2. 蒙特卡洛方法概述 (3) 2.1 蒙特卡洛方法的基本思想 (4) 2.2 蒙特卡洛方法的收敛性、误差 (4) 2.2.1 蒙特卡洛方法的收敛性 (4) 2.2.2 蒙特卡洛方法的误差 (5) 2.3 蒙特卡洛方法的特点 (6) 2.4 蒙特卡洛方法的主要应用范围 (7) 3. 随机数 (7) 3.1 线性乘同余方法 (9) 3.2 伪随机数序列的均匀性和独立性 (9) 3.2.1 伪随机数的均匀性 (9) 3.2.2 伪随机数的独立性 (10) 4. 蒙特卡洛方法在粒子输运上的应用 (10) 4.1 屏蔽问题模型 (10) 4.2 直接模拟方法 (11) 4.2.1 状态参数与状态序列 (11) 4.2.2 模拟运动过程 (12) 4.2.3 记录结果 (15) 4.3 蒙特卡洛方法的效率 (16) 5. 蒙特卡洛方法应用程序—MCNP (17) 5.1 MCNP简述 (17) 5.2 MCNP误差的估计 (18) 5.3 MCNP效率因素 (19) 6. 结论 (19)

参考文献 (20) 1.前言 半个多世纪以来,由于科学技术的发展和电子计算机的发明,蒙特卡洛(Monte Carlo)方法作为一种独立的方法被提出来,并首先在核武器的试验与研制中得到了应用。蒙特卡洛方法是一种计算方法,但与一般数值计算方法有很大区别。它是以概率统计理论为基础的一种方法。由于蒙特卡洛方法能够比较逼真地描述事物的特点及物理实验过程,解决一些数值方法难以解决的问题,因而该方法的应用领域日趋广泛。蒙特卡洛模拟计算是解决中子在介质中输运较为成熟、有效的方法,对于原子能、辐射防护、剂量学和辐射生物物理学等研究领域实际问题的计算,都可以利用蒙特卡洛方法予以实现。 粒子输运过程可以用玻耳兹曼方程加以描述,然而,以此基础上发展起来的近似数值方法如扩散近似法、离散坐标方法在处理截面与能量相关以及散射各向异性介质、复杂几何条件问题时碰到了较大困难。而蒙特卡洛方法在处理这类问题时得心应手,有很强的解题能力,并且近似较少,接近于真实情况。 粒子辐射问题计算通常有输运方程法、蒙特卡洛法(MC法)、实验测量法以及经验法等几种方法。蒙特卡洛计算法又称随机抽样法或统计试验法,是基于计算机模拟的思想,抓住物理过程的数量和几何特征,进行数字模拟试验,该方法是求解辐射输运问题的一种相当成熟和有效的方法,而且它对于各种复杂问题,具有良好的通用性,实用性相当广泛,几乎涉及核科学的各个领域。本文主要介绍蒙特卡洛的概念、原理和应用及研究现状。 2. 蒙特卡洛方法概述 蒙特卡洛方法又称随机抽样技巧或统计试验方法。半个多世纪以来,由于科学技术的发展和电子计算机的发明,这种方法作为一种独立的方法被提出来,并首先在核武器的试验与研制中得到了应用。蒙特卡洛方法是一种计算方法,但与一般数值计算方法有很大区别。它是以概率统计理论为基础的一种方法。由于蒙特卡洛方法能够比较逼真地描述事物的特点及物理实验过程,解决一些数值方法难以解决的问题,因而该方法的应用领域日趋广泛。 蒙特卡洛方法的主要组成部分有:

蒙特卡洛方法在经济和社会问题中的应用

蒙特卡洛方法在经济与金融问题上的应用 本文我们关注经济和社会问题的求解问题,也即社会科学。由于许多至关重要的复杂社会过程无法象其它自然科学过程那样还原分析,因此,社会科学被称作真正的“硬”科学(Hard Sciences)。用自然科学的方法审视社会科学问题是一种新的尝试,在此基础上诞生了金融物理学、经济物理学econophysics和社会物理学sociophysics。 经济物理学是一个跨学科的研究领域,应用最初由物理学家开发的理论和方法(通常是那些包括不确定性或随机因素和非线性动力学),来解决经济问题。 经济物理学的例子包括:利用渗流模型来解释股市的波动;使用自组织临界性的模型来理解和解释股票市场的崩盘现象。 这一分析的基本工具是复杂性理论,它与由盖尔曼和申农分别开发的信息理论紧密相关。经济现象是许多经纪人(代理商)微观层面上的相互作用的宏观结果,而物理模型必须充分反映这一点。当然,物理学其他领域的方法和工具,比如流体动力学,量子力学和统计力学的路径积分方法等也在经济物理学中有重要应用。 经济物理学是1990年代中期由几个统计物理学家开创的。对经济特别是金融市场运行规律的解释通常来自经济学家,他们往往采用与物理学截然不同的方法。上面提到的几位物理学家对经济学家的解释不够满意,他们决定采用物理学的方法和工具给出一个全新的理论。当时,他们找到了大量的财经数据,如何从这些数据中找到规律成为他们最初的尝试方向。很显然,传统的平衡态的分析方法是不够的,因为金融市场比较有趣的现象,从根本上来说发生在远离平衡态的情形。 下面我们从以下四个方面简要介绍金融物理学或经济物理学的基本概念,主要内容包括:?复杂系统和经济物理学 ?基于复杂网络的金融物理模型的研究新方向 ?利用统计力学来建立经济模型 ?蒙特卡洛模拟价格的实例。 1 复杂系统和经济物理学 社会经济现象非常复杂,可以用数学上的复杂系统描述。 1.1复杂系统的主要特征 复杂系统是一个开放的巨系统。系统由大量相似的个体组成。复杂系统的结构与网络(network)相对应,而个体就是网络中的节点(node)。个体在单独存在的行为与在整体中的行为很不一样(在整体中各个体行为变得相似)。全局行为不依赖于个体的精确细节,但个体间的相互作用或者单元之间的耦合非常关键。因此必须合理定义,并且为了计算方便不能太复杂。这种相互作用一般为非线性,相互作用的类型有吸引、抗拒、对齐等。复杂系统的行为时一种集体行为,主要的集体现象包括:相变、模式形成、群组运动、同步等。上述特点决定了复杂系统的研究手段只能是统计物理、多主体计算机模拟。 1.2为什么要研究复杂系统和经济物理学? 目前,不断出现的经济风潮的影响和日益显著的经济波动的全球化趋势已使预测并控制大的金融风险成为各国政府和金融机构严重关注的问题。将物理学方法应用于各种金融价格的统计分析和经济复杂系统的动力学模拟将对金融市场的预测和经济系统的宏观调控有直接的指导意义。寻求适应性复杂系统的动力学模型,模拟金融市场经纪人之间的自适应竞争行为,构造金融市场的微观物理模型,将开拓新的经济学研究方法,并对复杂性科学的探索有深远的理论意义。 1.3研究社会经济复杂系统的挑战

相关文档