第10章问题的复杂性.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 第十章 问题的复杂性 1 2 3 4 问题的复杂性分类 P类问题和NP类问题 NP完全问题 小 结 1 问题的复杂性分类—计算定义 什么是计算 将一个符号串 f 变换成另一个符号串 g。 图灵关于“计算”的形式化定义 所谓计算就是计算者(人或机器)对一条可以无限延长的工作带上的符号串执行指令,一步一步地改变工作带上的符号串,经过有限步骤,最后得到一个满足预先规定的符号串的变换过程。 Turing论题——可计算问题与不可计算问题 一个问题是可计算的当且仅当它在图灵机上经过有限步骤后得到正确的结果。 不可计算问题:停机问题和判断一个程序中是否包含计算机病毒。 Cook论题——易解问题与难解问题 将可以在多项式时间内求解的问题看作是易解问题,这类问题在可以接受的时间内实现问题求解; 将需要指数时间求解的问题看作是难解问题,这类问题的计算时间随着问题规模的增长而快速增长,即使中等规模的输入,其计算时间也是以世纪来衡量的。 2 P类问题和NP类问题 一个判定问题是仅仅要求回答“yes”或“no”的问题。 判定问题有一个重要特性:虽然在计算上求解问题是困难的,但是判定一个待定解是否解决了该问题却是简单的。 确定性算法与P类问题 定义10.1 设A是求解问题Π的一个算法,如果在算法的整个执行过程中,每一步只有一个确定的选择,并且对于同一输入实例运行算法,所得的结果严格一致,则称算法A是确定性算法。 定义10.2 如果对于某个判定问题Π,存在一个非负整数k,对于输入规模为n的实例,能够以O(nk)的时间运行一个确定性算法,得到yes或no的答案,则该判定问题Π是一个P类问题。 非确定性算法与NP类问题 定义10.3 设A是求解问题Π的一个算法,如果算法A以如下猜测并验证的方式工作,就称算法A是非确定性算法: (1)猜测阶段:对问题的输入实例产生一个任意字符串y,在算法的每一次运行时,串y的值可能不同,因此,猜测以一种非确定的形式工作。 (2)验证阶段:用一个确定性算法验证两件事:首先,检查在猜测阶段产生的串y是否是合适的形式,如果不是,则算法停下来并得到no;另一方面,如果串y是合适的形式,再验证它是否是问题的解,如果是问题的解,则算法停下来并得到yes,否则,算法停下来并得到no。 定义10.4 如果对于某个判定问题Π,存在一个非负整数k,对于输入规模为n的实例,能够以O(nk)的时间运行一个非确定性算法,得到yes或no的答案,则该判定问题Π是一个NP类问题。 非确定性算法与NP类问题 3 NP完全问题—问题变换 定义10.5 假设问题Π存在一个算法A,对于问题Π的输入实例I,算法A求解问题Π得到一个输出O,另外一个问题Π的输入实例是I,对应于输入I,问题Π有一个输出O,则问题Π变换到问题Π是一个三步的过程: (1)输入转换:把问题Π的输入I转换为问题Π的适当输入I; (2)问题求解:对问题Π应用算法A产生一个输出O; (3)输出转换:把问题Π的输出O转换为问题Π对应于输入I的正确输出。 问题Π变换为问题Π的过程 问题Π 问题Π 算法A I 输入转换 I O O 输出转换

文档评论(0)

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

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

1亿VIP精品文档

相关文档