繁体   English   中英

哈密​​顿路径与最短路径

[英]Hamiltonian Path vs Shortest Path

在研究了这两个问题之后,我无法得出它们之间有什么区别。

哈密​​顿路径

哈密​​顿路径是图的两个顶点之间的路径,它只访问每个顶点一次。 给定一个图G和两个不同的节点SEG是否存在从SE的哈密顿路径?

我发现这个问题是 NP-Complete

最短的路径

在图论中,最短路径问题是在图中找到两个顶点(或节点)之间的路径的问题,使得其组成边的权重之和最小。 这个问题是P

它们之间的实际区别是什么? 它们的复杂度是如何计算的?

哈密​​顿路径问题实际上是在图中寻找最长的简单路径 不难看出,这两个问题基本上是等价的(最长简单路径和哈密顿路径)。 这个问题确实是一个经典的NP-Complete问题。
它是 NP-Complete,因为从另一个(已经证明的)NP-Hard 问题到这个问题存在多项式归约,因此(从多项式归约的传递性来看)这个问题也是 NP-Hard。 由于它也在 NP 中,所以它是 NP-Complete。

在另一方面的最短路径是不同的一个,它要求的是从A点到B点的最短途径,它是P中因为有一个多项式时间算法,解决它( Dijkstra算法贝尔曼-福特BFS对于非加权图)。


关于"And how is there complexity calculated?" 我假设你的意思是我们如何确定它们的复杂性类别- 在这种情况下,最短路径在 P 中,因为我们有一个确定性多项式时间算法来解决它(上面提到的一些),而哈密顿路径的复杂性类别是 NP-Complete 因为它既是 NP-Hard(从另一个已证明的 NP-Hard 问题中得到多项式约简),又是 NP(我们可以在非确定性图灵机的多项式时间内轻松解决它)。
请注意,我们不知道哈密顿路径是否在 P 中,因为我们不知道是否P=NP

任意节点之间的最长路径和最短路径的区别在于最短路径问题具有最优子结构,因此可以用动态规划解决; 最长路径问题没有最优子结构,不能使用动态规划解决。 如果一个问题可以从其子问题的最优解中构造一个最优解,则称该问题具有最优子结构。 例子

一个例子是如上图。 从 q 到 t 的最短路径包括从 q 到 r 的最短路径。 但是q到t的最长路径是qrt,q到r的最长路径是qstr,不包括在qrt中。 这是因为最长路径的子问题不是相互独立的。 从 q 到 r 的最长路径是 qsrt。 从 r 到 t 的最长路径是 rqst。 这两个问题有重叠,所以它们不是独立的,所以这个问题没有最优子结构,所以不能用动态规划或贪心算法解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM