版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,算法设计与分析,北京交通大学计算机学院 李清勇 E-mail: Tel: 51688603 主校区: 9号楼 北517,2,随机数,随机数在概率算法设计中扮演着十分重要的角色。在现实计算机上无法产生真正的随机数,因此在概率算法中使用的随机数都是一定程度上随机的,即伪随机数。 线性同余法是产生伪随机数的最常用的方法。由线性同余法产生的随机序列a0,a1,an满足,其中b0,c0,dm。d称为该随机序列的种子。如何选取该方法中的常数b、c和m直接关系到所产生的随机序列的随机性能。这是随机性理论研究的内容,已超出本书讨论的范围。从直观上看,m应取得充分大,因此可取m为机器大数,另外应取gcd(m
2、,b)=1,因此可取b为一素数。,3,用随机投点法计算值,设有一半径为r的圆及其外切四边形。向该正方形随机地投掷n个点。设落入圆内的点数为k。由于所投入的点在正方形上均匀分布,因而所投入的点落入圆内的概率为 。所以当n足够大时,k与n之比就逼近这一概率。从而,public static double darts(int n) / 用随机投点法计算值 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
3、)n; ,4,计算定积分-随机投点法,设f(x)是0,1上的连续函数,且0f(x)1。 需要计算的积分为 ,积分I等于图中的面积G。,在图所示单位正方形内均匀地作投点试验,则随机点落在曲线下面的概率为 假设向单位正方形内随机地投入n个点(xi,yi)。如果有m个点落入G内,则随机点落入G内的概率,5,计算定积分-平均值法,任意取一组独立同分布的随机变量zi , zi 在a,b中服从分布律 f(x),令 g*(x)=g(x)/f(x),则g*(zi)也是一组独立同分布随机变量,而且,由中心极限定理:,6,计算定积分-平均值法,假定被积函数g(x)在区间a, b内可积,所求定积分:,如果定义如下g
4、*(x)函数和均匀分布函数f(x):,则所求积分可以写为:,7,舍伍德(Sherwood)算法,设A是一个确定性算法,当它的输入实例为x时所需的计算时间记为tA(x)。设Xn是算法A的输入规模为n的实例的全体,则当问题的输入规模为n时,算法A所需的平均时间为,这显然不能排除存在xXn使得 的可能性。希望获得一个概率算法B,使得对问题的输入规模为n的每一个实例均有 这就是舍伍德算法设计的基本思想。当s(n)与tA(n)相比可忽略时,舍伍德算法可获得很好的平均性能。,8,舍伍德(Sherwood)算法,9,舍伍德(Sherwood)算法,10,舍伍德(Sherwood)算法,预处理方法模拟舍伍德算
5、法 有时也会遇到这样的情况,即所给的确定性算法无法直接改造成舍伍德型算法。此时可借助于随机预处理技术,不改变原有的确定性算法,仅对其输入进行随机洗牌,同样可收到舍伍德算法的效果。,11,拉斯维加斯(Las Vegas)算法,舍伍德算法使得所有实例的时间复杂度相对均匀,但是它不能改善其平均时间复杂度; 拉斯维加斯算法能有效改善算法的性能,甚至某些迄今为止找不到有效的确定性解法的问题,拉斯维加斯算法也能找到满意的解; 拉斯维加斯算法的一个显著特征是它所作的随机性决策有可能导致算法找不到所需的解。,void obstinate(InputType x, OutputType y) / 反复调用拉斯维
6、加斯算法LV(x,y),直到找到问题的一个解y boolean success = false; while (!success) success = lV(x,y); ,12,拉斯维加斯( Las Vegas )算法,设p(x)是对输入x调用拉斯维加斯算法获得问题的一个解的概率。一个正确的拉斯维加斯算法应该对所有输入x均有p(x)0。设t(x)是算法obstinate找到具体实例x的一个解所需的平均时间 ,s(x)和e(x)分别是算法对于具体实例x求解成功或求解失败所需的平均时间,则有:,13,N后问题,对于n后问题的任何一个解而言,每一个皇后在棋盘上的位置无任何规律,不具有系统性,而更象是
7、随机放置的。由此得 拉斯维加斯算法。,14,N后问题,如果将上述随机放置策略与回溯法相结合,可能会获得更好的效果。可以先在棋盘的若干行中随机地放置皇后,然后在后继行中用回溯法继续放置,直至找到一个解或宣告失败。随机放置的皇后越多,后继回溯搜索所需的时间就越少,但失败的概率也就越大。,15,N后问题,16,蒙特卡罗(Monte Carlo)算法,在实际应用中常会遇到一些问题,不论采用确定性算法或概率算法都无法保证每次都能得到正确的解答。蒙特卡罗算法则在一般情况下可以保证对问题的所有实例都以高概率给出正确解,但是通常无法判定一个具体解是否正确。 设p是一个实数,且1/2 p 1。如果一个蒙特卡罗算法对于问题的任一实例得到正确解的概率不小于p,则称该蒙特卡罗算法是p正确的,且称p-1/2是该算法的优势。 如果对于同一实例,蒙特卡
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年自动化测试工程师社会招聘专业试卷及答案
- 2026年中医耳鼻喉科脾虚湿盛型鼻渊辨证测试卷及答案
- 室上性心动过速基层诊疗指南解读
- 钢结构井架安装技术研究与实践
- 自带动力设备安全操作规程培训
- 人工挖孔桩钢筋安装安全技术交底培训
- 脚手架工程(承重脚手架)主要安全卡控措施培训
- (2026年)有关学期教学工作总结
- 2025年河南省西峡县四下数学期末学业水平测试模拟试题含答案解析
- 2025年河南省开封市杞县四年级数学第二学期期末质量检测模拟试题(含答案解析)
- 《电机与电气控制技术》课件-1-4 继电器的认识与检测
- 2026第三季度广西一键游数智文旅产业集团有限公司社会招聘12人笔试题库带答案
- 第二单元.5 将相和 课件 2026-2027学年统编版小学语文 五年级上册
- 小学英语全套语法专项练习题(人教PEP全学段含解析)
- 2026年中考物理(天津卷)真题详细解读及评析
- 医疗美容门诊诊疗流程规范指南
- 肝病科管理制度
- 2026年机械制图与公差第一二三章培训课件
- 五升六数学《暑假作业》每日一练 2026
- 宏观经济学二十五讲中国视角
- 2026年设备监理师之质量投资进度控制押题模拟含答案详解(A卷)
评论
0/150
提交评论