下面的NP hard或P方程的证明

时间:2019-07-16 03:29:28

标签: proof np np-hard

所以我想解决
旅行推销员的正式声明:
输入完整的加权有向图G和目标整数k
如果存在通过G的路径

,则输出true
1) visits every vertex exactly once
2) costs <= k

使用:
输入:有向网格图G,一组目标点S和一个整数k 输出:如果有一条通过G的路径最多可以向左旋转k个访问S中的所有点,则为true
网格图是顶点位于从0,0到n,n的整数坐标处的图。 (所以0,0,0,1,0,2,... 0,n,1,0等)。此外,所有边都在距离1的顶点之间。(所以00-> 01,00-> 10 ,但不能指向其他任何顶点00。也可能会丢失一些边。)
可以给出多项式时间算法来解决该问题,或者证明该问题是NP-难的。

1 个答案:

答案 0 :(得分:1)

概述:NP-hard定义了在多项式时间内无法解决的问题。证明问题出在NP上是很简单的-仅表明解决方案在多项式时间内是可验证的-但是,证明问题是NP难的可能会有一点挑战。到目前为止,旅行商问题(TSP)被认为是NP难题(即没有人找到多项式时间解)。

如何证明:证明NP-hard要求证明在多项式时间内NP中的每个问题y都可以简化为TSP。为此,我们通常证明问题存在到SAT(Boolean Satisfiability)的多项式时间转换。对于这个问题,我们将改为证明HC(Hamiltonian Cycle)可以在多项式时间内降为TSP。由于HC被普遍认为是NP完全问题,因此表明这种减少将证明TSP是NP困难的。

证据

HC减少:G =(V,E)。设 k = | V | = n(G中节点的数量),并将所有边缘权重设置为1。将原本不在G中的边的权重设置为2,以解决我们不完整的图表)。将修改后的图输入到上述的TSP中,并询问是否存在G游览成本小于或等于 k 的情况。

正确性证明:由于每种算法都有两种可能的解决方案,因此可以分部分完成。

  1. 如果HC返回True,则TSP返回True -如果HC返回true,则出现 存在一个具有n条边的简单循环(根据您的问题满足条件#1)。每个边缘都有一个权重,整个巡回演出有成本 。因此,由于 k = n(满足条件2),TCP还将 返回true。 QED。

  2. 如果HC返回False,则TSP返回False -矛盾的是,让我们 假设TSP返回true。 HC返回假代表那里 不存在具有n条边的简单循环。由于 k = n且我们假设TSP返回true,这意味着遍历的每个边都有权重 一个,并且随后必须是HC图中的边。注意 在HC中遍历这些相应的边会形成一个简单的循环, 这是一个矛盾。 QED。