【问题标题】:Proof for NP hard or P equation below下面证明 NP hard 或 P 方程
【发布时间】:2019-07-16 03:29:28
【问题描述】:

所以我想解决
旅行推销员的正式声明:
输入一个完整的加权有向图 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-hard。

【问题讨论】:

    标签: proof np np-hard


    【解决方案1】:

    概述: NP-hard 定义了无法在多项式时间内解决的问题。证明问题存在于 NP 中是非常微不足道的——只需证明解决方案在多项式时间内是可验证的——但是,证明问题是 NP-hard 可能会有点挑战。到目前为止,旅行商问题 (TSP) 被认为是 NP-hard(即没有人找到多项式时间解)。

    如何证明:证明 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)。每条边有一个权重,整体游览有成本 n.因此,由于 k = n(满足条件#2),TCP 也将 返回真。 QED。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      • 2010-10-28
      • 2021-03-01
      • 2012-10-23
      相关资源
      最近更新 更多