蒙特卡罗也称统计模拟方法
蒲丰投针――MonteCarlo算法

蒲丰投针 ―― Monte Carlo 算法背景:蒙特卡罗方法(Monte Carlo ),也称统计模拟方法,是在二次世界大战期间随着科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为基础的一类非常重要的数值计算方法。
蒙特卡罗方法在应用物理、原子能、固体物理、化学、生态学、社会学以及经济行为等领域中得到广泛利用。
蒙特卡罗方法的名字来源于世界著名的赌城 —— 摩纳哥的蒙特卡罗。
其历史起源可追溯到1777年法国科学家蒲丰提出的一种计算圆周的方法 —— 随机投针法,即著名的蒲丰投针问题。
问题:设在平面上有一组平行线,间距为d ,把一根长L 的针随机投上去,则这根针和平行线相交的概率是多少?(其中 L < d )分析:由于 L < d ,所以这根针至多只能与一条平行线相交。
设针的中点与最近的平行线之间的距离为 y ,针与平行线的夹角为 θ (0 ≤ θ ≤ π)。
相交情形 不相交情形易知针与平行线相交的充要条件是:sin 2Ly x θ≤=由于1[0,], [0, ]2y d θπ∈∈,且它们的取值均满足平均分布。
建立直角坐标系,则针与平行线的相交条件在坐标系下就是曲线所围成的曲边梯形区域(见右图)。
所以有几何概率可知针与平行线相交的概率是sin d 2212LL p d d πθθππ==⎰Monte Carlo 方法:随机产生满足平均分布的 y 和 θ,其中1[0,], [0, ]2y d θπ∈∈,判断 y 是否在曲边梯形内。
重复上述试验,并统计 y 在曲边梯形内的次数 m ,其与试验次数 n 的比值即为针与平行线相交的概率的近似值。
clear;n = 100000; L = 1; d = 2; m = 0;for k = 1 : ntheta = rand(1)*pi; y = rand(1)*d/2;if y < sin(theta)*L/2m = m + 1; end endfprintf('针与平行线相交的概率大约为 %f\n', m/n)计算π的近似值利用该方法可以计算 π 的近似值:sin d 22 22 1n LL m p d m d L d n πθθπππ⇒≈==≈⎰下面是一些通过蒲丰投针实验计算出来的 π 的近似值:蒲丰投针问题的重要性并非是为了求得比其它方法更精确的π值,而是在于它是第一个用几何形式表达概率问题的例子。
蒙特卡洛模型方法

二、理论和方法
蒙特卡洛模拟早在四十年前就用于求解核物理方面的问题。当管理问题更为复杂时,传统的数学方法就难以进行了。模拟是将一个真实事物模型化,然后对该模型做各种实验,模拟也是一个通过实验和纠正误差来寻求最佳选择的数值性求解的过程。模拟作为一种有效的数值处理方法,计算量大。以前只是停留在理论探讨上,手工是无法完成的。在管理领域由于规律复杂随机因素多,很多问题难以用线性数学公式分析和解决,用模拟则有效得多。在新式的计算机普及后,用模拟技术来求解管理问题已成为可能。
从表中数据可以看到,一直到公元20世纪初期,尽管实验次数数以千计,利用蒙特卡罗方法所得到的圆周率∏值,还是达不到公元5世纪祖冲之的推算精度。这可能是传统蒙特卡罗方法长期得不到推广的主要原因。
计算机技术的发展,使得蒙特卡罗方法在最近10年得到快速的普及。现代的蒙特卡罗方法,已经不必亲自动手做实验,而是借助计算机的高速运转能力,使得原本费时费力的实验过程,变成了快速和轻而易举的事情。它不但用于解决许多复杂的科学方面的问题,也被项目管理人员经常使用。
设有统计独立的随机变量Xi(i=1,2,3,…,k),其对应的概率密度函数分别为fx1,fx2,…,fxk,功能函数式为Z=g(x1,x2,…,xk)。
蒙特卡罗仿真原理

