如何证明概率在NP中并且它是NP完全的

时间:2015-04-11 00:15:43

标签: graph directed-acyclic-graphs np

最长路径

对于E中的每个e,我们有一个图G =(V,E),长度为l(e)的Z ^(+),正整数K和V中的两个节点s,t。

问题是G中是否有一条简单的路径,从s到t的长度至少为K?

  • 显示问题最长路径属于NP。
  • 显示问题最长路径是NP完全的,减少哈密顿路径。
  • 如果图表是有针对性的并且非循环,那么问题可以在时间O(| V | + | E |)中解决。

你能否给我一个暗示我们如何证明问题属于NP? 另外,为了表明后者是NP完全的,我们怎样才能将问题减少到另一个?

修改

因此,为了表明问题属于NP,我们是否必须绘制一个简单的并计算边长的总和?

我们是否举例说明以下内容?

enter image description here

我们看到从节点s到节点t的路径长度等于l((s,w))+ l((w,t))= 3 + 12 = 15,所以没有G中从s到t的简单路径至少为K.

或者它足以满足以下要求吗?

“给定一条简单的路径,我们可以很容易地检查它的长度是否至少为K(通过简单地计算其中所有边的长度之和)。因此,它在NP中。”

编辑2 :你还能解释一下为什么我们通过将所有边的长度设置为等于1来设置K = | V |来在多项式时间内将汉密尔顿路径问题减少到这个问题。 - 1?

编辑3 :假设我们遇到问题A和问题B,并且已知B是NP完全的。如果我们想表明A也是NP完全的,那么我们是否以这种方式更改A的数据,以便我们遇到与问题B相同的问题,因此我们推断出A也是NP完全的?或者我明白错了?

编辑4 :另外我们如何证明如果图形是有向的和非循环的,那么问题可以及时解决O(| V | + | E |)?

编辑5 :汉密尔顿路径的所有边长都等于1,对吧?如果我们有V个顶点,那么最长路径的长度是V-1,是吗?但在我们的问题中,边缘的长度不是特定的,K也不是固定的数字。因此,如果我们将所有边的长度设置为等于1并设置K = | V | - 1,难道我们不把问题减少到汉密尔顿路径问题吗?或者我明白了吗?

1 个答案:

答案 0 :(得分:1)

  1. 为了证明NP中存在问题,我们需要证明它可以在多项式时间内验证。给定一个证书(在这种情况下是一个简单的路径),我们可以很容易地检查它的长度是否至少为K(通过简单地计算其中所有边的长度之和)。因此,它在NP。

  2. 从A减少到B意味着:给定A的实例,创建B的实例(更准确地说,我们对这里的多项式时间减少感兴趣)并解决它以解决原始问题。那么如何在多项式时间内将哈密顿路径问题减少到这个问题呢?它非常简单:我们可以将所有边的长度设置为1并设置K = |V| - 1。然后我们应该尝试图(s, t), s != t中的所有顶点对,如果此问题的解决方案对于至少一对返回true,则返回true。否则,我们应该返回false(检查我们在图形中有一个长度为|V| - 1的路径,其中所有边的单位长度与通过其定义检查哈密顿路径存在完全相同)。