子图同构
我们有图表G_1 =(V_1,E_1),G_2 =(V_2,E_2)。
问题:图G_1是否与G_2的子图同构?
(即是否存在G_2的顶点子集,V⊆V_2和G_2的边缘的子集,E⊆E_2,使得| V | = | V_1 |和| E | = | E_1 |并且有一个在G_2的顶点V的子集处的G_1的顶点的一对一匹配,f:V_1 - > V使得{u,v}∈E_1<= {f(u),f(v) }∈E)
我尝试了以下内容:
由于存在O(| V_2 | ^ 2)个不同的顶点对,因此检查需要多项式时间。所以这个问题属于NP。
我们可以在多项式时间内构造子图同构问题的实例,如下所示: G_2是n个顶点的图形。
G_1是k个顶点的完整图,对于某些k <= n。 设G = G_2。 如果存在具有k个顶点的G_2的完整子图,则问题子图同构具有解,即如果图G具有具有k个顶点的完整子图。
因此,问题Subgraph Isomorphism的实例有一个解决方案iff问题的初始实例Clique有一个解决方案。
因此,问题子图同构是NP完全的。
你能告诉我它是否正确或者我是否可以改进一些东西?