算法分析与设计 第8章.pptVIP

  1. 1、本文档共29页,可阅读全部内容。
  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文档。上传文档
查看更多
算法分析与设计 第8章.ppt

2000年1月25日 北京化工学院信息基础教研室 算法设计方法 吴哲辉 崔焕庆 马炳先 吴振寰 编著 机械工业出版社 第8章 NP-完全问题 第8章 NP-完全问题 从理论上就可以把求解的问题按其计算复杂性分为三大类: 第一类:存在多项式算法的问题; 第二类:肯定不存在多项式算法的问题; 第三类:未找到多项式算法,也不能证明其不存在多项式算法的问题。 第三类问题介于第一类和第二类之间,似乎不是稳定的一类。随着计算科学和计算机科学理论的发展,第三类问题将逐步向第一类和第二类分化。 8.1 图灵机——可计算性和计算复杂性的度量标准 8.1.1 确定的图灵机 图灵机模型的基本结构包括:一条向右无限无限延伸的输入带(可读可写),一个有限状态控制器和连接控制器与输入带的读写头。图灵机的输入带由一个个格组成,每一格可以存放一个字符,如图8.1所示。 8.1 图灵机——可计算性和计算复杂性的度量标准 当图灵机的读写头扫描到一个格的字符时,根据控制器的当前状态和扫描到的字符,决定图灵机的动作。包括3方面: (1) 控制器进行状态转换(决定下一状态); (2) 读写头在当前格写上新的字符; (3) 决定读写头向左或向右移动一格。 8.1 图灵机——可计算性和计算复杂性的度量标准 定义8.1 图灵机是一个七元组 其中Q是有限状态集,q0是初始状态,F是终止状态集; 是带符号集,B是空白符,∑是输入字母表; 是动作函数,对于某些和,可以无定义。 8.1 图灵机——可计算性和计算复杂性的度量标准 图灵机M的工作过程是这样的:把输入串放置在输入带的最左端,开始时读写头注视输入带最左端的第一格,M的初始状态为q0。在每一步,读写头把扫描到的字符传送到有限状态控制器,有限状态控制器根据当前状态和动作函数确定状态的变化,在当前格写上新字符以及读写头的移动。当进入终止状态(转化为一个状态)或无定义时,图灵机M停机。 8.1 图灵机——可计算性和计算复杂性的度量标准 图灵机的工作过程可以用瞬像的变化来描述。瞬像(ID) :其中:q是图灵机的当前状态, 是输入带当前的字符串(不含右边全空白符部分),读写头正注视着 的首字符。 用符号 表示瞬像之间的推导关系(*则表示多步推导),通过瞬像的推导可以图灵机对输入串的识别过程。 8.1 图灵机——可计算性和计算复杂性的度量标准 例8.1 设计一个图灵机,它接受语言 。 设计思路:假设输入串为 ,设计出来的图灵机主要功能是检查0的个数和1的个数是否相等。工作过程大致是这样的:读写头从左到右扫描输入串,当遇到第一个0时,把它改写为x,继续向右移(余下的0暂不修改),遇到第一个1时,把它改为y,然后读写头向左移,直到遇到x,改为向右移,重复上述工作(如图8.2所示)。这样重复下去,当全部0改为x(或全部1改为y)时,如果还有1(或还有0)未修改而余下,那么0的个数同1的个数就不相等,从而输入串不被接受。如果输入串中的0和1同时全部被改为x和y,那么图灵机就接受输入串。 8.1 图灵机——可计算性和计算复杂性的度量标准 8.1 图灵机——可计算性和计算复杂性的度量标准 8.1.2 图灵机用于计算整函数 如要计算 ,其中 为非负整数,那么在图灵机的输入带上放置初始数据 设计动作函数 ,使之实现f的功能。即若 其中m为非负整数,那么图灵机停机时,带上的信息应该为 。 例8.2 设计一个图灵机,实现下面函数的计算 8.1 图灵机——可计算性和计算复杂性的度量标准 8.1.3 多带图灵机 一个k(k2)带图灵机是有条读写带的图灵机,每条带有自己的读写头,控制器要扫描条带上的当前格的信息,才能决定图灵机的动作。带图灵机的结构如图8.3所示。 8.1 图灵机——可计算性和计算复杂性的度量标准 8.1.4 不确定的图灵机 不确定的图灵机(NTM)同确定的图灵机的区别在于它的动作函数是一个多值映射。即在一个状态下,扫描到带上一格的字符,可以产生多个动作:包括状态的变化,在当前格上写上新的字符,以及读写头的左、右移动。即 例8.3 用不确定图灵机计算等划分问题。 8.1 图灵机——可计算性和计算复杂性的度量标准 8.1.5 图灵机的停机问题与可计算性度量 一个图灵机并不是对任何输入都能停机的 。如例8.3。 一般地说,一个图灵机对一个输入串的工作过程可能遇到3种情况。 情况1:进入终止状态,即遇到一个瞬象ID: 情况2:未进入终止状态,但无定义。即遇到一个瞬象ID: 情况3

文档评论(0)

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

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

1亿VIP精品文档

相关文档