Algorithm 图中两节点间最短路径的判定?
如果加权有向图Algorithm 图中两节点间最短路径的判定?,algorithm,math,data-structures,graph,graph-theory,Algorithm,Math,Data Structures,Graph,Graph Theory,如果加权有向图G(可能有负边)上两个顶点之间的最短路径显示为D(u,v),则以下声明总是错误的 有负边,但没有负循环,那么 D(u,v)(所有顶点对的和)上的σ不能为负 什么是D(u,v)在没有从u到v的路径的情况下,我的 注意,但我认为在这种情况下,D(u,v)=0 如果有负边,但没有任何负循环,那么D(u,v)(所有顶点对的和)上的Sigma不能为负 D(u,v)=0无弧u->v 考虑有向图: 1 -> 2 -> 3 每个弧的成本-1:没有负成本周期,但所有对的总和为负。所以这
G
(可能有负边)上两个顶点之间的最短路径显示为D(u,v)
,则以下声明总是错误的
有负边,但没有负循环,那么
D(u,v)(所有顶点对的和)上的σ不能为负
什么是D(u,v)
在没有从u到v的路径的情况下,我的
注意,但我认为在这种情况下,D(u,v)=0
如果有负边,但没有任何负循环,那么D(u,v)(所有顶点对的和)上的Sigma不能为负
D(u,v)=0无弧u->v
考虑有向图:
1 -> 2 -> 3
每个弧的成本-1
:没有负成本周期,但所有对的总和为负。所以这个说法是错误的,因为我们找到了一个反例
D(u,v)=无限大,无弧u->v
在这种情况下,如果我们想找到一个反例,我们必须考虑一个在所有结点对之间都有路径的图,否则总和将是正的,因为我们将增加一个无限量。
考虑从节点
x
到节点y
的成本为负的路径。那么从y
到x
的路径成本必须是正的,并且D(x,y)+D(y,x)
不是负的,否则我们将有一个负循环,这是不允许的
由于每个负成本路径都必须有一个正成本(返回路径+初始路径),因此该语句在这种情况下是正确的。假设D(u,v)=无穷大
,如果没有从u
到v
的路径(我真的看不出有任何理由假设相反,在这种情况下假设D(u,v)=0
),这种说法是正确的
证明:
首先,假设每对u,v
都有一条路径,否则所有对的总和都是无穷大,我们就完成了
对于每对顶点u,v
:
- 如果
D(u,v)>0
和D(v,u)>0
这一对为求和贡献正数
- 否则,在不丧失一般性的情况下,假设
D(u,v)=0
,从而D(v,u)>=-D(u,v)
。正如我们所看到的,D(v,u)+D(u,v)
为求和贡献了一个非负数
由于上述情况适用于每一对u,v
——因此,没有一对能产生负数,且总和不能为负数
QED如果没有从u
到v
的路径,通常被称为D(u,v)=无穷大
,但这是定义依赖性的,如果我们使用无穷大,这句话可能是真的@好吗?我不知道,我可以尝试证明或找到反例,但这取决于这个问题的答案。如果在U-V之间没有路径的代码>D(u,v)=0</代码>,只有负重边的DAG清楚地回答了要求,但这对ME来说似乎是奇怪的假设。因此,请通过回答@ AMIT <代码> D(3,1)=无穷大< /代码>考虑两种情况,因此所有D(i,j)的和不是负的。(但它是无穷大,这在很大程度上是一个正数)1)假设没有路径=无穷大或0?我们如何证明?另一个问题出现了,如果我们没有任何负循环,那么对于每两个顶点u,v,δ(u,v)等于-无穷大?这是假的?@AnjelaDark什么是δ(u,v)
?它是如何定义的?D(u,v)表示δ@amit@AnjelaDark我不是在问这个问题-如果我们没有负循环,怎么可能D(u,v)=-无穷大?Sorryyyy,请原谅我:)如果我们有负循环,那么对于每个两个顶点,u,v,δ(u,v)等于-无穷大?这是假的吗?
1 -> 2 -> 3