算法分析_np问题.ppt

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

P与NP问题 多项式 若干个单项式的和组成的式子叫做多项式(减法中有:减一个数等于加上它的相反数)。多项式中每个单项式叫做多项式的项,这些单项式中的最高次数,就是这个多项式的次数。不含字母的项叫做常数项。如一式中:最高项的次数为5,此式有3个单项式组成,则称其为:五次三项式。 多项式时间(Polynomial time)算法是指该算法时间复杂性函数T(n)=O(P(n)),其中n是问题的输入长度,P是n的多项式函数.指数时间算法是指该算法的时间复杂性函数不能写成O(P(n))的形式 1、多项式时间算法和难解问题 不同的算法具有很不相同的时间复杂性函数,什么样的算法算作“效率高”,什么样的算法算作“效率低”? 计算机科学家们公认一种简单的区别,这就是多项式时间算法(polynomial time algorithm)和指数时间算法(exponential time algorithm)之间的区别。 Cobham[1964]和Edmonds[1965]首先讨论了这种区别的基本性质。特别是Edmonds把多项式时间算法与“好的”算法等同看待,并且猜想某些整数规划问题可能不能用这种“好的”算法求解。这反映了一种观点,认为指数时间算法不应该算作“好的”算法。通常也的确是这样的。大多数指数时间算法只是穷举搜索法的变种,而多项式时间算法通常只有在对问题的结构有了某些比较深入的了解之后才有可能给出。艰多人都认为只有知道了问题的多项式时间算法才能认为“很好地解决了”这个问题。因此,如果一个问题困难到不可能用多项式时间算法求解,那末我们就认为这个问题是“难解的”。 不过,有些指数时间算法在实际中可能十分有用。作为定义,时间复杂性是一种最坏情况的度量。时间复杂性为2n的算法仅仅表示至少有一个规模为n的问题实例需要这么多的运算时间,而大多数问题实例可能实际上需要远比这个少得多的时间。有几个著名的算法就是这种情况。已经证明线性规划的单纯形算法具有指数时间复杂性[Klee and Minty,1972],但是在实际中它计算得很好,给人留下了深刻印象。同样,背包问题的分支界限算法虽然也具有指数时间复杂性,但是它是一种非常成功的算法,使得许多人认为背包问题已经很好地解决了。 遗憾的是,像这样的例子太少了。虽然对于很多问题都知道指数时间算法,但是只有少数几个被认为在实际中是很有用的。甚至上面提到的那几个成功的指数时间算法也没有使研究人员停止继续寻找这些问题的多项式时间算法的努力。实际上,这些算法的真正成功产生了一种猜疑,认为它们不知怎么地抓住了这些问题的关键性的性质,对这些性质的仔细研究可能给出更好的方法,至今在解释这种成功方面几乎毫无进展,也没有一种方法能够事先预言给定的指数时间算法在实际中能否快速运算。 另一方面,如果多项式时间算法满足对运算时间更严格得多的限制,就往往可以作出这种预言。虽然可以认为时间复杂性为n100或1099n2的算法在实际中不大可能快速运算,但是自然提出的多项式可解的问题大多数可用2次,或者在最坏的情况下用3次多项式时间算法求解,而且在多项式中不包含特别大的系数,可以认为满足这些限制的算法是“可证地有效”算法。正是这种特别需要的性质使我们优先考虑用多项式时间算法解决问题。 复杂度类P包含所有那些可以由一个确定型图灵机在多项式表达的时间内解决的问题; 类NP由所有其肯定解可以在给定正确信息的多项式时间内验证的决定问题组成,或者等效的说,那些解可以在非确定型图灵机上在多项式时间内找出的问题的集合。 很可能,计算理论最大的未解决问题就是关于这两类的关系的: P和NP相等吗? 非定常多项式(英语:non-deterministic polynomial,缩写NP)时间复杂性类,或称非确定性多项式时间复杂性类,包含了可以在多项式时间内,对一个判定性算法问题的实例,一个给定的解是否正确的算法问题。 NP是计算复杂性理论中最重要的复杂性类之一。它包含复杂性类P,即在多项式时间内可以验证一个算法问题的实例是否有解的算法问题的集合;同时,它也包含NP完全问题,即在NP中“最难”的问题。计算复杂性理论的中心问题,P/NP问题即是判断对任意的NP完全问题,是否有有效的算法,或者NP与P是否相等。 图灵机(英语:Turing Machine,又称确定型图灵机)是英国数学家阿兰·图灵于1936年提出的一种抽象计算模型,其更抽象的意义为一种数学逻辑机,可以看作等价于任何有限逻辑数学过程的终极强大逻辑机器。 关于计算机模型的选择可以作类似的注释。至今研究过的所有实际的计算机模型,例如单带图灵机,多带图灵机以及随机存取机(RAM)都是相对于多项式时间复杂性等价的,人们可以指望任何其它“合理的”模型都享有这种等价性。这里所说的“合

文档评论(0)

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

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

1亿VIP精品文档

相关文档