📜  优化的最长路径是 NP Complete

📅  最后修改于: 2021-10-25 04:50:55             🧑  作者: Mango

优化最长路径问题优化最长路径问题指出,给定一个图G ,由一组顶点V和边E 组成,任务是证明在一组节点V s边 E 之间存在长度至少为 K 的路径。 V

问题陈述给定一个图G(V, E, K)和一组具有节点序列的节点V s和 V e ,长度≥ K

说明
问题的一个实例是为问题指定的输入。优化最长路径问题的一个实例是G(V, E, V s , V e , K) 。由于一个 NP-完全问题是一个同时在NPNP-Hard中的问题,所以问题是 NP-Complete 的陈述的证明由两部分组成:

如果仅满足第二个条件,则该问题称为NP-Hard

但是不可能将每个 NP 问题都化简为另一个 NP 问题以始终显示其 NP-Completeness。这就是为什么如果我们想证明一个问题是 NP-Complete,我们只需要证明这个问题是 NP 并且任何 NP-Complete 问题都可以简化为它,那么我们就完成了,即如果 B 是 NP-Complete 并且B ≤ P C对于NP 中的 C,则 C 是 NP-Complete。因此,我们可以使用以下两个命题来验证优化的最长路径问题是 NP-Complete 的:

  • 优化最长路径问题在 NP 中
    如果任何问题在 NP 中,给出一个“证书”,它是问题的解决方案和问题的一个实例,那么可以在多项式时间内验证(检查给出的解决方案是否正确)证书。这可以通过路径 P来完成,该路径由一组顶点 < V 1 , V 2 , V 3 , ….V n > 组成。验证路径是否完全连接V 1和V n并且路径长度至多为K

  • 优化最长路径问题是 NP-Hard:
    为了证明最长路径是 NP-Hard,从已知的 NP-Hard 推导出问题的约简。进行一个归约,其中无向哈密顿路径问题可以归结为最长路径问题。无向哈密顿路径使用输入图G(V 1 , V n ) ,其中图 G 具有节点 V 1和 V n 。无向哈密顿路径是沿着图的无向路径,从一个顶点开始,到另一个顶点结束,遍历所有节点。

    现在,让K为 G 中的节点数。无向哈密顿路径的每个实例都可以通过以下方式转换为最长路径:
    对于输入 G(V 1 , V n ),输出 G(V 1 , V n , k)。通过简单地计算 G 中的顶点数,这种归约需要多项式时间。 这种归约可以通过以下两个命题来证明:

    1. 假设原始图G(V, E)有节点V 1并且 V n有一条无向哈密顿路径,它遍历所有顶点,因此G(V, E, K)为真,因为G 中的任意两个节点都将是由长度等于其节点的路径连接,即K因此最长路径问题成立。
    2. 让我们假设图G'(V, E, V s , V e , K)具有从 V s到 V e的长度为K的 Lpath,这意味着G’包含从 V s到 V e的长度为K 的简单路径.
      但是,G 包含 K 个顶点,因此遍历从 V s开始到 V e结束的所有顶点,形成哈密顿路径G'(V s , V e )

      设 V 1 ≡ B 和 V n ≡ D
      现在, G具有 K = 4 的无向哈密顿路径 ≡ BCAD。
      因此,G 包含 B 和 D 之间长度为 4 的优化路径。

如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程学生竞争性编程现场课程。