减少/解决集团问题以证明问题是NP Complete

时间:2018-12-05 22:17:37

标签: graph reduction np-complete clique clique-problem

我遇到以下问题: 给定一组男性和一组女性,并且两个人之间的等级等于0或1。选择一个人子集,使得:

  • 我想要在子集中的人数总数中最大化喜欢的人数(子集中任意两个人之间所有等级的总和)。

  • 在所选择的人群中,男性和女性的数量必须相等。

我的问题是:为了显示此问题的np完备性,我知道可以使用派系问题减少法...有谁可以提供有关如何进行这种减少法的例子?我是否需要减少FROM或TO派系问题? 非常感谢

2 个答案:

答案 0 :(得分:0)

要回答您的问题,您需要将“集团问题”简化为当前正在处理的问题,因为集团是已知的NP完全问题。

关于转换过程的提示(从已知的集团问题到排名问题),考虑这一问题的一种好方法是如何减少集团问题的情况。我假设在您的问题中1表示“联系的人”,0表示“不喜欢的人”。

以每个人作为我们在图G中的顶点(假设集团问题中给定的图)。为了区分男性和女性,我们将男性组标记为A1,A2,A3 ... Am,将女性组标记为B1,B2,B3 ... Bf。现在,我们可以为每对等级为1的人(喜欢的人)画一条边。假设完成图形后形成了N(N> = 1)个集团。

现在,我们移除每个群体中的顶点,以使该群体中的As和Bs数量不相等(以提供两个性别中的顶点数量相等)。现在,最大号为K的集团就是您要寻找的集团。

该变换应该在多项式时间内完成,因为我们正在做的是完全重建集团图并标记它们(并删除它们)。进行这种转换将是O(V + E)。

稍后,如果您想证明自己的问题是NP完全的,则将要求您证明答案在问题的答案和集团问题的答案之间都起作用。

答案 1 :(得分:0)

我不会为您写出实际的证明,但我希望以下有关如何构造证明的概述有助于回答您的问题。

使用归约法证明问题是NP完全的第一步实际上是证明问题在于NP。也就是说,该问题可以在多项式时间内得到验证。

您如何做到的? 您的问题可以变成决策问题吗(例如,是/否问题) 这个决策问题可以得到证明吗?您的决策问题是否有答案/解决方案? 您可以验证用于决策问题的证书可以在多项式时间内完成吗? 如果是,那么您已经证明问题出在NP。

现在您知道问题出在NP上,您可以使用归约法来证明问题是NP完全问题或NP困难问题。 (如果问题出在NP上,那么在归约步骤中绝对没有用,因为如果问题不在NP中,那么问题就不可能是NP完全的。)

为简化起见,您应该将集团问题转化为您的问题。 您是怎么做到的?那么,考虑一下集团问题的哪些要素可以转化为您的问题的要素。您的问题中有男性/女性,但集团问题中有节点/顶点。在您的问题中有等于0(不喜欢)或1(喜欢)的连接,但在集团问题中有加权(或未加权的边)。您试图找到一个喜欢的人的子集,但是在群体问题中,您正在最大化群体中的顶点数量。在大多数情况下,这似乎是一对一的转换。问题的棘手部分是,男性和女性的数量必须相等。为此,您将需要变得更有创造力,并找到解决集团问题的方法。

一旦您将问题从集团转变为问题,您就可以简单地证明集团问题的答案就是您问题的答案,反之亦然。

这是证明问题是NP问题的结构。 最难的部分是转型过程。但是,关键是,如果您考虑得足够深入,就可以处理集团问题,从而将其转化为您的问题。

希望有帮助!

相关问题