概率算法汇总.docxVIP

  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文档。上传文档
查看更多
概率算法 概率算法的一个基本特征是对所求解问题的同一实例用同一概率算法求 解两次可 能得到完全不同的效果。这两次求解问题所需的时间甚至所得到的结 能得到完全不同的效果。 这两次求解问题所需的时间甚至所得到的结 果可能会有相当大的差别。一般情况下,可将概率算法大致分为四类 :数值概 率算法,蒙特卡罗算法,拉斯维加斯算法和舍伍德算法。 一、数值概率算法常用于数值问题的求解。这类算法所得到的往往是近似 解。 而且近似解的精度随计算时间的增加不断提高。在许多情况下,要计算出问题的精确 解是不可能或没有必要的因此用数值概率算法可得到相当满意的 解是不可能或没有必要的 因此用数值概率算法可得到相当满意的 解。 1、用随机投点法计算n值 设有一半径为r的圆及其外切四边形。向该正方形随机地投掷n个点。设落入圆内的 点数为k。由于所投入的点在正方形上均匀分布,因而所投入的点落入圆内的概率为壬 ■。所以当n足够大-4k (1 :.兰) 4r 4 (a) 、计算定积分 设f(x)是[0,1]上的连续函数,且ow f(x) 1。 需要计算的积分为I =.f(x)dx,积分I等于图中的面积G 1 f(x) 在图所示单位正方形内均匀地作投点试验,则随机点落在曲线下面的概率为 R(y 空 f (x)} = dydx = f (x)dx 0 0 0 假设向单位正方形内随机地投入n个点(xi,yi)如果有川个点落入6内,则随机 点落入6内的概率I: m n 3、解非线性方程组 求解下面的非线性方程组 (X?%,...,Xj二° g?X2,..*)=0 fn (xi, x2, ,xn) -° 其中,Xj,x2,,,x n是实变量,fi是未知量x1,x2,,,xn 的非线性实函数。要求 确定上述方程组在指定求根范围内的一组解乂弗x*,,, xn*。 在指定求根区域。内,选定一个随机点x°作为随机搜索的出发点。在算法的搜索过程 中,假设第j步随机搜索得到的随机搜索点为xj在第j+1步,计算出下一步的随机搜 索增量xj从当前点xj依Uxj得到第j+1步的随机搜索点。当XV时,取为所求非线性 方程组的近似解。否则进行下一步新的随机搜索过程。 二、蒙特卡罗算法用于求问题的准确解。对于许多问题来说,近似解毫无意义。 例如,一个判定问题其解为“是”或“否”,二者必居其一,不存在任 何近似解答。又 如,我们要求一个整数的因子时所给出的解答必须是准确的,一个整数的近似因子没有 任何意义。用蒙特卡罗算法能求得问题的一个解,但这个解未必是正确的。求得正确解 的概率依赖于算法所用的时间。算法所用的时间越多,得到正确解的概率就越高。蒙特 卡罗算法的主要缺点就在于此。一般情况下,无法有效判断得到的解是否肯定正确。 在实际应用中常会遇到一些问题,不论采用确定性算法或概率算法都无法保证每 次都能得到正确的解答。蒙特卡罗算法则在一般情况下可以保证对问题的所有实例都以 高概率给出正确解,但是通常无法判定一个具体解是否正确。 例:设P是一个实数,且1/2口 1。如果一个蒙特卡罗算法对于问题的任一实例得 到正确解的概率不小于?,则称该蒙特卡罗算法是P正确的,且称P-1/2是该算法的优 势。 如果对于同一实例,蒙特卡罗算法不会给出 2个不同的正确解答,则称该蒙特卡罗 算法是一致的。 有些蒙特卡罗算法除了具有描述问题实例的输入参数外,还具有描述错误解可接受概率 的参数。这类算法的计算时间复杂性通常由问题的实例规模以及错误解可接受概率的函 数来描述。 1、基本思想对于一个一致的P正确蒙特卡罗算法,要提高获得正确解的概率,只 要执行该算法若干次,并选择出现频次最高的解即可。 1 f(x) 1 如果重复调用一个一致的(1/2+ ;)正确的蒙特卡罗算法2m-1次,得到正确解的概率 1 md*2i)1 2、(-4g2)m 至少为1「,其中,:三一-」〉,jy4 对于一个解所给问题的蒙特卡罗算法MC(x),如果存 在问题实例的子集X使得: 1)当xfx时,MC(x)返回的解是正确的;2)当xX时,正确解是y。,但MC(x )返回的解 未必是y。。称上述算法MC(x)是偏y。的算法。 重复调用一个一致的,p正确偏yo蒙特卡罗算法k次,可得到一个0(1-(1-p)k)正确 的蒙 特卡罗算法,且所得算法仍是一个一致的偏 yo蒙特卡罗算法。 2、 主元素问题 ° 设T[1:n]是一个含有n个元素的数组。当|{l| T[i] = x}|n/2 时,称元素x是数 组T的主元素。 对于任何给定的〉0, MajorityMC算法重复调用log(1/;)次算法Majority。它是一个偏真 蒙特卡罗算法,且其错误概率小于。MajorityMC算法所需的计算时间显 然是 O(nlog(1/ ;))。? templatevclass T

文档评论(0)

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

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

1亿VIP精品文档

相关文档