【问题标题】:Why is there need to consider the shortest path problem for digraphs with negative cycles?为什么需要考虑负循环的有向图的最短路径问题?
【发布时间】:2020-04-13 12:40:17
【问题描述】:

考虑可能带有负循环的有向图 G=(V,A,W) 上的最短路径问题。我们只考虑简单路径,即没有重复顶点的路径。通过构造一个新的图 G'(V,A,W') 使得 G' 和 G 具有相同的顶点和弧,但是对于每条弧,它在 G' 中的权重比它在 G 中的权重高一个常数。

很明显,如果 P1 和 P2 是两条路径,并且在 G 中 w(P1)

此外,the shortest path problem with negative cycles is actually NP-hard。如果我是对的,我们可以将有负循环的情况简化为没有负循环的情况,那么问题不应该是多项式吗?

我想我错过了什么,但我不确定是什么。

【问题讨论】:

  • 如果你给边添加权重,那么路径的权重也会随着边的数量而变化。因此,可能会有一条更昂贵的路径,但由于它的跳数更少,现在将被选择。

标签: algorithm graph graph-algorithm shortest-path


【解决方案1】:

很明显,如果P1P2是两条路径,而w(P 1) 2)G 中,然后 w'(P1 sub>) 2) in G'。这意味着 G 中的最短路径也是 G' 中的最短路径。

,因为如果 G 中路径 p 的权重表示为 wp,那么该路径在G'中的权重为wp+np×c np 是路径中的边数,c 是增加每条边的常数。

这意味着另一条路径现在可能更有利。该路径在 G 中可能有更昂贵的边,但由于它包含的边较少,因此修改后的边的总和可能小于 G 中的边。

以下图为例:

 A               B
 o-------7-------o
1 \             / 1
   o--2--o--2--o
   C     D     E

这里AB之间的最短路径是通过CDE,因为总和是1+2+2+1=6,而AB 之间的直接路径将导致7

如果我们现在将每条边增加两个,例如,我们得到:

 A               B
 o-------9-------o
3 \             / 3
   o--4--o--4--o
   C     D     E

所以现在路径 A-C-D-E-B 的权重 3+4+4+3=14,而直接路径 A-B 的权重 >9。因此,如果我们将每条边增加某个常数,则最优路径可能会有所不同。

【讨论】:

    猜你喜欢
    • 2019-02-15
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多