蒙特卡罗仿真原理
蒙特卡罗(MonteCarlo)方法,又称随机抽样或统计模拟方法,泛指所有基于统计采样进行数值计算的方法。
在第二次世界大战期间,美国参与“曼哈顿计划’’的几位科学家Stanislaw Ulam,John Von Neumann 和N.Metropolis等首先将这种方法用于解决原子弹研制中的一个关键问题。
后来N.Metropolis用驰名世界的赌城---摩纳哥的MonteCarlo一来命名这种方法,为它蒙上了一层神秘色彩。
随着现代计算机技术的飞速发展,蒙特卡罗方法已经在统计物理、经济学、社会学甚至气象学等方面的科学研究中发挥了极其重要的作用,将蒙特卡罗方法用于仿真即为蒙特卡罗仿真。
蒙特卡罗方法适用于两类问题,第一类是本身就具有随机性的问题,第二类是能够转化为概率模型进行求解的确定性问题。
※蒙特卡罗方法求解问题的一般步骤
用蒙特卡罗方法求解问题一般包括构造或描述概率过程、从已知概率分布抽样和建立估计量三个步骤。
构造或描述概率过程实际上就是建立随机试验模型,构造概率过程是对确定性问题而言的,描述概率过程是对随机性问题而言的,不同的问题所需要建立的随机试验模型各不相同。
所谓的从已知概率分布抽样指的是随机试验过程,随机模型中必要包含某些已知概率分布的随机变量或随机过程作为输入,进行随机试验的过程就是对这些随机变量的样本或随机过程的样本函数作为输入产生相应输出的过程,因此通常被称为对已知概率分布的抽样。
如何产生已知分布的随机变量或随机过程是蒙特卡罗方法中的一个关键问题。
最后一个步骤是获得估计量,蒙特卡罗方法所得到的问题的解总是对真实解的一个估计,本身也是一个随机变量,这个随机变量是由随机试验模型输出通过统计处理得到的。
大学《统计学习方法》第2版教学课件-第19章 马尔科夫链蒙特卡洛法

马尔可夫链的性质
马尔可夫链的性质
• 遍历定理的直观解释: • 满足相应条件的马尔可夫链,当时间趋于无穷时,马尔可夫链的
状态分布趋近于平稳分布,随机变量的函数的样本均值以概率1 收敛于该函数的数学期望。
• 样本均值可以认为是时间均值,而数学期望是空间均值。遍历定 理实际表述了遍历性的含义:当时间趋于无穷时,时间均值等于 空间均值。
马尔可夫链的性质
• 直观上,一个非周期性的马尔可夫链,不存在一个状态,从这一 个状态出发,再返回到这个状态时所经历的时间长呈一定的周期 性
例
• 图上所示的马尔可夫链是周期的
例
• 转移概率矩阵
• 其平稳分布是
。此马尔可夫链从每个状态出发,
返回该状态的 时刻都是3的倍数,{3,6,9},具有周期性,最终
在平稳分布
连续状态马尔可夫链
• 连续状态马尔可夫链 定义在连续状态空间S
,随机变量
• 转移概率分布由概率转移核或转移核(transition kernel)表示。
• 设S是连续状态空间,对任意的
定义为
• 其中 是概率密度函数,满足
连续状态马尔可夫链
• 转移核
表示从 x ~ A的转移概率
• 有时也将概率密度函数
积分计算
• 给定一个概率密度函数p(x),只要取 • 就可得
• 就是说, 任何一个函数的积分都可以表示为某一个函数的数学 期望的形式,而函数的数学期望 又可以通过函数的样本均值估 计
• 于是,就可以利用样本均值来近似计算积分
例
• 用蒙特卡罗积分法求
•令 • 也就是说,假设随机变量x在(0,1)区间遵循均匀分布
蒙特卡洛方法

蒙特卡洛方法1、蒙特卡洛方法的由来蒙特卡罗分析法(Monte Carlo method),又称为统计模拟法,是一种采用随机抽样(Random Sampling)统计来估算结果的计算方法。
由于计算结果的精确度很大程度上取决于抽取样本的数量,一般需要大量的样本数据,因此在没有计算机的时代并没有受到重视。
第二次世界大战时期,美国曼哈顿原子弹计划的主要科学家之一,匈牙利美藉数学家约翰·冯·诺伊曼(现代电子计算机创始人之一)在研究物质裂变时中子扩散的实验中采用了随机抽样统计的手法,因为当时随机数的想法来自掷色子及轮盘等赌博用具,因此他采用摩洛哥著名赌城蒙特卡罗来命名这种计算方法,为这种算法增加了一层神秘色彩。
蒙特卡罗方法提出的初衷是用于物理数值模拟问题, 后来随着计算机的快速发展, 这一方法很快在函数值极小化、计算几何、组合计数等方面得到应用, 于是它作为一种独立的方法被提出来, 并发展成为一门新兴的计算科学, 属于计算数学的一个分支。
如今MC 方法已是求解科学、工程和科学技术领域大量应用问题的常用数值方法。
2、蒙特卡洛方法的核心—随机数蒙特卡洛方法的基本理论就是通过对大量的随机数样本进行统计分析,从而得到我们所需要的变量。
因此蒙特卡洛方法的核心就是随机数,只有样本中的随机数具有随机性,所得到的变量值才具有可信性和科学性。
在连续型随机变量的分布中, 最基本的分布是[0, 1]区间上的均匀分布, 也称单位均匀分布。
由该分布抽取的简单子样ξ1,ξ2ξ3 ……称为随机数序列, 其中每一个体称为随机数, 有时称为标准随机数或真随机数, 独立性和均匀性是其必备的两个特点。
真随机数是数学上的抽象, 真随机数序列是不可预计的, 因而也不可能重复产生两个相同的真随机数序列。
真随机数只能用某些随机物理过程来产生, 如放射性衰变、电子设备的热噪音、宇宙射线的触发时间等。
实际使用的随机数通常都是采用某些数学公式产生的,称为伪随机数。
蒙特卡洛算法

