算法概论习题:8.14NP-完全问题的证明
2016-12-24 01:53
218 查看
8.14
问题描述:
证明如下问题是NP-完全的:给定一个无向图G(V,E)和整数k,求G的一个规模为K的团以及一个规模为K的独立集,假设二者都是存在的。
(1)可以将3SAT问题归约到求无向图G的规模为K的团。
考虑一个有K个子句的3SAT实例,每个字句包含不超过3个文字。可以构造一个无向图G,每个属于3SAT公式中的文字对应G中的一个节点。在3SAT公式中属于一个子句的结点在图G中视为同一个分组的。
如果u∈V,v∈V是图G中属于不同分组的结点,且这两个结点不代表相反的文字的话,就在这两个结点间构造一条边。
可以在多项式时间内由3SAT公式构造出这样的图G。
那么在图G中如果找到一个规模为K的团,就意味着原3SAT公式是可满足的:这是因为这个规模为K的团含有K个顶点,令这k个顶点代表的文字赋为真,由于它们属于不同的子句(根据构造过程,代表同一个子句中文字的结点在G中没有相连的边),则原3SAT公式中所有子句都可以得到满足,即3SAT是可满足的。
如果在规模为K的3SAT公式存在真值赋值,就可以推出图G中存在规模为K的团:这是因为如果C1∧C2∧C3∧……∧Ck为真,其中Ci是含有3个文字的子句,那么每一个子句中都必然存在至少一个值为真的文字,这里至少有K个文字,且两两不是相反的文字,从每个子句中选择一个值为真的文字,这K个文字对应了图G中属于不同分组的顶点,而且由于这K个文字两两不相反,根据之前的定义,图G中这K个顶点两两相连,所以图G中存在一个规模为K的团。
综上所述,可以把一个3SAT问题归约到找无向图中规模为K的团问题,由于3SAT问题是NP-完全问题,所以求取无向图G(V,E)的规模为K的团问题也是NP-完全问题。
(2)在1中构造的图G中,求出G的补图G’,则G’中的规模为K的独立集就是图G中规模为K的团。当求出一个图G规模为K的团之后,可以在多项式时间内求出图G的规模为K的独立集。
由(1)的结论可以知道,3SAT问题也可以归约到求图G中的规模为K的独立集问题上。即求无向图G(V,E)的规模为K的独立集是NP-完全问题。
综合(1)、(2)可以知道3SAT问题可以归约到求一个无向图G(V,E)的规模为K的团和规模为K的独立集上,所以这个问题是NP-完全的。
问题描述:
证明如下问题是NP-完全的:给定一个无向图G(V,E)和整数k,求G的一个规模为K的团以及一个规模为K的独立集,假设二者都是存在的。
(1)可以将3SAT问题归约到求无向图G的规模为K的团。
考虑一个有K个子句的3SAT实例,每个字句包含不超过3个文字。可以构造一个无向图G,每个属于3SAT公式中的文字对应G中的一个节点。在3SAT公式中属于一个子句的结点在图G中视为同一个分组的。
如果u∈V,v∈V是图G中属于不同分组的结点,且这两个结点不代表相反的文字的话,就在这两个结点间构造一条边。
可以在多项式时间内由3SAT公式构造出这样的图G。
那么在图G中如果找到一个规模为K的团,就意味着原3SAT公式是可满足的:这是因为这个规模为K的团含有K个顶点,令这k个顶点代表的文字赋为真,由于它们属于不同的子句(根据构造过程,代表同一个子句中文字的结点在G中没有相连的边),则原3SAT公式中所有子句都可以得到满足,即3SAT是可满足的。
如果在规模为K的3SAT公式存在真值赋值,就可以推出图G中存在规模为K的团:这是因为如果C1∧C2∧C3∧……∧Ck为真,其中Ci是含有3个文字的子句,那么每一个子句中都必然存在至少一个值为真的文字,这里至少有K个文字,且两两不是相反的文字,从每个子句中选择一个值为真的文字,这K个文字对应了图G中属于不同分组的顶点,而且由于这K个文字两两不相反,根据之前的定义,图G中这K个顶点两两相连,所以图G中存在一个规模为K的团。
综上所述,可以把一个3SAT问题归约到找无向图中规模为K的团问题,由于3SAT问题是NP-完全问题,所以求取无向图G(V,E)的规模为K的团问题也是NP-完全问题。
(2)在1中构造的图G中,求出G的补图G’,则G’中的规模为K的独立集就是图G中规模为K的团。当求出一个图G规模为K的团之后,可以在多项式时间内求出图G的规模为K的独立集。
由(1)的结论可以知道,3SAT问题也可以归约到求图G中的规模为K的独立集问题上。即求无向图G(V,E)的规模为K的独立集是NP-完全问题。
综合(1)、(2)可以知道3SAT问题可以归约到求一个无向图G(V,E)的规模为K的团和规模为K的独立集上,所以这个问题是NP-完全的。
相关文章推荐
- 【算法概论习题解答】8.3证明吝啬SAT问题是NP-完全问题
- NP问题——证明EXACT 4SAT问题是NP完全问题(算法概论习题8.8)
- [算法概论习题] 证明 EXACT 4SAT 是 NP-complete 问题
- NP完全问题习题证明
- 习题8.3--证明吝啬SAT是NP-完全问题
- 【算法期末作业】8.3 证明STINGY SAT是NP-完全问题
- 证明题-算法概论8.3证明吝啬SAT问题
- NP完全问题课后习题证明
- 算法概论习题8.8——证明精确的4SAT是NP-完全问题
- 【算法概论】习题8.12证明题
- 证明EXACT 4SAT问题是NP完全问题-[算法概论8.8]
- 算法分析与设计课程作业第十六周——NP-完全问题证明
- 【算法习题】证明吝啬SAT问题为NP完全问题
- 证明题-算法概论8.3吝啬SAT问题证明
- 算法概论8章,部分习题证明
- 算法分析与设计——NP完全证明问题8.16
- 树的最大割问题 算法设计第十章习题9
- 第七周算法概论作业—背包问题
- 【创想】【完全NP问题】多机调度问题,网络流基础上建立新算法
- 2015/10/13 算法习题:最大子列和问题