算法概论理论题8.19

Description

A kite is a graph on an even number of vertices, say 2n, in which n of the vertices form a clique and the remaining n vertices are connected in a “tail” that consists of a path joined to one of the vertices of the clique. Given a graph and a goal g, the KITE problem asks for a subgraph which is a kite and which contains 2g nodes. Prove that KITE is NP-complete.


Thought

kite图具有偶数个顶点,一半的顶点形成一个团,另一半的顶点由tail的路径连接,tail的某个端点与团中的一个顶点相连。题目给定了一个图和一个目标g,要求一个含有2g个顶点且是kite图的子图。

可以将团问题归约到 KITE 问题。若要求图G(V,E)的最大团,可以在图G 中添加 V 个新顶点,并将每个新顶点都连向原图中不同的某个顶点,共形成了 V 条新边,这样就得了一个新图 ‘ G 。容易看出,在 ‘ G 中存在大小为2g 的kite 当且仅当G 中存在大小为 g 的团。


Solution

在图G=(V, E)中增加|V|个顶点,并将新增的每个顶点都分别与原先G中的不同顶点相连,因此形成|V|条新的边,记新形成的图为图G’。

如果G’中存在2g个顶点且是kite图的子图,则G’中一定含有g个顶点形成的团,即G中一定含有g个顶点形成的团

如果G中存在含有g个顶点形成的团,则它与新加入的|V|条边形成了G’中顶点个数为2g的kite图。

因此,G’中存在大小为2g的kite图当且仅当G中存在大小为g的团,最大团问题可规约至kite问题,故kite问题为NP完全问题。


点赞