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