[工学]随机算法数值概率amp舍伍德.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]随机算法数值概率

第7章 随机算法 学习要点 了解随机算法的基本特征 理解产生伪随机数的算法 掌握数值随机化算法的设计思想 掌握舍伍德算法的设计思想 掌握拉斯维加斯算法的设计思想 掌握蒙特卡罗算法的设计思想 随机算法的基本特征 前面各章讨论的算法的每一个步骤都是确定的,而本章讨论的随机算法允许算法在执行过程中随机地选择一下计算步骤。 随机算法的基本特征 随机算法对所求解问题的同一个实例用同一随机算法求解两次可能得到完全不同的效果。这两次求解所需要的时间,甚至所得到的结果都可能会有相当大的差别。 包括 数值概率算法 蒙特卡罗(Monte Carlo)算法 拉斯维加斯(Las Vegas)算法 舍伍德(Sherwood)算法 7.1随机数 7.1随机数 随机数在随机化算法设计中扮演着十分重要的角色。在现实计算机上无法产生真正的随机数,因此在随机化算法中使用的随机数都是一定程度上随机的,即伪随机数。 线性同余法是产生伪随机数的最常用的方法。由线性同余法产生的随机序列a0,a1,…,an,满足: 其中b?0,c?0,d?m。d称为该随机序列的种子。如何选取该方法中的常数b、c和m直接关系到所产生的随机序列的随机性能。这是随机性理论研究的内容,已超出本书讨论的范围。从直观上看,m应取得充分大,因此可取m为机器大数。 函数Random在每次计算时,用线性同余式计算新的种子randSeed。它的高16位的随机性较好。将randSeed右移16位得到一个0~65535间的随机整数,然后再将此随机整数映射到0~(n-1)范围内。 下面用计算机产生的伪随机数来模拟抛硬币实验。假设抛10次硬币构成一个事件。调用Random(2)返回一个二值结果。返回0表示抛硬币得到反面,返回1表示得到正面。下面的算法TossCoins模拟抛10次硬币这一事件50000次。用head[i] (0 ? i ?10)记录这50000此模拟恰好得到i次正面的次数。最终输出模拟抛硬币事件得到正面事件的频率图,如下图所示: 0 * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 7.2 数值随机化算法 7.2 数值随机化算法 在具体实现时,只要在第一象限计算即可: double Darts (int n) { // 用随机投点法计算?值 static RandomNumber dart; int k=0; for (int i=1;i =n;i++) { double x=dart.fRandom(); double y=dart.fRandom(); if ((x*x+y*y)=1) k++; } return 4*k/double(n); } 7.2.2 计算定积分 double Darts (int n) { // 用随机投点法计算定积分 static RandomNumber dart; int k=0; for (int i=1;i=n;i++) { double x=dart.fRandom(); double y=dart.fRandom(); if (y=f(x)) k++; } return k/double(n) } 7.3 舍伍德算法 7.3 舍伍德算法 7.3.1 随机快速算法 7.3.2 随机选择算法 7.3.2 有哪些信誉好的足球投注网站有序表 7.3.1 随机快速排序算法 最坏时间复杂度仍是:O(n2) 最坏情况:当随机数发生器第i次随机产生的枢点元素恰恰就是数组中第i大或第i小的元素时造成最坏情况 与输入无关 情况是微乎其微的 输入元素的任何排列顺序,都不可能使算法行为处于最坏的情况 期望运行时间是O(nlogn) 7.3.2 随机选择算法 选择问题 给定线性序集中n个元素和一个整数1≤k≤n,要求找出这n个元素中第k小的元素 7.3.

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档