我正在学习算法:设计与分析 II课程,其中一个问题是:
假设 P ≠ NP。考虑具有非负边长的无向图。以下哪个问题可以在多项式时间内解决?
提示:哈密顿路径问题是:给定一个具有 n 个顶点的无向图,判断是否存在一条(无环)路径具有 n-1 条边,并且恰好访问每个顶点一次。您可以使用哈密顿路径问题是 NP 完全的事实。从哈密顿路径问题到以下 4 个问题中的 3 个问题相对简单。
- 对于给定的源 s 和目标 t,计算恰好具有 n - 1 条边的最短 st 路径的长度(或 +∞,如果不存在这样的路径)。路径允许包含循环。
- 在图的所有生成树中,计算具有最小可能叶数的一棵。
- 在图的所有生成树中,计算具有最小可能最大程度的一棵。(回想一下顶点的度数是入射边的数量。)
- 对于给定的源 s 和目标 t,计算恰好具有 n - 1 条边的最短 st 路径的长度(或 +∞,如果不存在这样的路径)。路径不允许包含循环。
请注意,哈密顿路径是图的生成树,并且只有两个叶节点,并且恰好具有两个叶节点的图的任何生成树都必须是哈密顿路径。这意味着确定图中是否存在哈密顿路径的 NP 完全问题可以通过找到图的最小叶生成树来解决:当且仅当最小叶生成树正好有两个叶时,路径才存在. 因此,问题 2 是 NP 完全的。
问题 3 是 NP-Hard;这是证明这一点的论文。
这意味着,在 1 和 4 之间,一个是 NP-Complete,另一个是 P。似乎问题 4 可以简单地简化为哈密顿路径问题,但我无法理解循环如何使其可解决?还是相反?