- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章-NP完全性理论.ppt
* 给定关于变量x1,x2,…xn的3元合取范式θ=C1C2…Ck,其中每个Ci 恰有3个因子。根据θ在多项式时间内构造与之相应的图G=(V,E),使得θ是可满足的当且仅当G有哈密顿回路。 构造用到两个专用子图,它们具有一些有用的特殊性质。在许多有趣的NP完全性证明中常用到这两个子图。 第一个专用子图A如图8-9(a)所示。图A作为另一个图的子图时,只能通过顶点a,a’,b,b’,和图G的其它部分相连。注意到若包含子图A的图G有一条哈密顿回路,则该哈密顿回路为了通过顶点z1,z2,z3和z4,只能以图8-9(b)和(c)的两种方式通过子图A中的各顶点。因此,可以将子图A看作由边 a,a’,b,b’,组成的,且图G的哈密顿回路必须包括这两条边中恰好一条边。为简便起见,用图8-9(d)所示的图来表示子图A。 * (a) (b) (c) (d) 图8-9子图A的结构 * 图8-10中的图是要用到的第二个专用子图B。图B作为另一个图G的子图时,只能通过顶点b1,b2,b3,b4和图G中其它部分相连。 图G的一条哈密顿回路不会全部通过3条边(b1,b2),(b2,b3)和(b3,b4)。否则它就不可能再通过子图B的其它顶点。然而,这3条边中任何一条或任何两条都可能成为图G的哈密顿回路中的边。图8-10的(a)~(e)说明了5种这样的情形。还有3种情形可以通过对(b)、(c)和(e)中图形做上下对称顶点的交换得到。为简便起见,用图8-10(f)中图形表示子图B,其中的3个箭头表示图G的任一哈密顿回路必须至少包含箭头所指的3条路径之一。 * (a) (b) (c) 图8-10 子图B的结构 * (d) (e) (f) 图8-10 子图B的结构 * 要构造的图G由许多这样的子图A和子图B所构成。图G的结构如图8-11所示。θ中每一个合取式Ci,1≤i≤k,对应一个子图B,并且将这k 个子图B串连在一起。也就是说,若用bi,j表示Ci所对应的子图B中的顶点bj,则将bi,4和bi+1,1连接起来,i=1,2,…,k-1。这就构成图G的左半部。 对于θ中每个变量xm,在图G中建立两个与之对应的顶点x’m和x”m。这两个顶点之间有两条边相连,一条边记为em,另一条边记为ēm。这两条边用于表示变量xm的两种赋值情况。当G的哈密顿回路经过边em时,对应于xm 赋值为1,而当哈密顿回路经过边ēm 时,对应于xm赋值为0。每对这样的边构成了图G中的一个2边环。通过在图G中加入边(x”m,x’m+1), m=1,2,…,n-1, 将这些小环串连在一起,构成图G的右半部。 * 图8-11 图G的结构 ē1 ē2 ē3 * 将图G的左半部(合取项)和右半部(变量),用上、下两条边(b1,1,x’1)和(bk,4,x”n)连接起来,如图8-11所示。 到此,还没有完成图G的构造,因为还没有建立变量与各合取项的联系。若合取项Ci的第j个因子是xm,则用一个子图A连接边(bi,j,bi,j+1)和边em;若合取项Ci的第j个因子是xm,则用一子图A连接边(bi,j,bi,j+1)和边ēm。 例如,当C2=(x1+x2+x3 )时,必须在3对边(b2,1,b2,2)和e1, (b2,2,b2,3)和ē2, (b2,3,2,4)和e3之间各用一个子图连接。如图8-11所示。这里所说的用子图A连接两条边,实际上是用子图A中a和a’之间的5条边以及b和b’之间的5条边取代要连接的两条边,当然还要加上连接顶点z1,z2,z3和z4的边。 * 一个给定的因子lm可能在多个合取项中出现,因此边em或ēm可能要嵌入多个子图A。在这种情况下,将多个子图A串连在一起,并用串连后的边去取代边em或ēm 如图8-12所示。 至此,已完成图G的构造。并且可以断言合取范式θ 可满足当且仅当G有一个哈密顿回路。 事实上,若图G有一条哈密顿回路H,则由于图G的特殊性,H必定具有以下特殊形式: (1)首先,H经过边(b1,1,x’1)从G的顶点左边到达顶部右边; (2)然后,H经过边em或ēm中一条(不同时经边em 和ēm),自顶向下经过所有顶点x’m 和x”m: (3)H 经过边(bk,4,x”n)回到G的左边; (4)最后,H经过各子图B从底部回到顶部。 * (a) (b) 图8-12 子图A的串连 ē3 * H实际上也经过各子图A的内部。H经过子图A内部的两种不同方式取决于H经过的是被子图A连接的两条边中哪一条。 对于图G的任意一条哈密顿回路H,可以定义θ的一个真值赋值如下。当边em是H中一条边时,取xm =1;否则ēm是 H 的一条边,取xm=0。 按这种赋值,可使θ=1。事实上,考虑θ的每一合取项Ci及其对应的图G中的子图B。根据Ci中第j个因子是xm或xm,每一条边(bi,j,b
文档评论(0)