半峰-NP完全问题


20

首先,我要指出这是一个作业问题,请仅提供建议和相关意见,请不要直接回答。话虽如此,这就是我要解决的问题:

让HALF-CLIQUE = { | G是具有至少n / 2个节点的完整子图的无向图,其中n是G }中的节点数。证明HALF-CLIQUE是NP完整的。GGñ/2G

另外,我知道以下几点:

  • 就此问题而言,集团定义为输入图的无向子图,其中每两个节点由一条边连接。甲 -cliqueķ是包含一个集团节点。ķ
  • 根据我们的教科书,迈克尔·西蓬瑟的“ 介绍计算理论 ”,第268,这个问题CLIQUE = { | G是一个无向图,其中k -clique}在NP中GķGķ
  • 此外,根据同一资料(第283页),我们注意到CLIQUE存在于NP-Complpete中(因此也显然存在于NP中)。

我想我在这里有答案的内核,但是我可以使用一些指示来说明问题所在或与答案有关的任何相关要点。到目前为止,这是我的基本想法,

好吧,我首先注意的证书只会是一个半QLIQUE 。现在看来,我需要做的是创建一个检验器,该检验器是从CLIQUE(我们知道是NP-Complete)到HALF-CLIQUE的多项式时间缩减。我的想法是,这将通过创建一个图灵机来完成,该图灵机在本书中为CLIQUE运行图灵机验证程序,并为HALF-CLIQUE附加约束。尺寸ñ/2

这听起来对我来说是正确的,但我还不太相信这个学科。我想再次提醒大家这是一个家庭作业问题,因此请避免回答这个问题。任何不符合此要求的指导都将受到欢迎!

Answers:


15

从您的描述和评论来看,关于如何使用减少量来证明NP完整性的准确描述可能会给您最好的帮助:

一个问题是NP完全,如果它在NP中并且是NP困难的。这意味着,NP完整性的任何证明都包括两个部分:问题出在NP上的证明和NP困难的证明。

对于第一部分,您必须证明可以使用一些合适的证书在多项式时间内验证YES实例。或者,您可以显示问题可以通过不确定的图灵机在多项式时间内解决,但是通常不会这样做,因为容易出错。

在您的情况下,这取决于证明对于每个具有 clique的图,您可以找到一些证明确实存在这样的集团,因此,有了这样的证明,您可以检入多项式时间,确实有这样的集团。ñ/2

对于第二部分,您必须证明问题是NP困难的。通过证明您的问题至少与某些其他NP难题一样困难,可以证明这几乎是所有情况。如果HALF-CLIQUE至少与CLIQUE一样硬,则它也必须是NP-hard。

您可以通过证明 CLIQUE 减少 Half-Clique来做到这一点。您“减少”问题,使其“更容易”。您说“解决CLIQUE很难,但我已经证明您只需解决HALF-CLIQUE即可解决CLIQUE”。(很多人,甚至是专家,有时也会用这种错误的方式说:)

缩减有不同的类型:缩减是最常用的一种,在这种情况下,您将CLIQUE的实例映射到在多项式时间内大小最大为多项式的HALF-CLIQUE的实例。这意味着,如果我们可以求解HALF-CLIQUE,则也可以通过链接算法和约简来求解CLIQUE。

换句话说,我们必须证明,如果我们可以求解半峰,就可以求解CLIQUE。通过显示针对CLIQUE的每个实例,我们可以设计一个HALF-CLIQUE实例,以使CLIQUE的实例为“是”实例,而HALF-CLIQUE的实例为“是”实例。

因此,证明是这样开始的:给定一个图,我可以创建一些图H =G=VË,使得 G包含 k斜率,而 H包含 n / 2斜率。我将把这部分留给您(这是需要创造力的部分,是与手头特定问题有关的部分)。H=VËGķHñ/2


出色的设置,我认为您在提供足够的信息以指导而不用提供雄辩的答案的情况下做得很好。谢谢。
BrotherJack 2012年

1
应该将类似这样的内容放在np-complete的标记Wiki中,以备将来参考。你会介意的?
拉斐尔

8

您似乎有些迷路。你想证明HALF-CLIQUE CLIQUE,这意味着你正在寻找一个多时间算法,需要CLIQUE实例作为输入和输出HALF-CLIQUE的实例与属性,“是”输入映射到“是” ES和“否”输入映射为“否”。

因此,基本上,任务是拍摄图G和一个数并输出一个新图H(无数),以便每当G的大小为k时,H至少在其一半的顶点上都有一个图。 ķHHGķ

以下扰流板包含有关如何执行此还原的提示:

HG


我不明白你在说什么。我试图做的是通过修改本书中使用的变体来证明CLIQUE是NP,使HALF-CLIQUE减少为CLIQUE,使其在输入图G上运行,以及是否找到了CLIQUE,以检查是否包含该CLIQUE至少n / 2个节点,其中n是G中的节点数。这样的HALF-CLIQUE验证程序不会表明CLIQUE的验证程序是它的简化形式(例如在解决HALF-CLIQUE的子问题中)?
BrotherJack 2012年

还是您是说我倒退了,需要证明CLIQUE需要减少到一半?我也完全不会弄糟你。有什么方法可以解释它而不给出答案吗?
BrotherJack 2012年

3
是的,说明一个问题是NP完全,你需要(一)表明它是在NP和(b)减少一些已知的NP问题了。为了记住正确的还原方向,重点是将新问题用作有效解决已知NP-C问题的“黑匣子”。
路易(Louis)

好,我想我现在明白了。谢谢你的帮助!
BrotherJack 2012年

+1我想我明白了。一旦我了解我做错了事,您的提示就很有启发性。再次感谢!
BrotherJack 2012年

0

您可以减少顶点覆盖问题。如果给定图的补图的顶点覆盖小于n / 2个节点,则此图的集团将大于n / 2个节点,即一半集团。只需声明很难解决“顶点覆盖”问题就可以了。


1
由于您可以减少任何 NP完全问题,因此这并不是非常有用。预计有关减少的细节。
拉斐尔

ñ/2
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.