网站大量收购独家精品文档,联系QQ:2885784924

近似算法的特点与计算方法、分类及概率算法的计算过程与应用.doc

近似算法的特点与计算方法、分类及概率算法的计算过程与应用.doc

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

近似算法和概率算法的特点与计算方法、分类及概率算法的计算过程与应用 近似算法 1近似算法的计算方法 设D是一个最优化问题,A是一个算法,若把A用于D的任何一个实例 I,都能在I|的多项式时间内得到I的可行解,则称算法A为问题D的一个近似算法,其中I|表示实例I的规模或输入长度,进而,设实例I的最优值为OP(I),而算法A所得到A(I)则称算法A解实例I的性能比为RA(I)的性能比为RA(D),同时称D有RA—近似解.其中 A ( I) OP(I) , 若D为最小化问题. R A ( I) = OP(I) 若D为最大化问题. A ( I) RA(D)=inf{r≥|RA(I)≤r,ID} 2近似算法的特点 (1)解同一个问题的近似算法可能有多个 (3)解的近似程度:近似最优解的近似程度也是设计近似算法的重要目标。近似程度可能与近似算法本身、问题规模,乃至不同的输入实例都有关。 3近似算法的分类 基于线性规划的近似算法 基于动态规划的近似算法 绝对近似类 相对近似类 PTAS类和FPTAS类 随机近似算法 概率算法 1概率算法的计算方法 概率算法允许算法在执行的过程中随机选择下一个计算步骤。许多情况下,当算法在执行过程中面临一个选择时,随机性选择常比最优选择省时。概率算法的一个是对所求解问题的同一实例用同一概率算法求解两次可能得到完全不同的效果。数值概率算法数值概率算法常用于数值问题的求解。这类算法所得到的往往是近似解。而且近似解的精度随计算时间的增加不断提高。在许多情况下,要计算出问题的精确解是不可能或没有必要的,因此用数值概率算法可得到相当满意的解。蒙特卡罗(Monte Carlo)算法蒙特卡罗算法用于求问题的准确解。对于许多问题来说,近似解毫无意义。例如,一个判定问题其解为“是”或“否”,二者必居其一,不存在任何近似解答。又如,我们要求一个整数的因子时所给出的解答必须是准确的,一个整数的近似因子没有任何意义。用蒙特卡罗算法能求得问题的一个解,但这个解未必是正确的。求得正确解的概率依赖于算法所用的时间。算法所用的时间越多,得到正确解的概率就越高。蒙特卡罗算法的主要缺点就在于此。一般情况下,无法有效判断得到的解是否肯定正确。Monte Carlo 算法偶然会犯错,但它无论对何实例均能以高概率找到正确解。当算法出错时,没有警告信息。偏真偏假的概念只在Monte Carlo 算法里出现。 Def1:设 p 1/2p1,若一个 MC p 的概率返回一个正确的解,则该 MC 算法称为 p-正确,算法的优势(advantage)是 p-1/2Def2:若一个 MC 基本思想:为了增加一个一致的、p-正确算法成功的概率,只需多次调用同一算法,然后选择出现次数最多的解。 Def:(偏真算法)为简单起见,设 MC(x)是解某个判定问题,对任何 x,若MC(x)返回 true false 时才有可能产生错误的解,则称此算法为偏真的(true-biased)。 Def:(偏 y0 MC 是偏 y0 的(y0 是某个特定解),如果存在问题实例的子集 X 使得: 若被解实例x ? X,则算法 MC(x)返回的解总是正确的(无论返回 y0 y0)。 (3)拉斯维加斯(Las Vegas)算法拉斯维加斯算法不会得到不正确的解,一旦用拉斯维加斯算法找到一个解,那么这个解肯定是正确的。但是有时候用拉斯维加斯算法可能找不到解。与蒙特卡罗算法类似。拉斯维加斯算法得到正确解的概率随着它用的计算时间的增加而提高。对于所求解问题的任一实例,用同一拉斯维加斯算法反复对该实例求解足够多次,可使求解失效的概率任意小。 LV(x, y, success) —— x 是输入的实例,y 是返回的参数,success 是布尔值, true 表示成功,false 表示失败 p(x) —— 对于实例 x,算法成功的概率 s(x) —— e(x) —— 算法失败时的期望时间 Obstinate(x) { repeat LV(x, y, success); until success; return y; } 设 t(x)是算法 obstinate t(x) = ??(??)??(??) + (1 ? ??(??))(??(??) + ??(??)) t(x)是指第一次成功的期望时间,第一的时间舍伍德(Sherwood)算法。舍伍德算法总能求得问题的一个解,且所求得的解总是正确的。当一个确定性算法在最坏情况下的计算复杂性与其在平均情况下的计算复杂性有较大差别时,可以在这个确定算法中引入随机性将它改造成一个舍伍德算

文档评论(0)

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

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

1亿VIP精品文档

相关文档