计算的复杂性第七章完全问题优秀课件.ppt
《计算的复杂性第七章完全问题优秀课件.ppt》由会员分享,可在线阅读,更多相关《计算的复杂性第七章完全问题优秀课件.ppt(99页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算的复杂性第七章完全问题计算的复杂性第七章完全问题第1页,本讲稿共99页99-22022/11/29第第7 7章章 NPNP完全问题完全问题 判定问题、语言和编判定问题、语言和编 码码 多项式变换与可满足多项式变换与可满足性问题性问题 非确定型图灵机非确定型图灵机 NP类类NP完全问题与完全问题与Cook定理定理强强NP完全问题完全问题Co-NP类问题类问题NP困难问题困难问题 空间复杂性简介空间复杂性简介 第2页,本讲稿共99页99-32022/11/29序序 对对一一个个已已确确定定是是可可计计算算的的问问题题,人人们们总总试试图图寻寻求求实实现现它它的的最最优优算算法法。然而对有些问题
2、,这个工作难度很大,目前还不能做到这点。然而对有些问题,这个工作难度很大,目前还不能做到这点。目目前前人人们们已已经经证证明明了了一一些些问问题题,它它们们的的时时间间复复杂杂性性是是多多项项式式阶阶的的,这这只只须须设设计计一一个个实实现现它它的的时时间间复复杂杂性性是是多多项项式式阶阶的的算算法法即即可可,例例如如分分类类(又又称称排排序序)问问题题。这这样样一一类类问问题题将将被被称称之之为为P P类类问问题题。还还有有一一类类问问题题,人人们们已已经经设设计计出出实实现现它它的的时时间间复复杂杂性性为为指指数数阶阶的的算算法法,并并且且已已证证明明该该问问题题不不存存在在多多项项式式阶
3、阶的的算算法法,例例如如梵梵塔塔问问题题;这这样样一一类类问问题题人人们们称称之之为为顽顽型型问问题题。但但是是有有这这样样一一类类问问题题,人人们们目目前前已已设设计计的的实实现现它它的的算算法法其其时时间间复复杂杂性性为为指指数数阶阶的的,但但还还不不能能肯肯定定它它有有或或没没有有多多项项式式阶阶的的算算法法,例例如如第第6 6章章讨讨论论的的当当m m2 2时时任任意意图图的的m m-可可着着色色问问题题。为为研研究究这这类类问问题题,人人们们又又设设计计一一种种称称为为非非确确定定图图灵灵机机的的计计算算模模型型,这这些些问问题题对对应应一一个个非非确确定定的的图图灵灵机机,而而且且
4、可可以以在在多多项项式式时时间间内内完完成成计计算算。人人们们称称这这类类问问题题为为N NP P问问题题,N NP P是是N No on nd de et te er rm mi in ni is st ti ic c P Po ol ly yn no om mi ia al l的的缩缩写,即非确定的多项式的意思。写,即非确定的多项式的意思。第3页,本讲稿共99页99-42022/11/29 1971年年 S.Cook发发 表表 了了“The Complexity of Theorem Proving Procedures”这这篇篇著著名名论论文文,1972年年R.Karp发发表表了了“Re
5、ducibilty Among Combinatorial Prob1ems”,从从此此奠奠定定了了NP完完全全理理论论的的基基础础。NP完完全全理理论论指指出出在在NP类类中中有有一一些些问问题题具具有有以以下下性性质质:若若其其中中一一个个问问题题获获得得多多项项式式算算法法,则则这这一一类类问问题题就就全全部部获获得得了了多多项项式式算算法法;反反之之,若若能能证证明明其其中中一一个个问问题题是是多多项项式式时时间间内内不不可可解解的的,则则这这-类类问问题题就就全全部部是是多多项项式式时时间间内内不不可可解解的的。这这类类问问题题将将称称之之为为NP完完全全问问题题。NP完完全全理理论
6、论不不打打算算找找出出这这一一类类问问题题的的算算法法,仅仅仅仅着着眼眼于于证证明明这这一一类类问问题题的的等等价性,即证明它们的难度相当。价性,即证明它们的难度相当。NP完完全全理理论论还还很很年年轻轻,有有许许多多问问题题等等待待人人们们研研究究。例例如如,“NPNPP P”还还是是相相反反“P P是是NPNP的的真真子子集集”。这这个个问问题题是是当当代代计计算算机机科科学学中中的的一一大难题。大难题。第4页,本讲稿共99页99-52022/11/297.1 7.1 判定问题、语言和编码判定问题、语言和编码 我我们们讨讨论论的的几几种种计计算算模模型型,都都可可以以认认为为是是语语言言的
7、的接接受受器或函数的计算器。器或函数的计算器。为为讨讨论论问问题题简简明明,本本章章只只讨讨论论语语言言的的识识别别问问题题。这这是是因因为为象象图图论论、数数论论、逻逻辑辑和和规规划划中中的的种种种种问问题题常常常常可可以以表表示示为为语语言言的的识识别别问问题题。其其它它的的计计算算问问题题往往往往都都有有对对应应的的判判定定问问题题。这这种种问问题题只只有有两两个个可可能能的的解解,或或者者回回答答“是是”,或者回答,或者回答“否否”。第5页,本讲稿共99页99-62022/11/29判定问题判定问题 定定义义7-17-1 判判定定问问题题 是是由由实实数数集集合合D D 和和“是是”的
8、的实实例例子子集集Y Y D D 组成。组成。但但是是,我我们们感感兴兴趣趣的的多多数数判判定定问问题题具具有有相相当当数数量量的的附附加加结结构构,在在描描述述判判定定问问题题时时,要要强强调调这这些些附附加加结结构构。我我们们用用来来规规定定问问题题的的标标准准格格式式由由两两部部分分组组成成。第第一一部部分分用用各各种种分分量量,如如集集合合、图图、函函数数、数数字字等等规规定定该该问问题题的的一一般般实实例例。第第二二部部分分陈陈述述根根据据这这个个一一般般实实例例提提出出的的是是-否否问问题题。规规定定D D 和和Y Y 的的方方法法是是明明显显的的,一一个个实实例例属属于于D D
9、当当且且仅仅当当它它可可以以通通过过用用规规定定类类型型的的具具体体对对象象替替换换一一般般实实例例中中的的所所有有分分量量得得到到,而而这这个个实实例例属属于于Y Y 当当且且仅仅当当具具体体到到这这个个实实例例时时,对对所所陈陈述述的的问问题题的的回回答为答为“是是”。第6页,本讲稿共99页99-72022/11/29货郎担问题货郎担问题 实实例例:一一个个有有穷穷的的“城城市市”集集合合C=C=c c1 1,c,c2 2,c,cm m,对对于于每每一一对对城城市市c ci i,c,cj jCC有有“距距离离”d(cd(ci i,c,cj j)Z)Z+,以以及及界界限限BZBZ+(这这里里
10、Z Z+表示正整数集合)。表示正整数集合)。问问:是是否否有有经经过过C C中中所所有有城城市市的的“旅旅行行路路线线”,其其全全长长不不超超过过B B,即是否有,即是否有C C的一个排列次序的一个排列次序c 使得使得第7页,本讲稿共99页99-82022/11/29语言语言 我我们们只只考考虑虑判判定定问问题题的的原原因因是是因因为为它它们们有有一一个个非非常常自自然然的的、适适合合在在数数学学上上精精确确的的计计算算理理论论中中研研究究的的形形式式对对应应物物。这这个个对对应应物物叫叫做做“语言语言”,其定义如下:,其定义如下:定定义义7-27-2 对对于于任任意意有有穷穷符符号号集集合合
11、,我我们们用用*表表示示所所有有 的的有有穷穷字字符符串串组组成成的的集集合合。如如果果L L是是*的的一一个个子子集集,我我们们称称L L是是字字母母表表 上的上的语言语言。例例如如,如如果果=0,10,1,那那么么*由由空空字字符符串串“”,字字符符串串0 0、1 1、0000、0101、1010、1111、000000、001001以以及及所所有有其其它它0 0和和1 1的的有有穷穷字字符符串串组组成成。于于是是01,001,111,110101001,001,111,1101010是是0,10,1上上的的一一个个语语言言,由由所所有有完完全全平平方方数数的的二二进进制制表表示示组组成成
12、的的集集合合以以及及集集合合0,10,1*本本身身也也都都是是0,10,1上的语言。上的语言。第8页,本讲稿共99页99-92022/11/29编码编码 判判定定问问题题的的每每一一实实例例可可以以编编码码成成一一个个符符号号串串,这这样样就就将将判判定定问问题题重重新新描描述述为为一一个个语语言言的的识识别别问问题题。这这个个语语言言必必须须由由对对应的判定问题中回答应的判定问题中回答“是是”的一切实例编码的串组成。的一切实例编码的串组成。在在选选择择编编码码方方法法时时,必必须须慎慎重重,因因为为一一个个问问题题的的复复杂杂性性可可能能与与编编码码的的方方法法有有关关。由由于于问问题题的的
13、难难度度在在本本质质上上不不依依赖赖于于用用来来决决定定时时间间复复杂杂性性的的具具体体编编码码方方法法和和计计算算机机模模型型,因因此此很很难难想想象象一一个个“合理的合理的”编码方法与标准的编码方法之间的差异超过多项式。编码方法与标准的编码方法之间的差异超过多项式。第9页,本讲稿共99页99-102022/11/29编码的条件编码的条件l实实例例I I的的编编码码必必须须是是简简洁洁的的,不不能能“填填塞塞”不不必必要要的信息或符号;的信息或符号;lI I中中出出现现的的数数字字必必须须用用十十进进制制(或或二二进进制制、八八进进制制、以及以任何不等于以及以任何不等于1 1的数为基的进制)
14、表示。的数为基的进制)表示。虽然不可能把我们在这里用虽然不可能把我们在这里用“合理的合理的”这个词表示的含义形式化,这个词表示的含义形式化,但是下述两个条件抓住了这个概念的主要内容:但是下述两个条件抓住了这个概念的主要内容:第10页,本讲稿共99页99-112022/11/29编码的标准编码的标准 如如果果我我们们规规定定只只使使用用满满足足这这些些条条件件的的编编码码方方法法,那那么么具具体体使使用用什什么么编编码码方方法法将将不不会会影影响响关关于于一一个个给给定定问问题题的的难难度度的的判判断断。为为此此,我我们们对问题的标准表示约定如下:对问题的标准表示约定如下:l整数用十进制表示;整
15、数用十进制表示;l用用十十进进制制数数1,2,.,n1,2,.,n表表示示一一个个图图的的n n个个节节点点,用用(i(i1 1,i,i2 2)表表示示图图中中的的边边,其中其中i i1 1,i,i2 2分别是该边的两个端点;分别是该边的两个端点;l具具有有n n个个命命题题变变元元的的布布尔尔表表达达式式由由*(与与),+(或或),(非非)与与整整数数1,2,.,n1,2,.,n(命命题题变变元元)所所组组成成的的字字符符串串表表示示,其其中中*可可以以省省略略(但但不不引引起起混混淆淆),必必要要时时可可以以加加括括号号。例例如如,布布尔尔表表达达式式(P(P1 1+P+P2 2)*P)*
16、P3 3可可以以写写成:成:(1+2)3(1+2)3。第11页,本讲稿共99页99-122022/11/29 当当把把整整数数及及其其它它符符号号都都采采用用二二进进制制编编码码后后,一一个个问问题题的的判判定定过程就可以形式地描述如下:过程就可以形式地描述如下:已已知知 L L 00,11*,对对于于x0 x0,11*,若若xLxL则则回回答答“是是”;若;若x x L L,则回答,则回答“非非”。这里,这里,00,11*是指由有限个是指由有限个0 0和和1 1组成的串的集合。组成的串的集合。再次重申,再次重申,我们的讨论仅限于语言的识别我们的讨论仅限于语言的识别。第12页,本讲稿共99页9
17、9-132022/11/297.2 7.2 多项式变换与可满足性问题多项式变换与可满足性问题 定定义义7-37-3 P P LL0,10,1*|L|L为为确确定定图图灵灵机机在在多多项项式式时时间间内内所所接受接受。该怎义中符号该怎义中符号“”意义为意义为“定义为定义为”。定定义义7-47-4 f|f:0f|f:0,11*00,11*且且f f可可在在多多项项式式时时间间内内完成完成。这这个个定定义义是是说说,表表示示可可在在多多项项式式时时间间内内完完成成00,11*00,11*这一转换的集合。这一转换的集合。第13页,本讲稿共99页99-142022/11/29多项式变换多项式变换 定义定
18、义7-57-5 若若A A00,11*,B B00,11*且存在且存在f f使得使得x xA A f(x)f(x)B B成成立立,则则称称A A可可多多项项式式变变换换于于B B,记记作作 ,或或简简称称A A变变换换为为B B。符号符号 的的意意思思是是:存存在在一一台台确确定定图图灵灵机机M M,它它将将可可以以A A在多项式时间内转换为在多项式时间内转换为B B。第14页,本讲稿共99页99-152022/11/29引理引理7-17-1引理引理7-17-1 若若 ,B BP P,则,则A AP P。证明:证明:x xA A f(x)f(x)B B f f,所所以以由由f f产产生生的的输
19、输出出也也必必有有多多项项式式界界,设设为为多多项项式式g g。但但B B也也有有多多项项式式界,设为界,设为h h。对于输入。对于输入x x,先作用以,先作用以f f,接着解属于,接着解属于B B的问题,总共所需时间:的问题,总共所需时间:g(|x|)+h(g(|x|)g(|x|)+h(g(|x|)显然也是多项式,所以显然也是多项式,所以A AP P,这个过程可以用下图表示:,这个过程可以用下图表示:问题问题A A的输的输入入x x问题问题B B的输入的输入最长为最长为(g(|x|)(g(|x|)f f转换至多在转换至多在g(|x|)g(|x|)内将内将x x换成换成f(x)f(x)多项式多
20、项式h(g(|x|)h(g(|x|)内内求解求解B B输出问题输出问题B B的解的解第15页,本讲稿共99页99-162022/11/29可满足性问题可满足性问题 实实例例:集集合合L=AL=A,B B,.,A A,B B,.,c c1 1,c c2 2,.,c ck k是是L L的的有有限限子子集集,称称为为子子句句。每每个个c ci i中中不不出出现现L L中中的的互互补补对对(即(即x xc cI I则则x x c ci i),),i=1i=1,2 2,.,k k。问:问:是否存在一集合是否存在一集合S SL L,满足以下两个条件:,满足以下两个条件:1.1.s s中不包含互补对;中不包
21、含互补对;2.2.。第16页,本讲稿共99页99-172022/11/29 从从数数理理逻逻辑辑看看来来,设设U=uU=u1 1,u,u2 2,u,um m 是是一一个个布布尔尔变变量量集集合合。关关于于U U的的真真值值赋赋值值是是一一个个函函数数t t:UT,FUT,F。如如果果t(u)=Tt(u)=T,我我们们称称u u在在t t下下取取“真真值值”;如如果果t(u)=Ft(u)=F,我我们们称称u u取取“假假值值”。如如果果u u是是U U中中的的一一个个变变量量,那那么么u u和和u u是是U U上上的的文文字字。文文字字u u在在t t下下取取真真值值当当且且仅仅当当变变量量u
22、u在在t t下下取取真真值值;文文字字u u取取真真值值当当且且仅仅当变量当变量u u取假值。取假值。U U上的上的子句子句是是U U上的一个文字集合,例如,上的一个文字集合,例如,u u1 1u u2 2 u u8 8。它表示这些文字。它表示这些文字的析取,对于的析取,对于U U上的一个真值赋值,这个真值赋值上的一个真值赋值,这个真值赋值满足满足它当且仅当它至少有一个它当且仅当它至少有一个元素在这个赋值下取真值。除去元素在这个赋值下取真值。除去t(ut(u1 1)=F)=F,t(ut(u2 2)=T)=T和和t(ut(u8 8)=F)=F之外,之外,t t满足上面那满足上面那个子句。个子句。
23、U U上的上的子句类子句类C C是可满足的是可满足的当且仅当当且仅当存在关于存在关于U U的一个真值赋值同时满足的一个真值赋值同时满足C C中所有子句中所有子句。我们称这样一个真值赋值是。我们称这样一个真值赋值是满足满足C C的真值赋值的真值赋值。第17页,本讲稿共99页99-182022/11/29命题逻辑的可满足性问题命题逻辑的可满足性问题 实例实例:布尔变量集合布尔变量集合U以及以及U上的子句类上的子句类C。问:问:是否存在满足是否存在满足C的真值赋值?的真值赋值?例例如如,U=uU=u1 1,u,u2 2 和和C=uC=u1 1u u2 2,u u1 1u u2 2 是是SATSAT的
24、的一一个个实实例例,对对这这个个实实例例的的回回答答为为“是是”,t(ut(u1 1)=t(u)=t(u2 2)=T)=T给给出出一一个个满满足足的的真真值值赋赋值值。如如果果用用CCuu1 1u u2 2,u u1 1u u2 2,u u1 1 代代替替C C也也给给出出一一个实例,对这个实例的回答为个实例,对这个实例的回答为“否否”,CC不是可满足的。不是可满足的。可满足性问题常用符号可满足性问题常用符号SATSAT表示,它是表示,它是SatisfiabilitySatisfiability的缩写。的缩写。第18页,本讲稿共99页99-192022/11/29图的图的m-m-可着色问题可着
25、色问题 实实例例:无无向向连连通通图图G-(V,E)和和m种种不不同同的的颜颜色色,用用这这些些颜颜色色为为G的各节点着色,每个节点着一色。的各节点着色,每个节点着一色。问问:是是否否有有使使得得G中中任任何何一一条条边边的的两两个个节节点点的的颜颜色色不不同同的的着着色法。色法。例例7-17-1 图的图的m-可着色问题可以多项式变换为可着色问题可以多项式变换为SAT。证证明明:已已知知图图G的的节节点点数数为为n,c1,c2,.,cm表表示示m种种颜颜色色,设设第19页,本讲稿共99页99-202022/11/29 因因此此,G G的的每每一一种种着着色色方方案案对对应应于于给给mnmn个个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 复杂性 第七 完全 问题 优秀 课件
限制150内