找到访问无向、未加权图中每个节点的最短路线

Finding the shortest route to visit every node in an undirected, unweighted graph

寻找访问无向、未加权图中每个节点的最短路线是 NP-Hard 问题吗?

我找不到关于这个问题的明确答案。我知道找到访问加权图的每个节点的最短路线是一个 NP-Hard 问题(旅行推销员)。但是未加权的图表呢?

假设有一个算法 A 来找到连接无向、未加权图中所有节点的最短路径 G = (V, E) 多项式时间。我们将证明我们可以使用 A 在多项式时间内求解 Hamiltonian path problem ,使用以下步骤:

  1. A得到连接所有节点的最短路径pV
  2. 统计p包含的节点数;设 k 为节点数
  3. n = |V|G 包含一个 Hamiltonian path 当且仅当 k = n(见下文证明)

但是,由于汉密尔顿路径问题是 NP-Complete 这样的算法 A 不存在,除非 P = NP。所以你描述的问题一定是NP-Hard。


证明 k = nG 包含哈密顿路径

注意 n ≤ k,因为 p 包含 V 中的每个节点。

:假设k = n。由于 p 连接 all 个节点,因此不能多次访问任何节点。因此 G 包含哈密顿路径,即 p.

:假设G包含哈密顿路径。假设 k ≠ n,即 k > n.
A 将不会返回满足我们要求的最短路径,因为具有 n 个节点的哈密顿路径存在。因此,它必须认为 k = n.