Graph 最宽路径和最长路径问题之间的根本区别

Graph 最宽路径和最长路径问题之间的根本区别,graph,theory,longest-path,Graph,Theory,Longest Path,最宽路径和最长路径问题之间有什么区别?更具体地说,为什么前者可以通过找到最大生成树来解决,而后者不能。我知道在绘制最大生成树时,很明显,它不一定包含最长的路径,但我无法思考这两个问题之间的区别,这两个问题使这一事实成为现实 谢谢。这两个问题之间的主要区别在于,最宽路径问题表现出最优子结构,而最长路径问题(据所有人所知)表现不出最优子结构 具体地,考虑从节点U到节点V的最宽路径。如果该路径通过中间节点s,则从u到v的最宽路径必须由从u到s的最宽路径和从s到v的最宽路径组成。如果没有,则可以用更宽的

最宽路径和最长路径问题之间有什么区别?更具体地说,为什么前者可以通过找到最大生成树来解决,而后者不能。我知道在绘制最大生成树时,很明显,它不一定包含最长的路径,但我无法思考这两个问题之间的区别,这两个问题使这一事实成为现实


谢谢。

这两个问题之间的主要区别在于,最宽路径问题表现出最优子结构,而最长路径问题(据所有人所知)表现不出最优子结构

具体地,考虑从节点U到节点V的最宽路径。如果该路径通过中间节点s,则从u到v的最宽路径必须由从u到s的最宽路径和从s到v的最宽路径组成。如果没有,则可以用更宽的路径替换从u到s或从s到v的路径的任一部分,而不会使解决方案变得更糟

但是,这对于最长路径问题不起作用。如果采用从u到v的最长路径(隐式地说,最长的简单路径),并且它通过一些节点s,则不一定要有从u到s的最长路径,然后是从s到v的最长路径。下面是一个例子:

   2
u --- v
1 \ / 3
   s
从u到s的最长路径由路径u-v-s(长度5)组成,而从u到v的最长路径是u-s-v(长度4)

这种最优子结构特性使得使用贪婪算法和(高效的)动态规划能够有效地解决最宽路径问题,但(据任何人所知)不可能有效地解决最长路径问题。顺便说一句,您可以对最短路径进行类似的论证(如果从u到v的最短路径经过s,那么您可以将从u到s和从s到v的最短路径串联起来),您也可以使用类似的贪婪算法或DP来确定最短路径

希望这有帮助