《算法概论》第八章NP完全问题——8.19习题解

题目描述

《算法概论》第八章NP完全问题——8.19习题解_第1张图片

题解

首先图示说明一下什么是风筝图,如下就是一个n=4的风筝图。
《算法概论》第八章NP完全问题——8.19习题解_第2张图片
其次,通过从团问题规约到风筝图问题来证明风筝图问题是NP-完全的。

团问题指的是:给定一个图以及目标g,求图中的g个顶点,使得这些顶点间两两都存在相连的边。已知团问题是NP-完全的。

令G表示一个图,令k为一个数字,对于(G,k),团问题指的是在G中找到一个结点个数为k的团。
从(G,k),构造一个新的图G',构造过程:对于G中的每个顶点,添加一个由k个结点组成的链(也就是题中所说的“尾巴”)。该构造过程可在多项式时间内完成。
如果G'有一个结点数为2k的风筝,那么G一定有一个结点数为k的团(也就是2k的风筝减去k的“尾巴”)。
构造G'添加节点的过程并不会在G'中引入新的团(因为添加的都是链),因此G和G'含有相同的团。

由此完成从团问题到风筝图问题的规约,团问题是NP-完全的,那么风筝图问题也是NP-完全的。




你可能感兴趣的:(《算法概论》第八章NP完全问题——8.19习题解)