【问题标题】:Claims on shortest path between two node in graph?声明图中两个节点之间的最短路径?
【发布时间】:2015-06-12 08:51:07
【问题描述】:

如果加权和有向图G(可能有负边)上两个顶点之间的最短路径由D(u, v) 显示,则以下声明始终是错误的。

有负边缘,但没有任何负循环,那么 D(u,v) 上的 Sigma(所有顶点对的总和)不能为负。

Why this claims is False? 

什么是D(u,v) 没有从 u 到 v 的路径在我的 注意,但我认为在这种情况下D(u,v)=0。

【问题讨论】:

  • 如果没有从u 到v 的路径,通常记为D(u,v) = infinity,但这取决于定义
  • 如果我们使用无穷大,这句话可能是真的吗? @amit 好吗?
  • 我不知道,我可以尝试证明或找到反例,但这真的取决于这个问题的答案。如果D(u,v)=0 u-v 之间没有路径,则只有负权重边缘的 DAG 清楚地满足了要求,但这对我来说似乎很奇怪。
  • 所以请通过回答@amit考虑两种情况

标签: algorithm math data-structures graph graph-theory


【解决方案1】:

具有负边,但没有任何负循环,则 D(u,v) 上的 Sigma(所有顶点对的总和)不能为负。

  1. D(u, v) = 0 表示无弧 u -> v

考虑有向图:

1 -> 2 -> 3

每条弧的成本为-1:不存在负成本循环,但所有对的总和为负。所以这个说法是错误的,因为我们找到了一个反例。

  1. D(u, v) = infinity 无弧 u -> v

在这种情况下,如果我们想找到一个反例,我们必须考虑一个在所有节点对之间都有路径的图,否则总和将始终为正,因为我们将添加一个无限量。

考虑从节点x 到节点y 的负成本路径。那么从y 到x 的路径的成本必须是正的并且D(x, y) + D(y, x) 不是负的,否则我们会有一个负循环,这是不允许的。

由于每个负成本路径都必须具有正成本(返回路径 + 初始路径),因此该陈述适用于这种情况。

【讨论】:

  • D(3,1) = infinity,因此所有 D(i,j) 的总和不是负数。 (但它是无穷大,这是一个非常大的正数)
  • 1) 假设没有 path = infinity 或 0 ?我们如何证明?
【解决方案2】:

假设D(u,v) = infinity 如果没有从u 到v 的路径(我真的认为没有理由假设其他情况,在这种情况下假设D(u,v)=0 很奇怪),则该声明是正确的。

证明:

首先,假设每一对都有一条路径u,v - 否则所有对的总和是无穷大,我们就完成了。

对于每一对顶点u,v:

  • 如果D(u,v)>0 和D(v,u)>0 这对对总和贡献了正数
  • 否则,在不失一般性的情况下,假设D(u,v)<0。由于没有负循环,D(u,v) + D(v,u) >= 0 因此D(v,u) >= -D(u,v)。正如我们所见,D(v,u) + D(u,v) 为求和贡献了一个非负数。

由于上述对于每一对 u,v 都是正确的 - 没有任何一对可以贡献负数,并且总和不能为负。

QED

【讨论】:

  • 另一个问题出现了,如果我们没有负循环,那么对于每两个顶点 u,v,delta(u,v) 等于 -infinity 吗?这是假的?
  • @AnjelaDark delta(u,v) 是什么?它是如何定义的?
  • D(u, v) 表示 Delta @amit
  • @AnjelaDark 我没有关注这个问题 - 如果我们没有负循环,D(u,v)=-infinity 怎么可能?
  • sorryyyy,请善待我 :) 如果我们有负循环,那么对于每两个顶点 u,v,delta(u,v) 等于 -infinity ?这是假的?
猜你喜欢
  • 2016-03-04
  • 2021-12-18
  • 1970-01-01
  • 2023-01-15
  • 1970-01-01
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
相关资源
最近更新 更多