算法设计(第9章计算十复杂性与n理论).pptVIP

算法设计(第9章计算十复杂性与n理论).ppt

  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文档。上传文档
查看更多
第9章 计算复杂性与NP理论 9.1 多项式规约 9.2 计算模型 9.3 P和NP类问题 9.4 NP完全问题 9.1 多项式规约 规约:如果存在两个问题Q和Q′,对于Q的任何一个实例q,都能找到Q′的一个实例q′,并能够将q′的解a′转换为q的解a,则称问题Q可以被归约到问题Q′ Q Q q q a a 9.1 多项式规约 规约:如果存在两个问题Q和Q′,对于Q的任何一个实例q,都能找到Q′的一个实例q′,并能够将q′的解a′转换为q的解a,则称问题Q可以被归约到问题Q′ 多项式规约:可在多项式时间内完成的规约 Q Q q q a a 9.1 多项式规约 问题示例 ax2 + bx + c = 0 ax3 + bx2 + cx + d = 0 9.1 多项式规约 问题示例 G=V,E 最大独立集 G=V,E 最小顶点覆盖 V/C是G的最大独立集 C是G的最小顶点覆盖 9.2 计算模型 形式语言与问题编码 形式语言: 字母表 ? 是符号的有限集合,?上的语言L是由?中的符号所组成的串的任意集合 ? = {0,1} L1 = {0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001} L2 = {0, 10, 100, 110, 1000, 1010, ……} 9.2 计算模型 形式语言与问题编码 形式语言: 字母表 ? 是符号的有限集合,?上的语言L是由?中的符号所组成的串的任意集合 问题编码:问题Q的任意一个输入都会被编码为一个二进制串s。设问题的输入集合为I,其编码就是一个映射e: I ? {0,1}* 9.2 计算模型 形式语言与问题编码 形式语言: 字母表 ? 是符号的有限集合,?上的语言L是由?中的符号所组成的串的任意集合 问题编码:问题Q的任意一个输入都会被编码为一个二进制串s。设问题的输入集合为I,其编码就是一个映射e: I ? {0,1}* 问题算法:设A是问题Q的一个算法,那么A应当接受输入s,算法运行得到的结果记为A(s)。当Q是一个判定形式的问题,则对于任意输入A(s) ? {yes, no} 9.2 计算模型 图灵机 在当前方格中写入新字符 读写头左移(L)、右移(R)或不动(S) 改变状态控制器中的当前状态 9.2 计算模型 图灵机 形式定义:一个七元组M = (Q, ?, ?, b, ?, q0, F),其中Q是有限状态集,?是字母表,?是读写带上的字符集,b是空白字符(b??但b??),?: Q?? ? Q???{L,R,S}是动作转移函数,q0?Q是初始状态,F?Q是终止状态集。 9.2 计算模型 图灵机M = (Q, ?, ?, b, ?, q0, F) 将输入符号串s = a0a1…an 依此填在纸带的第0,1,… n号格子上,读写头指向第0号格子,机器处于状态q0 当前状态qi?F则停机 把扫描到的符号xi传送到状态控制器,控制器再根据当前状态qi计算动作转移函数,并根据函数值决定下一步的操作 9.2 计算模型 图灵机M = (Q, ?, ?, b, ?, q0, F) 终止状态qa表示接受输入字符串,qr表示拒绝 动作转移函数?允许是一个部分函数,当(qi, xi)上无定义时也将停机 9.2 计算模型 图灵机M = (Q, ?, ?, b, ?, q0, F) 问题:判断一个二进制串中有奇数个还是偶数个1 qi xi qi+1 xi+1 动作 False 0 False b R True 0 True b R False 1 True b R True 1 False b R False b qr 0 S True b qa 1 S 9.2 计算模型 图灵机M = (Q, ?, ?, b, ?, q0, F) k带图灵机 ?: Q??k ? Q?(??{L,R,S})k 9.2 计算模型 图灵机M = (Q, ?, ?, b, ?, q0, F) k带图灵机 不确定图灵机 9.2 计算模型 图灵机与可计算性 设f是一个函数,如果能通过一个图灵机M来完成f的计算,则称f是部分可计算的;如果M能够完成f的计算,且对于f定义域上的任意一个输入s,M都能保证停机,则称f是可计算的,或者说f是一个可计算函数。 设L是一个语言,如果它能够被一个图灵机M接受,则称L是一个递归可枚举语言;如果M能够接受L,且对于输入s?L,M都能保证停机,则称L是一个递归语言。 9.2 计算模型 图灵机与可计算性 称语言L1可被多项式时间归约到语言L2,如果存在一个多项式时间可计算的函数f: {0,1}* ? {0,1}*,其对任意的x ? {0,1}*都有:x ? L1当且仅当x ? L2 9.2 计算模型 一个算法就是一个确定的、对任意合法输入都停机的图灵机 对于每个长度为n的

文档评论(0)

181****7126 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档