所有
我正在阅读所有对最短路径和矩阵乘法之间的关系。
考虑加权邻接矩阵的乘法 本身 - 除了在这种情况下,我们替换乘法运算 通过加法进行矩阵乘法,以及加法运算 最小化。注意加权邻接矩阵的乘积 with本身返回一个包含长度为2的最短路径的矩阵 在任何一对节点之间。
从这个论证得出,A到幂的幂包含所有最短路径。
问题1:
我的问题是,在一个图中,我们将在路径中的两个节点之间最多有n-1条边,作者在什么基础上讨论长度为“n”的路径?
以下幻灯片
www.infosun.fim.uni-passau.de/br/lehrstuhl/.../Westerheide2.PPT
在幻灯片10中,如下所述。
dij(1) = cij
dij(m) = min (dij(m-1), min1≤k≤n {dik(m-1) + ckj}) --> Eq 1
= min1≤k≤n {dik(m-1) + ckj} ------------------> Eq 2
问题2:作者如何从方程1中得出方程2。
在Cormen等人关于算法介绍的书中,提到如下:
实际的最短路径权重delta(i,j)是多少?如果图形不包含负权重循环,则所有最短路径都很简单,因此最多包含n - 1条边。从顶点i到具有多于n-1个边的j的顶点j的路径的权重不能小于从i到j的最短路径。因此,实际的最短路径权重由
给出delta(i,j)= d(i,j)功率(n-1)=(i,j)功率(n)=(i,j)功率(n + 1)= ...
问题3:在上面的等式中,作者如何得到n,n + 1个边缘,因为我们最多有n-1个,以及上面的分配是如何工作的?
谢谢!
答案 0 :(得分:4)
n vs n-1只是一个不幸的变量名称选择。他应该使用不同的字母来表达清楚。
A^1 has the shortest paths of length up to 1 (trivially)
A^2 has the shortest paths of length up to 2
A^k has the shortest paths of length up to k
等式2并非直接来自Eq1。方程2只是第一个方程的第二项。我认为这是格式化或复制粘贴错误(我无法检查 - 您的ppt链接已损坏)
作者只是明确指出通过向路径添加更多n-1个边缘而无法获得任何好处:
A^(n-1), //the shortest paths of length up tp (n-1)
is equal to A^n //the shortest paths of length up tp (n)
is equal to A^(n+1) //the shortest paths of length up tp (n+1)
...
这样您就可以安全地停止计算(n-1),并确保所有长度的所有路径中的最小路径。 (这有点显而易见,但教科书在这里有严格意义......)
答案 1 :(得分:0)
在图中,我们将在路径中的两个节点之间有至多n-1条边,作者在什么基础上讨论长度为“n”的路径?
您对所讨论的多项措施感到困惑:
图形可能有数百个顶点,但您的邻接矩阵 A ^ 3 显示长度为3的最短路径。不同的 n 度量。