蒙特卡洛算法1. 蒙特卡洛⽅法的基本思想蒙特卡罗⽅法⼜叫统计模拟⽅法,它使⽤随机数(或伪随机数)来解决计算的问题,是⼀类重要的数值计算⽅法。
该⽅法的名字来源于世界著名的赌城蒙特卡罗,⽽蒙特卡罗⽅法正是以概率为基础的⽅法。
⼀个简单的例⼦可以解释蒙特卡罗⽅法,假设我们需要计算⼀个不规则图形的⾯积,那么图形的不规则程度和分析性计算(⽐如积分)的复杂程度是成正⽐的。
⽽采⽤蒙特卡罗⽅法是怎么计算的呢?⾸先你把图形放到⼀个已知⾯积的⽅框内,然后假想你有⼀些⾖⼦,把⾖⼦均匀地朝这个⽅框内撒,散好后数这个图形之中有多少颗⾖⼦,再根据图形内外⾖⼦的⽐例来计算⾯积。
当你的⾖⼦越⼩,撒的越多的时候,结果就越精确。
2.例⼦蒙特卡洛算法显然可⽤于近似计算圆周率:让计算机每次随机⽣成两个0到1之间的数,看这两个实数是否在单位圆内。
⽣成⼀系列随机点,统计单位圆内的点数与圆外的点数,内接圆⾯积和正⽅形⾯积之⽐为PI:4,PI为圆周率。
,当随机点取得越多时,其结果越接近于圆周率。
下⾯给出c++版本的实现:#include<iostream>#include<cstdio>#include<cstdlib>#include<cmath>using namespace std;double in,out,ans;double x,y,dis;double getrand(){double ran=0;int t=rand()%10000;ran=(double)t/10000;return ran;}int main(){int time=0;scanf("%d",&time);for(int i=1;i<=time;i++){x=getrand()*2;y=getrand()*2;dis=sqrt((1-x)*(1-x)+(1-y)*(1-y));if(dis>1) out++;else in++;}ans=4*in/(in+out);printf("%lf",ans);return0;}如图,当time的值取1*10^9时,PI的值表⽰为3.040527,这个值和真实值仍有较⼤区别,主要原因在cstdlib库中的rand_max,即随机数值的最⼤范围仅为32767。
浅析蒙特卡洛方法原理及应用

浅析蒙特卡洛方法原理及应用于希明(英才学院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)。
蒙特卡罗方法及应用

