易解和难解问题.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
易解和难解问题

易解和难解问题 易解问题和可能的难解问题:P和NP 在上一章的最后一节我们描述了根据识别语言的图林机所需要的资源的数量确定的复杂性对语言分类的方法。这允许我们比较两个语言的复杂性:如果L1(Time(f),而L2(Time(f),那么有理由认为,至少从某个角度而言,L2比L1复杂。我们把那些能够在合理(现实可行)的时间和空间范围里识别的语言称为易解语言。换句话说,我们想知道究竟什么样的判定问题是可以解决的。 在容易问题和困难问题之间没有明确的界限,通常我们认为能够在多项式时间里得到解决的问题是易解的。尽管存在增长率介于多项式和指数式之间的“亚指数”函数,但是我们发现那些无法在多项式时间里完成的最常见的算法都需要指数级的运行时间。正如我们在14.1节所见,即使是中等规模的实例,指数级问题的最坏情况在实际中也是无法完成的。定义 P= 它包含了所有能够被时间复杂性为多项式的图林机识别的语言。类似地, PSpace= 包含了所有空间复杂性为多项式的图林机识别的语言。根据定理14.5,显然有 P(PSpace 非正式地,我们也可以说某个判定问题属于P或PSpace,因为前面我们讨论过存在适当的编码方法将问题转换成语言(参见练习14.16)。显然,说所有的P中的问题都是易解问题是一个扩大的说法。比如两个解决相同问题的图林机,它们的时间复杂性分别是(1.000001)n和n1000。尽管它们符合定理14.2,但是这个问题的典型实例采用第一个图林机更快捷。然而在现实生活中,多项式一般指的是n2或n3,而不是n1000的式子,而且通常的指数级是2n、3n,而不是(1.000001)n。因此就通常意义的多项式和指数式而言,前者要快得多。 另一个采用多项式作为区分标准的理由是,它在不同的计算模型中保持不变。一般地,改变了模型仅仅导致时间复杂性出现常数因子的不同。因此,粗略地说,如果一个问题能够被某个计算模型在多项式时间里解决,那么它属于P。 容易发现,如果我们的模型允许出现非确定性,那么上面的讨论将有很大的不同。我们先定义对应P和PSpace的非确定型复杂类。 NP= NPSpace= 显然,我们有 P(NP NP(NPSpace 后面的描述这4个集合相互间关系的定理来自14.3节的定理结论。 定理15.1 P(NP(PSpace=NPSpace。 证明:第一个包含关系已经在前面提到,显然成立。第二个包含关系来自定理14.6的命题1,第三个包含关系来自定理14.6的命题3。后面两个结论的证明也用到了这样的事实:稍加限制,多项式时间函数是计步函数。 正如我们在14.2节讨论的,一个非确定型图林机(NTM)比普通图林机存在一个很大的优点,即它预备猜测的能力,而正确的猜测能够快速地完成处理。在例子14.3,平方级时间复杂性的NTM反映了我们可以在平方级时间里检测问题的一个答案,但并不意味着所有的答案都能够在平方级时间里得到检查。正如我们在14.3看到的,用定理9.2证明中构造的确定型图林机替代一个NTM可能导致时间复杂性呈指数级增长。事实上,这个结论对于所有的消除图林机非确定性的通用方法都成立。因此,容易理解为什么存在许多属于NP的语言或问题没有确定型的多项式时间的算法。换句话说,存在许多NP中的语言不知道是否属于P。 令人惊讶的是,不存在一个已知不属于P的语言或问题属于NP。尽管最合理的猜测是,P是NP的真子集,但没有人能够证明这个结论,尽管许多人做过这方面的努力。NP中包括许多有趣的问题,它们在很长时间来得到了充分的研究,但是研究者没有找到一个多项式时间的算法,也没有证明不存在多项式时间的算法。单凭经验,我们知道发现一个好的下界比发现一个上界要难。特别地,展示一个问题的解决方法比证明一个问题没有有效的解决方法要容易。无论那种情况,问题PNP是理论计算机科学中引人瞩目的一个未解决的问题。 定理15.1的第二个包含关系是否是严格的包含也是一个未解决的问题。总结这两个问题,我们的结论是非确定性在描述复杂性中的角色还没有得到很好的理解。 本节的最后部分,我们将研究NP中的两个问题,存在几个理由值得我们对它们感兴趣。第一个问题很容易显示属于NP,但是,我们将在下一节看到,精确地将,它是NP中最难的问题。第二个问题属于NP不是很明显,因为它不符合“猜测一个答案,然后在多项式时间内检查这个答案”的模式,然而,它被证明属于NP。 例子15.1(可满足问题)这个问题的一个实例是一个逻辑表达式,它包含变量xi和逻辑连接词((((与或非)。我们用表示(xi。术语“文字”表示一个xi或。假设表达式是一个合取范式 C1(...(Cc 其中每个子表达式Ci称为合取项,它是一个析取式(由文字和(连接而成),比如下面的表达式 (x1(x

文档评论(0)

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

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

1亿VIP精品文档

相关文档