- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
参考资料NP完全问题-一些重要的概念
NP完全问题;一、一些重要的概念1、多项式时间算法和难解问题; 不过,有些指数时间算法在实际中可能十分有用。作为定义,时间复杂性是一种最坏情况的度量。时间复杂性为2n的算法仅仅表示至少有一个规模为n的问题实例需要这么多的运算时间,而大多数问题实例可能实际上需要远比这个少得多的时间。有几个著名的算法就是这种情况。已经证明线性规划的单纯形算法具有指数时间复杂性[Klee and Minty,1972],但是在实际中它计算得很好,给人留下了深刻印象。同样,背包问题的分支界限算法虽然也具有指数时间复杂性,但是它是一种非常成功的算法,使得许多人认为背包问题已经很好地解决了。; 遗憾的是,像这样的例子太少了。虽然对于很多问题都知道指数时间算法,但是只有少数几个被认为在实际中是很有用的。甚至上面提到的那几个成功的指数时间算法也没有使研???人员停止继续寻找这些问题的多项式时间算法的努力。实际上,这些算法的真正成功产生了一种猜疑,认为它们不知怎么地抓住了这些问题的关键性的性质,对这些性质的仔细研究可能给出更好的方法,至今在解释这种成功方面几乎毫无进展,也没有一种方法能够事先预言给定的指数时间算法在实际中能否快速运算。; 另一方面,如果多项式时间算法满足对运算时间更严格得多的限制,就往往可以作出这种预言。虽然可以认为时间复杂性为n100或1099n2的算法在实际中不大可能快速运算,但是自然提出的多项式可解的问题大多数可用2次,或者在最坏的情况下用3次多项式时间算法求解,而且在多项式中不包含特别大的系数,可以认为满足这些限制的算法是“可证地有效”算法。正是这种特别需要的性质使我们优先考虑用多项式时间算法解决问题。; 关于计算机模型的选择可以作类似的注释。至今研究过的所有实际的计算机模型,例如单带图灵机,多带图灵机以及随机存取机(RAM)都是相对于多项式时间复杂性等价的,人们可以指望任何其它“合理的”模型都享有这种等价性。这里所说的“合理的”概念在本质上是指在单位时间内可以完成的工作量有一个多项式界限。例如,不能认为具有完成任意多道并行运算能力的模型是“合理的“,而且也确实不存在一合计算机具有这种能力。无论如何,只要我们规定只采用实际的计算机标准模型,难解的问题类就不受使用的具体模型的影响。因而我们可以根据方便与否来选择计算机模型,而不会妨碍结果的使用。 “合理的”计算机模型也称为是“确定型”(deterministic)的计算机模型。; 这样一来,“难解的”定义在理论上给出了重要的一般原则。即问题的难度在本质上不依赖于用来决定时间复杂性的具体编码方案和计算机模型。
能够用实际的计算机标准模型在多项式时间算法(Polynomial time algorithm)内求解的问题称为P类问题。;2、可证的难解问题; 第一个难解的“可判定”问题是在六十年代初获得的,它是Hartmanis和Stearns[1965]的复杂性“谱系”工作的一部分,但是,这些结果只包括一些“人工制造的”问题,它们被专门构造成具有所需要的性质。直到七十年代初,Meyer和Stockmeyer[1972],Fischer和Rabin[1974]以及其他人终于成功地证明某些“自然的”可判定问题是难解的,这些问题包括自动机理论、形式语言理论以及数理逻辑中以前研究过的各种问题。实际上,他们的证明表明甚至用“非确定型”(nondeterministic)计算机模型也不可能在多项式时间内解这些问题,这种“非确定型”计算机模型具有执行无限多个独立的并行计算序列的能力。这种“不合理的”计算机模型在NP完全性理论中起着重要的作用。; 迄今为止我们已经知道的所有可证的难解问题分成刚才叙述的两种类型,它们或者是“不可判定的”,或者是“非确定型”难解的。但是,大多数在实际中遇到的在表面上看来难解的问题是可判定的,并且可以用非确定型计算机在多项式时间内求解。因此,要证明这些问题的表面上的难解性,至今所研究过的证明方法都还不够有力。;3、NP完全问题; 早期就找到了许多这种简单的归约。例如,Dantzig[1960]把一些组合最优化问题归约为一般的0-l整数线性规划问题,Edmonds[1962]把图论问题“用最少的顶点覆盖所有边”和“寻找最大的顶点独立集”归约为一般的“集合覆盖问题”。Gimple[1965]把一般的集合覆盖问题归约为逻辑设计的“素蕴涵覆盖问题”,Dantzig,Blattner和Rao[1966]描述了一个“著名的”归约,把巡回推销员问题归约为带非负边长的“最短路径问题”。; Stephen Cook于1971年发表的题为“定理证明过程的复杂性”一文奠定了NP完全性理论的基础。在这篇简洁而又精致的文章中Cook做了
文档评论(0)