蒙特卡罗方法及应用一、本文概述《蒙特卡罗方法及应用》是一篇深入研究和探讨蒙特卡罗方法及其在多个领域中应用的重要性的文章。
蒙特卡罗方法,又称随机抽样或统计试验方法,是一种基于概率统计理论的数值计算方法。
它通过模拟随机过程,以大量的样本数据来估计求解问题的解,特别适用于处理复杂系统中的不确定性问题。
本文首先介绍了蒙特卡罗方法的基本原理和核心概念,包括随机变量的生成、概率分布的模拟以及随机过程的模拟等。
然后,文章详细阐述了蒙特卡罗方法在各种领域中的应用,如物理学、工程学、金融学、生物学等。
在这些领域中,蒙特卡罗方法被广泛应用于求解复杂系统的数学模型,预测和评估系统的性能,以及优化决策方案等。
本文还讨论了蒙特卡罗方法的优缺点,包括其计算效率高、适用范围广等优点,以及计算精度受样本数量影响、对随机性要求高等缺点。
文章还探讨了蒙特卡罗方法的未来发展趋势,包括与、大数据等前沿技术的结合,以及在新兴领域如量子计算中的应用等。
《蒙特卡罗方法及应用》这篇文章旨在全面介绍蒙特卡罗方法的基本原理、应用领域以及发展前景,为读者提供一个深入理解和学习蒙特卡罗方法的平台。
通过本文的阅读,读者可以更好地理解蒙特卡罗方法的本质和应用价值,为相关领域的研究和实践提供有益的参考和启示。
二、蒙特卡罗方法的基本原理蒙特卡罗方法,又称统计模拟方法或随机抽样技术,是一种以概率统计理论为指导的数值计算方法。
该方法通过模拟随机过程,求解数学、物理、工程以及金融等领域的问题。
蒙特卡罗方法的基本原理可以概括为以下几点:随机抽样:蒙特卡罗方法的核心思想是通过随机抽样来获取问题的数值解。
它根据问题的概率模型,在概率空间中进行随机抽样,以获得问题的近似解。
这种随机抽样可以是简单的均匀抽样,也可以是复杂的概率分布抽样。
大数定律:蒙特卡罗方法基于大数定律,即当试验次数足够多时,相对频率趋于概率。
通过大量的随机抽样,蒙特卡罗方法可以得到问题的近似解,并且随着抽样次数的增加,这个近似解会逐渐接近真实解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蒙特卡罗也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。
是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。
蒙特卡罗方法的名字来源于摩纳哥的一个城市蒙地卡罗,该城市以赌博业闻名,而蒙特·罗方法正是以概率为基础的方法。
与它对应的是确定性算法。
蒙特卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。
基本思想
当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。
有一个例子可以使你比较直观地了解蒙特卡罗方法:假设我们要计算一个不规则图形的面积,那么图形的不规则程度和分析性计算(比如,积分)的复杂程度是成正比的。
蒙特卡罗方法是怎么计算的呢?假想你有一袋豆子,把豆子均匀地朝这个图形上撒,然后数这个图形之中有多少颗豆子,这个豆子的数目就是图形的面积。
当你的豆子越小,撒的越多的时候,结果就越精确。
在这里我们要假定豆子都在一个平面上,相互之间没有重叠。
工作过程
在解决实际问题的时候应用蒙特卡罗方法主要有两部分工作:
用蒙特卡罗方法模拟某一过程时,需要产生各种概率分布的随机变量。
用统计方法把模型的数字特征估计出来,从而得到实际问题的数值解。
计算步骤
使用蒙特卡罗方法进行分子模拟计算是按照以下步骤进行的:
① 使用随机数发生器产生一个随机的分子构型。
②对此分子构型的其中粒子坐标做无规则的改变,产生一个新的分子构型。
③计算新的分子构型的能量。
④比较新的分子构型于改变前的分子构型的能量变化,判断是否接受该构型。
若新的分子构型能量低于原分子构型的能量,则接受新的构型,使用这个构型重复再做下一次迭代。
若新的分子构型能量高于原分子构型的能量,则计算玻尔兹曼常数,同时产生一个随机数。
若这个随机数大于所计算出的玻尔兹曼因子,则放弃这个构型,重新计算。
若这个随机数小于所计算出的玻尔兹曼因子,则接受这个构型,使用这个构型重复再做下一次迭代。
⑤如此进行迭代计算,直至最后搜索出低于所给能量条件的分子构型结束。
在数学中的应用
通常蒙特·卡罗方法通过构造符合一定规则的随机数来解决数学上的各种问题。
对于那些由于计算过于复杂而难以得到解析解或者根本没有解析解的问题,蒙特·卡罗方法是一种有效的求出数值解的方法。
一般蒙特·卡罗方法在数学中最常见的应用就是蒙特·卡罗积分。
积分
非权重蒙特卡罗积分,也称确定性抽样,是对被积函数变量区间进行随机均匀抽样,然后对被抽样点的函数值求平均,从而可以得到函数积分的近似值。
此种方法的正确性是基于概率论的中心极限定理。
当抽样点数为m时,使用此种方法所得近似解的统计误差恒为,不随积分维数的改变而改变。
因此当积分维度较高时,蒙特卡罗方法相对于其他数值解法更优。
解题三个主要步骤:
构造或描述概率过程:对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过程,对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解。
即要将不具有随机性质的问题转化为随机性质的问题。
实现从已知概率分布抽样:构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。
最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。
随机数就是具有这种均匀分布的随机变量。
随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。
产生随机数的问题,就是从这个分布的抽样问题。
在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。
另一种方法是用数学递推公式产生。
这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列。
不过,经过多种统计检验表明,它与真正的随机数,或随机数序列具有相近的性质,因此可把它作为真正的随机数来使用。
由已知分布随机抽样有各种方法,与从(0,1)上均匀分布抽样不同,这些方法都
是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。
由此可见,随机数是我们实现蒙特卡罗模拟的基本工具。
建立各种估计量:一般说来,构造了概率模型并能从中抽样后,即实现模拟实验后,我们就要确定一个随机变量,作为所要求的问题的解,我们称它为无偏估计。
建立各种估计量,相当于对模拟实验的结果进行考察和登记,从中得到问题的解。
例如:检验产品的正品率问题,我们可以用1表示正品,0表示次品,于是对每个产品检验可以定义如下的随机变数Ti,作为正品率的估计量:于是,在N次实验后,正品个数为:显然,正品率p为:不难看出,Ti为无偏估计。
当然,还可以引入其它类型的估计,如最大似然估计,渐进有偏估计等。
但是,在蒙特卡罗计算中,使用最多的是无偏估计。
用比较抽象的概率语言描述蒙特卡罗方法解题的手续如下:构造一个概率空间(W ,A,P),其中,W 是一个事件集合,A是集合W 的子集的s 体,P是在A上建立的某个概率测度;在这个概率空间中,选取一个随机变量q (w ),w Î W ,使得这个随机变量的期望值正好是所要求的解Q ,然后用q (w )的简单子样的算术平均值作为Q 的近似值。
特点:
直接追踪粒子,物理思路清晰,易于理解。
· 采用随机抽样的方法,较真切的模拟粒子输运的过程,反映了统计涨落的规律。
· 不受系统多维、多因素等复杂性的限制,是解决复杂系统粒子输运问题的好方法。
· MC程序结构清晰简单。
· 研究人员采用MC方法编写程序来解决粒子输运问题,比较容易得到自己想得到的任意中间结果,应用灵活性强。
· MC方法主要弱点是收敛速度较慢和误差的概率性质,其概率误差正比于,如果单纯以增大抽样粒子个数N来减小误差,就要增加很大的计算量。
计算程序:
关于蒙特卡罗方法的计算程序已经有很多,如:EGS4、FLUKA、ETRAN、ITS、MCNP、GEANT等。
这些程序大多经过了多年的发展,花费了几百人年的工作量。
除欧洲核子研究中心(CERN)发行的GEANT主要用于高能物理探测器响应和粒子径迹的模拟外,其它程序都深入到低能领域,并被广泛应用。
就电子和光子输运的模拟而言,这些程序可被分为两个系列:1.EGS4、FLUKA、GRANT
2.ETRAN、ITS、MCNP 这两个系列的区别在于:对于电子输运过程的模拟根据不同的理论采用了不同的算法。
EGS4和ETRAN分别为两个系列的基础,其它程序都采用了它们的核心
算法。
ETRAN(for Electron Transport)由美国国家标准局辐射研究中心开发,主要模拟光子和电子,能量范围可从1KeV到1GeV。
ITS(The integrated TIGER Series of Coupled Electron/Photon Monte Carlo Transport Codes )是由美国圣地亚哥(Sandia)国家实验室在ETRAN 的基础上开发的一系列模拟计算程序,包括TIGER 、CYLTRAN 、ACCEPT等,它们的主要差别在于几何模型的不同。
TIGER研究的是一维多层的问题,CYLTRAN研究的是粒子在圆柱形介质中的输运问题,ACCEPT是解决粒子在三维空间输运的通用程序。
NCNP(Monte Carlo Neutron and Photo Transport Code)由美国橡树
林国家实验室(Oak Ridge National Laboratory)开发的一套模拟中子、光子和电子在物质中输运过程的通用MC 计算程序,在它早期的版本中并不包含对电子输运过程的模拟,只模拟中子和光子,较新的版本(如MCNP4A)
则引进了ETRAN,加入了对电子的模拟。
FLUKA 是一个可以模拟包括中子、电子、光子和质子等30余种粒子的大型MC计算程序,它把EGS4容纳进来以完成对光子和电子输运过程的模拟,并且对低能电子的输运算法进行了改进。