




免费预览已结束,剩余24页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020年5月3日星期日,1,第8章NP完全性理论,智力用来区分可行和不可行;理智用来辨别有意义和无意义。所以即使是可行的,也不一定是有意义的。MaxBorn(18821970),我的生活和观点,1968,2020年5月3日星期日,2,第8章NP完全性理论,在计算机算法理论中,最深刻的问题之一是:从计算的观点来看,我们要解决的问题的内在复杂性如何,它是“易”计算的还是“难”计算的。如果我们知道一个问题的计算时间下界,我们就可以较正确地评价解决该问题的各种算法的效率,进而确定对已有算法还有多少改进的余地。,2020年5月3日星期日,3,第8章NP完全性理论,在许多情况下,要确定一个问题的内在计算复杂性是很困难的。问题的计算复杂性可以通过解决问题所需计算量的多少来度量。如何区分一个问题是“易”还是“难”呢?人们通常将可以在多项式时间内解决的问题看作是“易”解问题,而将需要指数函数时间解决的问题看作是“难”问题。这里所说的多项式时间和指数函数时间是针对问题的规模而言的,即解决问题所需的时间是问题规模的多项式还是指数函数。,2020年5月3日星期日,4,8.1计算模型,在进行问题的计算复杂性分析之前,首先必须建立求解问题所用的计算模型,包括定义该计算模型中所用的基本运算,其目的是为了使问题的计算复杂性分析有一个共同的客观尺度。三种主要的计算模型:随机存取机RAM(RandomAccessMachine)随机存取存储程序机RASP(RandomAccessStoredProgramMachine)图灵机(TuringMachine)这三个计算模型在计算能力上是等价的,但计算速度不同。,2020年5月3日星期日,5,8.1.1随机存取机RAM,随机存取机所描述的形式计算机是一台单累加器计算机。它不允许程序修改其自身。其结构如下:,2020年5月3日星期日,6,8.1.1随机存取机RAM,随机存取机:由只读输入带、只写输出带、程序存储部件、内存储器、指令计数器组成。注:输入带、输出带可无限长;内存储器由一系列寄存器组成,并且可存放任意大小的整数,寄存器个数无限。,2020年5月3日星期日,7,8.1.1随机存取机RAM,RAM的程序不是存放在内存储器中,程序是一个带标号的指令序列。RAM设有:算术运算指令、输入输出指令、存取指令、转移指令。RAM的寻址方式:直接寻址和间接寻址。RAM的指令由操作码和操作数组成。操作数有三种形式:=i(直接数),i(直接地址),*i(间接地址)RAM的基本指令集见p280例子见p281-284,2020年5月3日星期日,8,8.1.1随机存取机RAM,2.RAM程序,一个RAM程序定义了从输入带到输出带的一个映射。可以对这种映射关系作2种不同的解释。,解释一:把RAM程序看成是计算一个函数若一个RAM程序P总是从输入带前n个方格中读入n个整数x1,x2,xn,并且在输出带的第一个方格上输出一个整数y后停机,那么就说程序P计算了函数f(x1,x2,xn)=y,解释二:把RAM程序当作一个语言接受器。将字符串S=a1a2an放在输入带上。在输入带的第一个方格中放入符号a1,第二个方格中放入符号a2,第n个方格中放入符号an。然后在第n+1个方格中放入0,作为输入串的结束标志符。如果一个RAM程序P读了字符串S及结束标志符0后,在输出带的第一格输出一个1并停机,就说程序P接受字符串S。,2020年5月3日星期日,9,8.1.1随机存取机RAM,3.RAM程序的耗费标准,标准一:均匀耗费标准在均匀耗费标准下,每条RAM指令需要一个单位时间;每个寄存器占用一个单位空间。以后除特别注明,RAM程序的复杂性将按照均匀耗费标准衡量。,标准二:对数耗费标准对数耗费标准是基于这样的假定,即执行一条指令的耗费与以二进制表示的指令的操作数长度成比例。在RAM计算模型下,假定一个寄存器可存放一个任意大小的整数。因此若设l(i)是整数i所占的二进制位数,则,2020年5月3日星期日,10,8.1.2随机存取存储程序机RASP,1.RASP的结构RASP的整体结构类似于RAM,所不同的是RASP的程序是存储在寄存器中的。每条RASP指令占据2个连续的寄存器。第一个寄存器存放操作码的编码,第二个寄存器存放地址。RASP指令用整数进行编码。RASP指令集中不需要间接寻址,其余指令与RAM指令集一样。RASP指令集见p287。,2020年5月3日星期日,11,8.1.2随机存取存储程序机RASP,2.RASP程序的复杂性不管是在均匀耗费标准下,还是在对数耗费标准下,RAM程序和RASP程序的复杂性只差一个常数因子。在一个计算模型下T(n)时间内完成的输入-输出映射可在另一个计算模型下模拟,并在kT(n)时间内完成。其中k是一个常数因子。空间复杂性的情况也是类似的。,2020年5月3日星期日,12,8.1.4图灵机,1.多带图灵机,2020年5月3日星期日,13,8.1.4图灵机,1.多带图灵机,根据有限状态控制器的当前状态及每个读写头读到的带符号,图灵机的一个计算步可实现下面3个操作之一或全部。(1)改变有限状态控制器中的状态。(2)清除当前读写头下的方格中原有带符号并写上新的带符号。(3)独立地将任何一个或所有读写头,向左移动一个方格(L)或向右移动一个方格(R)或停在当前单元不动(S)。,2020年5月3日星期日,14,8.1.4图灵机,k带图灵机可形式化地描述为一个7元组(Q,T,I,b,q0,qf),其中:(1)Q是有限个状态的集合。(2)T是有限个带符号的集合。(3)I是输入符号的集合,IT。(4)b是惟一的空白符,bT-I。(5)q0是初始状态。(6)qf是终止(或接受)状态。(7)是移动函数。它是从QTk的某一子集映射到Q(TL,R,S)k的函数。,2020年5月3日星期日,15,8.1.4图灵机,1.多带图灵机,图灵机M的时间复杂性T(n)是它处理所有长度为n的输入所需的最大计算步数。如果对某个长度为n的输入,图灵机不停机,T(n)对这个n值无定义。,图灵机的空间复杂性S(n)是它处理所有长度为n的输入时,在k条带上所使用过的方格数的总和。如果某个读写头无限地向右移动而不停机,S(n)也无定义。,与RAM模型类似,图灵机既可作为语言接受器,也可作为计算函数的装置。,2020年5月3日星期日,16,8.2P类与NP类问题,本书的许多算法都是多项式时间算法,即对规模为n的输入,算法在最坏情况下的计算时间为O(nk),k为一个常数。是否所有的问题都在多项式时间内可解呢?No,2020年5月3日星期日,17,8.2P类与NP类问题,一般地,将可由多项式时间算法求解的问题看作是易处理的问题。而将需要超多项式时间才能求解的问题看作是难处理的问题。有许多问题,从表面上看似乎并不比排序或图的搜索等问题更困难,然而至今人们还没有找到解决这些问题的多项式时间算法,也没有人能够证明这些问题需要超多项式时间下界。也就是说,在图灵机计算模型下,这类问题的计算复杂性至今未知。为了研究这类问题,人们提出了另一个能力更强的计算模型非确定性图灵机计算模型,简记NDTM。在这个计算模型下,许多问题就可以在多项式时间内求解。,2020年5月3日星期日,18,8.2.1非确定性图灵机,非确定性图灵机(NDTM):一个k带的非确定性图灵机M是一个7元组:(Q,T,I,b,q0,qf)。与确定性图灵机不同的是非确定性图灵机允许移动函数具有不确定性,即对于QTk中的每一个值(q;x1,x2,xk),当它属于的定义域时,Q(TL,R,S)k中有惟一的一个子集(q;x1,x2,xk)与之对应。可以在(q;x1,x2,xk)中随意选定一个值作为它的函数值。,在图灵机计算模型中,移动函数是单值的,即对于QTk中的每一个值,当它属于的定义域时,Q(TL,R,S)k中只有惟一的值与之对应,称这种图灵机为确定性图灵机,简记为DTM(DeterministicTuringMachine)。,2020年5月3日星期日,19,8.2.1非确定性图灵机,确定性和非确定性图灵机的区别在于:确定性图灵机的每一步只有一种选择,而非确定性图灵机却可以有多种选择。由此可见,非确定性图灵机的计算能力比确定性图灵机的计算能力强的多。对于一台时间复杂性为T(n)的非确定性图灵机,可以用一台时间复杂性为O(CT(n)的确定性图灵机来模拟,其中C为一常数。如果T(n)是一个合理的时间复杂性函数,M是一台时间复杂性为T(n)的非确定性图灵机,可以找到一个常数C和一台确定性图灵机M,使得它们可接受的语言相同,且M的时间复杂性为O(CT(n),2020年5月3日星期日,20,8.2.2P类与NP类语言,P类和NP类语言的定义:P=L|L是一个能在多项式时间内被一台DTM所接受的语言NP=L|L是一个能在多项式时间内被一台NDTM所接受的语言,由于一台确定性图灵机可看作是非确定性图灵机的特例,所以可在多项式时间内被确定性图灵机接受的语言也可在多项式时间内被非确定性图灵机接受。故PNP。,2020年5月3日星期日,21,8.3NP完全问题,从P类和NP类语言的定义,可知。直观上看,P类问题是确定性计算模型下的易解问题类,而NP类问题是非确定性计算模型下的易验证问题类。在通常情况下,解一个问题要比验证问题的一个解困难的多,特别在有时间限制的条件下更是如此。因此,大多数计算机科学家认为NP类中包含了不属于P类的语言,即。但这个问题至今没有获得明确的解答。,2020年5月3日星期日,22,8.3NP完全问题,使大多数计算机科学家相信的最令人信服的理由是存在一类NP完全问题。这类问题有一种令人惊奇的性质,即如果一个NP完全问题能在多项式时间内得到解决,那么NP中的每一个问题都可以在多项式时间内求解,即P=NP。尽管已进行了多年的研究,目前还没有一个NP完全问题有多项式时间算法。,2020年5月3日星期日,23,8.3NP完全问题,完全多项式非确定性问题可以用穷举法得到答案,一个个检验下去,最终便能得到结果。但是这样算法的复杂程度,是指数关系,因此计算的时间随问题的复杂程度成指数的增长,很快便变得不可计算了。人们发现,所有的完全多项式非确定性问题,都可以转换为一类叫做满足性问题的逻辑运算问题。既然这类问题的所有可能答案,都可以在多项式时间内计算,人们於是就猜想,是否这类问题,存在一个确定性算法,可以在指数时间内,直接算出或是搜寻出正确的答案呢?这就是著名的NP=P?的猜想。解决这个猜想,无非两种可能,一种是找到一个这样的算法,只要针对某个特定NP完全问题找到一个算法,所有这类问题都可以迎刃而解了,因为他们可以转化为同一个问题。另外的一种可能,就是这样的算法是不存在的。那么就要从数学理论上证明它为什么不存在。,2020年5月3日星期日,24,8.3NP完全问题,第一个NP完全问题是:布尔表达式的可满足性问题,即SAT。Cook定理:布尔表达式的可满足性问题SAT是NP完全的。需要证明的:SAT的一个实例是k个布尔变量x1,x2,xk的m个布尔表达式A1,A2,Am。若存在各布尔变量xi(1=i=k)的0,1赋值,使每个布尔表达式Ai(1=i=m)都取值1,则称布尔表达式A1,A2,Am是可满足的。,2020年5月3日星期日,25,8.4一些典型的NP完全问题,Cook定理给出了第一个NP完全问题。使得对于任何问题Q,只要能证明且,便有,人们很快发现许多其他问题的NP完全性,都是直接或间接地以SAT的NP完全性为基础的。由此逐渐生长出一棵以SAT为树根的NP完全问题树。目前这棵NP完全问题树上已有几千个结点。,2020年5月3日星期日,26,8.4一些典型的NP完全问题,部分NP完全问题树,SAT:布尔表达式的克满足性问题。CNF-SAT:合取范式的可满足性问题。3-SAT:3元合取范式的可满足性问题。CLQUE:团问题。VERTEX-COVER:顶点覆盖问题。SUBSET-SUM:子集和问题。HAM-CYCLE:哈密顿回路问题。TSP:旅行售货员问题,2020年5月3日星期日,27,8.4一些典型的NP完全问题,合取范式的可满足性问题:给定一个合取范式,判定它是否可满足。如果一个布尔表达式是一些因子和之积,则称之为和取范式。简称CNF。这里的因子是x和非x。例如:(x1+x2)(x2+x3)(x1+x2+x3)是一个合取范式,而x1x2+x3就不是合取范式。,2020年5月3日星期日,28,8.4一些典型的NP完全问题,团问题:问题描述:给定一个无向图G=(V,E)和一个正整数k,判断图G是否包含一个k团,即是否存在,|v|=k,且对于任意的有,2020年5月3日星期日,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年学历类自考学前儿童游戏指导-外国文学作品选参考题库含答案解析(5套试卷)
- 暗能量相互作用-洞察及研究
- 2025年学历类自考中外文学作品导读-公务员制度参考题库含答案解析(5套试卷)
- 技术报务费合同范本
- 拆迁补偿合同范本
- 解除股权投资合同范本
- 工厂租赁合同范本新
- 剧本杀买断合同范本
- 煤炭合同范本简单易懂
- 2022年各种合同范本
- InDesign印前设计与实战 课件 第二章 印前设计版面概述-印刷基础知识
- 人教版七年级英语下册阅读专项训练60篇-含答案
- 人工智能在检验医学中的应用
- 范里安-微观经济学:现代观点
- 【江苏洋河股份内部控制环境现状、问题及对策12000字(论文)】
- 小学语文课外补充古诗词
- 人教版数学四年级上册教材课后习题参考答案(全)
- 人力资源员工旅游活动方案
- 《大卫科波菲尔》读书分享名著导读PPT
- 日照市东港区禹海红旗海水鱼工厂化循环水养殖与良种繁育示范项目海域使用论证报告书
- 北师大版四年级下册口算题大全(全册完整)
评论
0/150
提交评论