参考于:08年论文:俞华程《矩阵乘法在信息学中的应用》
图邻接矩阵上的乘法:
图的邻接矩阵可以唯一地表示一张图,并且有很多神奇的性质。接下来我们 将研究邻接矩阵上的矩阵乘法。
首先,我们来看一下最简单的情况,一张N个点的无向无权图。如果点a和 点b连边,那么邻接矩阵G[a,b] = G[b,a] = 1,否则都等于0。考虑邻接矩阵自 乘,即G2:
G2 [a,b] = N ∑ i=1 G[a,i]G[i,b] (9)
上式中,G[a,i],G[i,b]的值或者等于0或者等于1。易知当且仅当G[a,i], G[i,b]都是1的时候值为1,即如果从点a到点i、点i到b都有边,那么值为1。 而G2 [a,b]的值就等于值为1的项数,也就是从点a到点b经过1个中间点的路径条 数。我们继续考虑G3:
G3 [a,b] =N ∑ i=1N ∑ j=1G[a,i]G[i,j]G[j,b] (10)
和G2很相似,G[a,i]G[i,j]G[j,b] = 1当且仅当G[a,i] = G[i,j] = G[j,b] = 1,也就是说a−i−j−b组成一条路经。那么G3 [a,b]的值就是从点a到点b经过2个 中间点的路径条数。从另一个方面来说,G3 = G2G,从点a到点b经过2个中间 点的路径中,第二个中间点是i的路径条数恰好为G2 [a,i]G[i,b],从这里也可 以说明上一个结论。那么更一般的,Gk [a,b]是否就等就a到b经过k −1个中间 点也就是长度为k的路径条数呢?答案是肯定的。和前面的推导很相似,可以 使用归纳法证明,Gk = Gk−1G,那么