生成树问题的NP完整性证明


23

我正在寻找老师提出的问题中的一些提示。

所以我才发现这个决策问题是:NP-complete

在图,是否有在生成树包含确切组作为叶子。我发现我们可以通过减少汉密尔顿路径到这个决策问题来证明它是。G S = { x 1x 2x n } N P - c o m p l e t eGGS={x1,x2,,xn}NP-complete

但是我的老师也在课堂上问我们:

将它也是,如果不是“精确一套 ”,我们做小号NP-completeS

“包括的整个集合,并可能包括其他叶子”或“子集”小号SS

我认为“ S的子集”将是,但是我无法证明这一点,不知道有什么问题可以解决。至于“包括的集合……”,我认为可以在多项式时间内求解。小号NP-completeS


您能详细说明为什么您认为一个版本可以在多项式时间内求解吗?
拉斐尔

@pad:“我的老师在课堂上问”不是一项作业,而是一个难题。另外,请参阅有关作业标签的元讨论
拉斐尔

Answers:


13

简而言之,您的猜测是正确的。出于此答案的目的,让我们将以下三个问题称为:

  • 平等版本:给定一个图和一组,决定是否具有生成树使得在该组叶等于。如您所述,通过减少哈密顿路径问题,这是NP完全的。小号V ģ Ť Ť 小号G=(V,E)SVGTTS
  • 子集版本:鉴于和如上,决定是否有生成树使得该组叶的的一个子集。S G T T SGSGTTS
  • 超版:鉴于和如上,决定是否有生成树使得该组叶的是的超。S G T T SGSGTTS

要证明子集版本是NP完全的,您仍然可以将其简化为Hamitonian路径问题。尝试修改等价版本NP完整性的证明。

为了证明超集版本可以在多项式时间内求解,请尝试找到存在这种树充要条件。T

在[SK05]中研究了这两个版本(以及有关生成树的其他一些问题)。但是我想如果您在查看论文的证据之前尝试自己解决问题会更好,因为查看论文可能会破坏很多人。不幸的是,在尝试为超集版本找到多项式时间算法之前,我已经看过这篇论文!


[SK05] Mohammad Sohel Rahman和Mohammad Kaykobad。生成树上一些有趣问题的复杂性。 信息处理快报,94(2):93-97,2005年4月。[ doi ] [ 作者副本 ]


很高兴在这里见到你!请注意,我们在这里也有MathJax。
拉斐尔

1
感谢您的指导!我希望在上课之前能读到这篇文章,他今天把它宠坏了哈哈。如果有人对超集版本多项式算法感兴趣,则另一个提示是使用V \ L构造新图。
初始化

0

这些提示不足以让我找到S问题超集的解决方案-尽管这些提示是有用且正确的。这是我的思路,这使我找到了解决方案。

如果从G(VS)中删除S中的所有顶点,然后找到带有DFS的生成树T,会发生什么?如果G中还有尚未连接的顶点,请说v1;否则,请说v1。那对于被移除的S中至少一个顶点的作用有什么看法?它位于从当前在生成树中的某个顶点到v1的路径中。因此,它不能是叶子(因为叶子没有子代)。如果没有未连接的节点,则意味着S中的每个顶点都可以是叶,只要它具有通向生成树的边即可。S中仅连接到S中其他顶点的顶点当然不会与生成树建立连接,并且会违反条件。因此,有两种情况需要检查:

  1. 如果从G中删除S并找到生成树后,所有不在S中的节点都已连接
  2. 是否可以将S中的每个节点直接连接到生成树。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.