蒙特卡洛算法演示稿件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
蒙特卡洛算法演示稿件

今 日 主 讲 何谓“算法”? 蒙特卡洛算法概述 蒙特卡洛算法基本思想 蒙特卡洛算法的应用 蒙特卡洛算法与数学建模不可不说的故事 何 谓 算 法 ? 百度百科 模型分析的一组可行的、确定的和有穷的规则。 简而言之 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。 评价因子 时间复杂度和空间复杂度。 蒙特卡洛算法概述 算法来源 算法基本思想 算法基本思想 * 蒙特卡洛算法(Monte Carlo method)是以概率和统计的理论、方法为基础的一种计算方法,将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解,故又称统计模拟法或统计试验法。 蒙特卡洛是摩纳哥的一个城市,以赌博闻名于世界。蒙特卡洛算法借用这一城市的名称是为了象征性地表明该方法的概率统计的特点。 蒙特卡洛算法作为一种计算方法,是由S.M.乌拉姆和J.冯?诺伊曼在20世纪40年代中叶为研制核武器的需要而首先提出来的。 Monte-Carlo, Monaco 蒲丰氏问题 为了求得圆周率π值,在十九世纪后期,有很多人作了这样的试验:将长为l的一根针任意投到地面上,用针与一组相间距离为a( l<a)的平行线相交的频率代替概率P,再利用准确的关系式: 求出π值: 其中N为投计次数,n为针与平行线相交次数。这就是古典概率论中著名的蒲丰氏问题。 分析知针与平行线相交的充要条件是: 其中: 建立直角坐标系 ,上述条件在坐标系下将是曲线所围成的曲边梯形区域。由几何概率知: 一些人进行了实验,其结果列于下表 : 3.1415929 3408 1901 拉查里尼 3.1419 1120 1894 福克斯 3.1553 3204 1855 斯密思 3.1596 5000 1850 沃尔弗 π的实验值 投计次数 年份 实验者 由上面的例子可以看出,当所求问题的解是某个事件的概率,或者是某个随机变量的数学期望,或者是与之有关的量时,通过某种试验的方法,得出该事件发生的频率,再通过它得到问题的解。这就是蒙特卡洛方法的基本思想。 蒙特卡洛方法的基本思想虽然早已被人们提出,却很少被使用。直到电子计算机出现后,使得人们可以通过电子计算机来模拟巨大数目的随机试验过程,使得蒙特卡洛方法得以广泛地应用,在现代化的科学技术中发挥应有的作用 在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏.为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点。 经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位,在指示正确时,有1/3的射击效果能毁伤敌人一门火炮,有1/6的射击效果能全部毁伤敌人火炮. 现在希望能用某种方式把我方将要对敌人实施的20次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。 分析:这是一个概率问题,可以通过理论计算得到相应的概率和期望值.但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态过程. 算法应用举例 需要模拟出以下两件事: [2]当指示正确时,我方火力单位的射击结果情况 [1]观察所对目标的指示正确与否 模拟试验有两种结果,每一种结果出现的概率都是1/2。 因此,可用投掷一枚硬币的方式予以确定,当硬币出现正面时为指示正确,反之为不正确. 模拟试验有三种结果:毁伤一门火炮的可能性为1/3(即2/6),毁伤两门的可能性为1/6,没能毁伤敌火炮的可能性为1/2(即3/6). 这时可用投掷骰子的方法来确定: 如果出现的是1、2、3三个点:则认为没能击中敌人; 如果出现的是4、5点:则认为毁伤敌人一门火炮; 若出现的是6点:则认为毁伤敌人两门火炮. 问题分析 i:要模拟的打击次数; k1:没击中敌人火炮的射击总数; k2:击中敌人一门火炮的射击总数; k3:击中敌人两门火炮的射击总数; E:有效射击比率; E1:20次射击平均每次毁伤敌人的火炮数。 符号说明 初始化:i=0,k1=0,k2=0,k3=0 i=i+1 骰子点数? k1=k1+1 k2=k2+1 k3=k3+1 k1=k1+1 i<20? E=(k2+k3)/20 E1=0*k1/20+1*k2/20+2*k3/20 停止 硬币正面? Y N N Y 1,2,3 4,5 6 模拟框图 理论计算 计算机模拟 用蒙特卡洛方法进行计算机模拟的步骤: [1] 设计一个逻辑框图,即模拟模型. [2] 根据流程图编写程序,模拟随机现象.可通过具有各种概率分布的模拟随机数来模拟随机现象. [3] 分析模拟结果,计算所需要结果. 注:rand(n)

文档评论(0)

maxmin + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档