如何证明一个概率是np完全并且是np?

时间:2015-06-16 07:32:56

标签: algorithm np-complete np

鉴于某个部门需要一个委员会来选择该部门的负责人。委员会不能包括彼此存在利益冲突的人。输入包括:

  • 所需的委员会规模
  • 所有人的列表
  • 所有冲突对的列表。

目标是确定是否存在这种规模的无冲突委员会。

我怎样才能证明这个问题是NP完全的并且在NP中?

4 个答案:

答案 0 :(得分:3)

因为这是99.99%的家庭作业,所以我只给你一个非常简短的“回答”:

尽量减少 Indepedent Set Decision Problem你的问题。

另一个有用的说明是,如果你证明问题是NPC,那么它是NP

答案 1 :(得分:1)

显示问题是NP-Complete 需要 ,以表明它是在NP中。

  1. 熟悉NP完整问题的子集
  2. 证明NP硬度:将NP完整问题的任意实例减少到您的问题实例。这是馅饼中最大的一块,对NP Complete问题的熟悉程度是值得的。根据您选择的NP Complete问题,减少或多或少会很困难。
  3. 证明您的问题在NP中:设计一种算法,可以在多项式时间内验证实例是否是解决方案。
  4. 显示它在NP中:

      

    给定一个大小为N的人的随机子集,如何检查它们   组建一个没有冲突的委员会?

    应该很容易。算法不必在内存或大小上有效,只需要正确。在子集中形成所有可能的对,并检查一对是否在冲突匹配列表中。

    熟悉NP完整性:
    有一些特定的NP完全问题,这是非常受欢迎的NP硬度。例如Karp's 21 NP-complete problems

    <强>证明: 通过对问题的快速分析,我最初可能会尝试使用Vertex Cover NP完整问题,尤其是因为冲突子句。鉴于您对委员会规模有限制,也许您可​​以先尝试最小顶点覆盖。

    祝你好运。

答案 2 :(得分:0)

NP证明通常表示与已知的NP问题等效。例如,参见Karp的21个NP完全问题。 SAT是最常用的(参见Cook-Levin定理)。您可以尝试使用少数人创建逻辑门,其中一个人是委员会成员取决于另外两个人的成员资格。例如,NP证明如何适用于康威的生命游戏和蝎子纸牌等游戏。

答案 3 :(得分:0)

要证明问题是np完全的,您首先必须证明问题出在np中。您可以这样做以形成证书,因此您将选择一个委员会规模,一个人员列表,有利益冲突的人员列表以及一个委员会。然后,如果您可以验证(而不证明)委员会在多项式时间内是否有效,则问题出在np。

从那里,您可以通过将已经证明是np完全的问题转换为问题来证明问题是否是np完全的。

如果您都做过,那么问题就出在np和np-complete。