8-15 最大公共子图

来源:互联网 发布:在淘宝上开店货源怎么办 编辑:程序博客网 时间:2024/06/06 02:15


题目:

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

        输入:两个图G1=(V1,E1)和G2=(V2,E2)

        输出:两个节点集合V1’和V2'分别是V1和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)上。

   ①如果最大公共子图有一个解,则由于该公共子图实例要求顶点数≥b,且G2的顶点数为b,故该公共子图的顶点数必为b。

      由于G2的顶点数为b,则该公共子图为G2,且由于G2为团,所以G1所得的公共子图是规模为b的团,故可求得团问题的实例(G1,b)是有解的。

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

  因此,团问题(G1,b)和最大公共子图(G1,G2,b)的解释一致的,得证。