【问题标题】:What kind of cycle isn't allowed in Floyd–Warshall algorithm?Floyd-Warshall 算法中不允许什么样的循环?
【发布时间】:2015-01-31 06:39:13
【问题描述】:

例如,

我们说

1->2 costs 100
2->4 costs 600

所以1->2->4 花费700

如果从 4 到 3 的优势是 -500 怎么办? 而从 3 到 4 的不同优势花费 200

4->3 costs -500
3->4 costs 200

所以1->2->4->3->4 花费400

小于700

所以1->2->4->3->4 被认为是比1->2->4 更短的路径???

我知道不允许循环,这是一个没有重复边的路径示例。

顶点呢?如果他们重复,这在 Floyd Warhsall 中是一个允许的循环吗?

因为我知道有不同类型的算法,一种允许一种循环而不允许其他类型的循环。

谁能给我解释一下?回答问题,1->2->4->3->4 是否被认为是比1->2->4 更短的路径???

提前谢谢大家。

编辑:

这是一张图片,表明您不必两次访问同一边缘。

【问题讨论】:

  • 维基百科页面说它不能有任何负循环,你的例子就是这样。 4->3->4 是一个循环,对吧?
  • 局外人,我在那个网站上问过,并被警告过。
  • @outlyer 如果您认为某个问题可以由另一个堆栈交换站点更好地解决,请将其标记为迁移并解释原因,而不是建议重新发布。只是在多个站点上重新发布相同的问题(尤其是当有答案时 here)可能会使下一个人更难搜索 floyd-warshall 并在多个站点上找到答案。
  • @MichaelT 感谢您的建议,我不确定有关迁移标志的政策

标签: algorithm graph-algorithm floyd-warshall


【解决方案1】:

Floyd-Warshall 算法需要一个没有负循环的图。在您的示例中,4->3->4 是一个负循环,因为循环中权重的总和是 -500 + 200 = -300

【讨论】:

  • 是的,但是什么样的循环呢?重复边还是重复顶点?或两者? Floyd Warshall 算法对负边缘有什么看法?假设没有周期,但有一个负边缘,可以吗? Floyd Warshall 是否也不允许负边缘?
  • 包含循环的图是底层图本身的属性,而不是您碰巧通过图的路径。如果有可能选择一条路径使得沿该路径的权重之和小于零,则图包含负循环。在上面显示的情况下,基础图包含一个循环 4->3->4。例如,如果底层图不包含有向边 4->3,那么您就不必担心那个特定的循环。
  • 所以不允许任何负边缘?好像有一个负边缘,有可能从一个点到另一个点并且成本小于零。
  • 负边很好,你的图中不能有一个总和小于 0 的 循环。换句话说,你必须确保没有办法(任何地方在您的图表中!)以负总成本在同一顶点开始和结束路径。在您给出的示例中,我们看到 3->4->3 是一个负循环。 4->3->4 也是一个负循环。如果从 3->4 的边(成本为 200)在您的图中被删除,即使图中仍有负边,它也应该适用于算法。这是因为你已经排除了负循环的可能性。
  • i.imgur.com/7H41Faz.png 只是为了确定,上面那个是错的,下面那个是对的?这是一个最短路径表。再次感谢您。
【解决方案2】:

Floyd Warshall 是一个带有约束的算法:graph with no negative cycle,如果你想在负循环图中找到最短路径,你不能使用 Floyd Warshal,这是有理由考虑你的负循环图 4->3->4 与花费-300。如果您在这个周期中进行一次,您的成本会从700 降低到400,但为什么就止步于此?再去一次,您的成本将是100,一次又一次,它将花费您-200-500,...。你可以永远这样做,算法永远不会停止。这就是为什么 Floyd Warshall 算法中有这个约束with no negative cycle

【讨论】:

  • 为什么要停在那里?因为您将重新审视边缘。在我的示例中,没有两次访问任何边。
  • @Nebster173 这是循环的定义“图 G 的循环是 G 的边集的子集,它形成一条路径,使得路径的第一个节点对应于最后一个节点。”并且 4->3->4 是一个循环,无论你访问多少次边缘。
猜你喜欢
  • 2016-01-18
  • 2014-06-19
  • 2014-05-09
  • 1970-01-01
  • 2015-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-04
相关资源
最近更新 更多