作业-NP完全问题证明-8.23

来源:互联网 发布:淘宝如何报名试用 编辑:程序博客网 时间:2024/04/30 05:48

题目:
在节点互不相交的路径(NODE-DISJOINT PATH)问题中,输入是一个无向图。该图的一些节点具有特殊标记:节点s1,s2,,sk 被标记为“出发点”,另一些相同数量的节点t1,t2,,tk 被标记为“目的地”。目标是对所有的i=1,2,,k,求由siti 的k条互不相交的路径(即不包含相同节点的路径)。请证明该问题是NP完全的。


证明:
首先从 3SAT 问题开始归约。
对于包含 m 个子句和 n 个变量的 3SAT 公式,使用 k = m + n 个出发点和目的地。
每个变量 v对应于一个节点对(sv,tv) ,每个子句 c 对应于一个节点对(sc,tc)
对每个 3SAT 子句(v1v2v3) ,引入6个中间节点:v1,v2,v3,v¯1,v¯2,v¯3
对任意子句c=(v1v2v3) ,将sc,vi 连接起来,将 vi,tc 连接起来,i=1,2,3
对任意变量v, 假设共引入有d个中间节点v ,d个中间节点v¯ ,将sv,v,v,,v (共d个节点v), tv 依次连接起来,将sv,v¯,v¯,,v¯ (共d个节点v¯), tv 依次连接起来,这样就形成了2条路径,2条路径只能选其中1条,保证了变量一致。
如图,未画出sctc 的连接:
这里写图片描述
容易看到,如果该 3SAT 问题有解,那么经过这样的转化后,就构造出了该图对应的k条节点不相交的路径。反之,如果该 3SAT 问题无解,那么转化后,该图也不存在对应的k条节点不相交的路径。
这样就将3SAT 归约到了 NODE-DISJOINT PATH, 3SAT为NP完全问题,所以NODE-DISJOINT PATH 为NP完全问题。
证毕。

0 0
原创粉丝点击