蒙特卡洛算法能用来干什么?

2024-05-18 07:30

1. 蒙特卡洛算法能用来干什么?

蒙特卡洛方法在金融工程学,宏观经济学,生物医学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。


一般是计算一些复杂的随机过程的路径,取平均值,因为无法显式计算出解析的函数表达式(很多是复杂概率密度函数的数学期望)
还可以计算数值积分
维数越高的积分越显出蒙特卡洛算法相对于高斯积分的优越性

不明白可追问

蒙特卡洛算法能用来干什么?

2. 蒙特卡洛算法

蒙特·卡罗方法(Monte
Carlo
method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。与它对应的是确定性算法。蒙特·卡罗方法在金融工程学,宏观经济学,计算物理学(如粒子输运计算、量子热力学计算、空气动力学计算)等领域应用广泛。
分子模拟计算
使用蒙特·卡罗方法进行分子模拟计算是按照以下步骤进行的:1.
使用随机数发生器产生一个随机的分子构型。2.
对此分子构型的其中粒子坐标做无规则的改变,产生一个新的分子构型。3.
计算新的分子构型的能量。4.
比较新的分子构型于改变前的分子构型的能量变化,判断是否接受该构型。若新的分子构型能量低于原分子构型的能量,则接受新的构型,使用这个构型重复再做下一次迭代。
若新的分子构型能量高于原分子构型的能量,则计算玻尔兹曼因子,并产生一个随机数。若这个随机数大于所计算出的玻尔兹曼因子,则放弃这个构型,重新计算。
若这个随机数小于所计算出的玻尔兹曼因子,则接受这个构型,使用这个构型重复再做下一次迭代。5.
如此进行迭代计算,直至最后搜索出低于所给能量条件的分子构型结束。

3. 蒙特卡罗算法是什么?

蒙特卡罗(MonteCarlo)方法,或称计算机随机模拟方法,是一种基于“随机数”的计算方法。这一方法源于美国在第二次世界大战进行研制原子弹的“曼哈顿计划”。
该计划的主持人之一、数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的MonteCarlo—来命名这种方法,为它蒙上了一层神秘色彩。


主要是:
使用随机数( 或更常见的伪随机数)来解决很多计算问题的方法。 将所求解的问题同一定的概率模型相联系, 用电子计算机实现统计模拟或 抽样 ,以获得问题的近似解。 为象征性地表明这一方法的概率统计特征, 故借用赌城蒙特卡罗命名。

蒙特卡罗算法是什么?

4. 蒙特卡洛方法原理

蒙特卡罗法也称统计模拟法、统计试验法。是把概率现象作为研究对象的数值模拟方法。是按抽样调查法求取统计值来推定未知特性量的计算方法。蒙特卡罗是摩纳哥的著名赌城,该法为表明其随机抽样的本质而命名。故适用于对离散系统进行计算仿真试验。在计算仿真中,通过构造一个和系统性能相近似的概率模型,并在数字计算机上进行随机试验,可以模拟系统的随机特性
蒙特卡洛法(又称统计试验法)是描述装备运用过程中各种随机现象的基本方法,而且它特别适用于一些解析法难以求解甚至不可能求解的问题,因而在装备效能评估中具有重要地位。
用蒙特卡洛法来描述装备运用过程是1950年美国人约翰逊首先提出的。这种方法能充分体现随机因素对装备运用过程的影响和作用。更确切地反映运用活动的动态过程。在装备效能评估中,常用蒙特卡洛法来确定含有随机因素的效率指标,如发现概率、命中概率、平均毁伤目标数等;模拟随机服务系统中的随机现象并计算其数字特征;对一些复杂的装备运用行动,通过合理的分解,将其简化成一系列前后相连的事件,再对每一事件用随机抽样方法进行模拟,最后达到模拟装备运用活动或运用过程的目的。[2]
基本思路
蒙特卡洛法的基本思想是:为了求解问题,首先建立一个概率模型或随机过程,使它的参数或数字特征等于问题的解:然后通过对模型或过程的观察或抽样试验来计算这些参数或数字特征,最后给出所求解的近似值。解的精确度用估计值的标准误差来表示。蒙特卡洛法的主要理论基础是概率统计理论,主要手段是随机抽样、统计试验。用蒙特卡洛法求解实际问题的基本步骤为:
(1)根据实际问题的特点.构造简单而又便于实现的概率统计模型.使所求的解恰好是所求问题的概率分布或数学期望;
(2)给出模型中各种不同分布随机变量的抽样方法;
(3)统计处理模拟结果,给出问题解的统计估计值和精度估计值。[2]
优缺点
蒙特卡罗法的最大优点是:
1.方法的误差与问题的维数无关。
2.对于具有统计性质问题可以直接进行解决。
3.对于连续性的问题不必进行离散化处理
蒙特卡罗法的缺点则是:
1.对于确定性问题需要转化成随机性问题。
2.误差是概率误差。
3.通常需要较多的计算步数N.
蒙特卡罗法作为一种计算方法,是由美国数学家乌拉姆(Ulam , S. M.)与美籍匈牙利数学家冯·诺伊曼(von Neumann,J.)在20世纪40年代中叶,为研制核武器的需要而首先提出来的.实际上,该方法的基本思想早就被统计学家所采用了.例如,早在17世纪,人们就知道了依频数决定概率的方法。
步骤
蒙特卡洛法是一种用来模拟随机现象的数学方法,这种方法在作战模拟中能直接反映作战过程中的随机性。在作战模拟中能用解析法解决的问题虽然越来越多,但有些情况下却只能采用蒙特卡洛法。使用蒙特卡洛法的基本步骤如下:
(1)根据作战过程的特点构造模拟模型;
(2)确定所需要的各项基础数据;
(3)使用可提高模拟精度和收敛速度的方法;
(4)估计模拟次数;
(5)编制程序并在计算机上运行;
(6)统计处理数据,给出问题的模拟结果及其精度估计。
在蒙特卡洛法中,对同一个问题或现象可采用多种不同的模拟方法,它们有好有差,精度有高有低,计算量有大有小,收敛速度有快有慢,在方法的选择上有一定的技巧。[3]
应用举例
在我方某前沿防守地域,敌人以1个炮兵排(含两门火炮)为单位对我方进行干扰和破坏。为躲避我方打击,敌方对其指挥所进行了伪装并经常变换射击地点。经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位在指示正确时,有1/3的射击效果能毁伤敌人1门火炮,有1/6的射击效果能全部消灭敌人。
解:希望能用某种方法把我方将要对敌人实施的20次打击结果显示出来,确定有效射击的比率及毁伤敌方火炮的平均值。这是一个概率问题,可以通过理论计算得到相应的概率和期望值。但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态过程。
为了显示我方20次射击的过程,必须用某种方式模拟出以下两件事:一是观察所对目标的指示正确或不正确;二是当指示正确时,我方火力单位的射击结果。对第一件事进行模拟试验时有两种结果,每一种结果出现的概率都是1/2。因此,可用投掷1枚硬币的方式予以确定。当硬币出现正面时为指示正确,反之为不正确。对第二件事进行模拟试验时有3种结果,毁伤1门火炮的可能为1/3,毁伤2门火炮的可能为1/6,没能毁伤敌火炮的可能为1/2。这时,可用投掷骰子的办法来确定,如果出现的是1、2、3三个点则认为没能击中敌人,如果出现的是4、5点则认为毁伤敌1门火炮,如果出现6点则认为毁伤敌2门火炮。
通过上面的方式,就可把我方20次射击的过程动态地显现出来。

5. 蒙特卡洛树是什么算法

蒙特卡罗树搜索(MCTS)会逐渐的建立一颗不对称的树。可以分为四步并反复迭代:

(1)选择
从根节点,也就是要做决策的局面R出发向下选择一个最急迫需要被拓展的节点T;局面R是第一个被检查的节点,被检查的节点如果存在一个没有被评价过的招式m,那么被检查的节点在执行m后得到的新局面就是我们所需要展开的T;如果被检查的局面所有可行的招式已经都被评价过了,那么利用ucb公式得到一个拥有最大ucb值的可行招式,并且对这个招式产生的新局面再次进行检查;如果被检查的局面是一个游戏已经结束的游戏局面,那么直接执行步骤4;通过反复的进行检查,最终得到一个在树的最底层的最后一次被检查的局面c和它的一个没有被评价过的招式m,执行步骤2。

(2)拓展
对于此时存在于内存中的局面c,添加一个它的子节点。这个子节点由局面c执行招式m而得到,也就是T。

(3)模拟
从局面T出发,双方开始随机的落子。最终得到一个结果(win/lost),以此更新T节点的胜利率。

(4)反向传播
在T模拟结束之后,它的父节点c以及其所有的祖先节点依次更新胜利率。一个节点的胜利率为这个节点所有的子节点的平均胜利率。并从T开始,一直反向传播到根节点R,因此路径上所有的节点的胜利率都会被更新。

蒙特卡洛树是什么算法

6. 什么是蒙特卡洛分析?

蒙特卡罗分析法(统计模拟法),是一种采用随机抽样统计来估算结果的计算方法,可用于估算圆周率,由约翰·冯·诺伊曼提出。由于计算结果的精确度很大程度上取决于抽取样本的数量,一般需要大量的样本数据,因此在没有计算机的时代并没有受到重视。
利用蒙特卡罗分析法可用于估算圆周率,如图,在边长为 2 的正方形内作一个半径为 1 的圆,正方形的面积等于 2×2=4,圆的面积等于 π×1×1=π,由此可得出,正方形的面积与圆形的面积的比值为 4:π。
现在让我们用电脑或轮盘生成若干组均匀分布于 0-2 之间的随机数,作为某一点的坐标散布于正方形内,那么落在正方形内的点数 N 与落在圆形内的点数 K 的比值接近于正方形的面积与圆的面积的比值,即,N:K ≈ 4:π,因此,π ≈ 4K/N 。
用此方法求圆周率,需要大量的均匀分布的随机数才能获得比较准确的数值,这也是蒙特卡罗分析法的不足之处。

扩展资料:
使用蒙特·卡罗方法进行分子模拟计算是按照以下步骤进行的:
1. 使用随机数发生器产生一个随机的分子构型。
2. 对此分子构型的其中粒子坐标做无规则的改变,产生一个新的分子构型。
3. 计算新的分子构型的能量。
4. 比较新的分子构型于改变前的分子构型的能量变化,判断是否接受该构型。
若新的分子构型能量低于原分子构型的能量,则接受新的构型,使用这个构型重复再做下一次迭代。 若新的分子构型能量高于原分子构型的能量,则计算玻尔兹曼因子,并产生一个随机数。
若这个随机数大于所计算出的玻尔兹曼因子,则放弃这个构型,重新计算。 若这个随机数小于所计算出的玻尔兹曼因子,则接受这个构型,使用这个构型重复再做下一次迭代。
5. 如此进行迭代计算,直至最后搜索出低于所给能量条件的分子构型结束。
项目管理中蒙特·卡罗模拟方法的一般步骤是:
1.对每一项活动,输入最小、最大和最可能估计数据,并为其选择一种合适的先验分布模型;
2.计算机根据上述输入,利用给定的某种规则,快速实施充分大量的随机抽样
3.对随机抽样的数据进行必要的数学计算,求出结果
4.对求出的结果进行统计学处理,求出最小值、最大值以及数学期望值和单位标准偏差
5.根据求出的统计学处理数据,让计算机自动生成概率分布曲线和累积概率曲线(通常是基于正态分布的概率累积S曲线)
6.依据累积概率曲线进行项目风险分析。
参考资料:百度百科---蒙特卡罗分析法

7. matlab如何实现蒙特卡洛算法?

1、首先我们启动matlab,新建一个函数文件。

2、在弹出的编辑窗口中输入如下代码。该代码的目的是创建蒙特卡洛主函数。

3、然后我们保存该函数文件。

4、再建立一个函数文件,输入代码如下。该代码的目的是构造积分函数,保存上面的积分函数文件。

5、在命令行窗口中直接调用该函数,如图所示为求得的结果。

6、绘制出积分区域即可。

matlab如何实现蒙特卡洛算法?

8. 蒙特卡洛分析是什么

定量分析技术(例如蒙特卡罗模拟)可以通过潜在结果的概率分布帮助项目经理做出决策。

蒙特卡洛模拟技术在很大程度上依赖关键变量的随机性来解决问题。除了关键参数,我们还需要了解它们之间的关系以及足够的数据以进一步分析。

要想深入了解程序管理中的蒙特卡罗模拟让我们用大多数人熟悉的案例研究使用MS Excel进行一个实验。

案例研究

Shubham是XYZ公司的首席执行官。在发布计划之后,他的团队致力于为客户提供关键功能。Mohit是该公司的项目经理,根据他一直跟踪的风险和工作进度总结,已经确定了在达到目标交付日期方面的挑战
步骤1:确定随机数种子

在我们的场景中,因为我们知道最低的速度(Velocity)和最高速度(Velocity),我们可以得出:MIN (最后3次冲刺的实际速度)+RAND()*(MAX(最后3次冲刺的实际速度)-MIN (最后3次冲刺的实际速度))

我们可以选择任何函数(例如添加风险或范围参数),但为了简单起见,选择这个函数作为通常考虑调整大小时涉及的工作、复杂性和不确定性的速度。

步骤2:设置试验

行业标准表明,蒙特卡罗模拟至少有10000次运行。由于我们无论如何都在Excel中进行,因此我们可以进行15000次运行(或更多)。设置一个1至15000的试验列。

步骤3:随机运行

为第一次运行作为种子函数设置速度(Velocity)的另一列(如步骤1中所述)。我们现在有两个15000列,采用运行值填充第一列,第二列填充第一次运行的值。
最新文章
热门文章
推荐阅读