8.15 最大公共子图

来源:互联网 发布:vba有数据库吗 编辑:程序博客网 时间:2024/05/22 01:45

题目描述:

证明如下问题是 NP-完全的:

输入:两个图 G1=(V1,E1)和 G2=(V2,E2); 预算b。

输出:两个节点集合V1’是V1的子集,V2'是V2子集,它们被移除后,将在两图中分别留下至少b个节点,且图的剩余部分完全一样。


题目解答:

分析:

       我们需要找到一个NP-完全问题规约到该问题上,从而证明出该问题是NP-完全的。我们选择团问题规约到该问题中。 考虑这个问题,当我们在图G1中找到一个规模为b的团,便可以得到一个子图G2,其中该子图G2有b个顶点,且它是一个完全图。那么反过来说给出G1,G2,如果我们能求解它们的最大公共子图,如果该子图的顶点数为b,便能得到一个规模为b的团,从而将团问题的实例(G1,b)便能规约到在G1,G2(其中G2是规模为b的完全图)求解最大公共子图实例(G1,G2,b)的问题
证明:
       设团问题的某个实例(G1,b),构造一个完全图G2,顶点数为b,因此能通过团问题实例(G1,b)映射到最大公共子图(G1,G2,b)上。

(1)如果最大公共子图有一个解,则由于该公共子图实例要求顶点数≥b,且G2的顶点数为b,故该公共子图的顶点数必为b  由于G2的顶点数为b,则该公共子图为G2,且由于G2为团,所以G1所得的公共子图是规模为b的团,故可求得团问题的实例(G1,b)是有解的。

(2)如果团问题的实例(G1,b)有解,则G1中存在一个规模为b的团G',由于G2也是规模为b的团,则G'=G2,则可求得最大公共子图(G1,G2,b)的解。
  因此,团问题(G1,b)和最大公共子图(G1,G2,b)的解释一致的,题目得证。



原创粉丝点击