- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
近似算法.ppt
第11章 近似算法 11.1 概 述 11.2 图问题中的近似算法 11.3 组合问题中的近似算法 11.4 实验项目——TSP问题的近似算法 11.1 概 述 11.1.1 近似算法的设计思想 11.1.2 近似算法的性能 许多难解问题实质上是最优化问题,即要求在满足约束条件的前提下,使某个目标函数达到最大值或最小值的解。在这类问题中,求得最优解往往需要付出极大的代价。 在现实世界中,很多问题的输入数据是用测量方法获得的,而测量的数据本身就存在着一定程度的误差,因此,输入数据是近似的。同时,很多问题的解允许有一定程度的误差,只要给出的解是合理的、可接受的,近似最优解常常就能满足实际问题的需要。此外,采用近似算法可以在很短的时间内得到问题的近似解,所以,近似算法是求解难解问题的一个可行的方法。 11.1.1 近似算法的设计思想 即使某个问题存在有效算法,好的近似算法也会发挥作用。因为待求解问题的实例是不确定的,或者在一定程度上是不准确的,如果使用近似算法造成的误差比不精确的数据带来的误差小,并且近似算法远比精确算法高效,那么,出于实用的目的,当然更愿意选择近似算法了。 近似算法的基本思想是用近似最优解代替最优解,以换取算法设计上的简化和时间复杂性的降低。近似算法是这样一个过程:虽然它可能找不到一个最优解,但它总会为待求解的问题提供一个解。为了具有实用性,近似算法必须能够给出算法所产生的解与最优解之间的差别或者比例的一个界限,它保证任意一个实例的近似最优解与最优解之间相差的程度。显然,这个差别越小,近似算法越具有实用性。 11.1.2 近似算法的性能 衡量近似算法性能最重要的标准有两个: (1)算法的时间复杂性:近似算法的时间复杂性必须是多项式阶的,这是设计近似算法的基本目标; (2)解的近似程度:近似最优解的近似程度也是设计近似算法的重要目标。近似程度可能与近似算法本身、问题规模,乃至不同的输入实例都有关。 不失一般性,假设近似算法求解的是最优化问题,且对于一个确定的最优化问题,每一个可行解所对应的目标函数值均为正数。 若一个最优化问题的最优值为c*,求解该问题的一个近似算法求得的近似最优值为c,则将该近似算法的近似比(Approximate Ratio)η定义为: 在通常情况下,该性能比是问题输入规模n的一个函数ρ(n),即: 这个定义对于最大化问题和最小化问题都是适用的。对于一个最大化问题,c≤c*,此时近似算法的近似比表示最优值c*比近似最优值c大多少倍;对于一个最小化问题,c*≤c,此时近似算法的近似比表示近似最优值c比最优值c*大多少倍。所以,近似算法的近似比η不会小于1,近似算法的近似比越大,它求出的近似解就越差。显然,一个能求得最优解的近似算法,其近似比为1。 有时用相对误差表示一个近似算法的近似程度会更方便些。若一个最优化问题的最优值为c*,求解该问题的一个近似算法求得的近似最优值为c,则该近似算法的相对误差(Relative Error)λ定义为: 近似算法的相对误差总是非负的,它表示一个近似最优解与最优解相差的程度。若问题的输入规模为n,存在一个函数ε(n),使得 则称ε(n)为该近似算法的相对误差界(Relative Error Bound)。近似算法的近似比ρ(n)与相对误差界ε(n)之间显然有如下关系: 有许多问题的近似算法具有固定的近似比和相对误差界,即ρ(n)和ε(n)不随着问题规模n的变化而变化,在这种情况下,用ρ和ε来表示近似比和相对误差界。还有许多问题的近似算法没有固定的近似比,即近似比ρ(n)随着问题规模n的增长而增长,换言之,问题规模n越大,近似算法求出的近似最优解与最优解相差得就越多。 对有些难解问题,可以找到这样的近似算法,其近似比可以通过增加计算量来改进,也就是说,在计算量和解的精确度之间有一个折衷,较少的计算量得到较粗糙的近似解,而较多的计算量可以得到较精确的近似解。 11.2 图问题中的近似算法 11.2.1 顶点覆盖问题 11.2.2 TSP问题 11.2.1 顶点覆盖问题 无向图G=(V, E)的顶点覆盖是顶点集V的一个子集V ?V,使得若(u, v)是G的一条边,则v∈V或u∈V。顶点覆盖V的大小是它所包含的顶点个数|V|。顶点覆盖问题是求出图G中的最小顶点覆盖,即含有顶点数最少的顶点覆盖。 顶点覆盖问题是一个NP难问题,因此,没有一个多项式时间算法有效地求解。虽然要找到图G的一个最小顶点覆盖是很困难的,但要找到图G的一个近似最小覆盖却很容易。可以采用如
文档评论(0)