Download presentation
Presentation is loading. Please wait.
Published byJaroslav Vopička Modified over 5 years ago
1
Lecture 21: Matrix Operations and All-pair Shortest Paths
Shang-Hua Teng
2
Matrix Basic Vector: array of numbers; unit vector
Inner product, outer product, norm Matrix: rectangular table of numbers, square matrix; Matrix transpose All zero matrix and all one matrix Identity matrix 0-1 matrix, Boolean matrix, matrix of graphs
3
Matrix of Graphs Else A(i, j) = 0. Adjacency Matrix:
If A(i, j) = 1: edge exists Else A(i, j) = 0. 1 1 2 3 4 2 -3 4 3
4
Matrix of Graphs Else A(i, j) = infty. Weighted Matrix:
If A(i, j) = w(i,j): edge exists Else A(i, j) = infty. 1 1 2 3 4 2 -3 4 3
5
Matrix Operations Matrix-vector operation Matrix operations
System of linear equations Eigenvalues and Eigenvectors Matrix operations
6
Matrix Addition:
7
2. Scalar Multiplication:
8
3. Matrix Multiplication
9
Add and Multiply Rings: Commutative, Associative Distributive
Other rings
10
Matrix Multiplication Can be Defined on any Ring
11
Two Graph Problems Transitive closure: whether there exists a path between every pair of vertices generate a matrix closure showing all transitive closures for instance, if a path exists from i to j, then closure[i, j] =1 All-pair shortest paths: shortest paths between every pair of vertices Doing better than Bellman-Ford O(|V|2|E|) They are very similar
12
Transitive Closure D E Given a digraph G, the transitive closure of G is the digraph G* such that G* has the same vertices as G if G has a directed path from u to v (u v), G* has a directed edge from u to v The transitive closure provides reachability information about a digraph B G C A D E B C A G*
13
Transitive Closure and Matrix Multiplication
Let A be the adjacency matrix of a graph G 1 2 3 4 -3 A
14
Floyd-Warshall, Iteration 2
BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v 3 v 1 MIA v 5
15
Transitive Closure and Matrix Multiplication
16
A Better Idea
17
Even Better idea: Dynamic Programming; Floyd-Warshall
Number the vertices 1, 2, …, n. Consider paths that use only vertices numbered 1, 2, …, k, as intermediate vertices: Uses only vertices numbered 1,…,k (add this edge if it’s not already in) i j Uses only vertices numbered 1,…,k-1 Uses only vertices numbered 1,…,k-1 k
18
Floyd-Warshall’s Algorithm
A is the original matrix, T is the transitive matrix T A for(k=1:n) for(j=1:n) for(i=1:n) T[i, j] = T[i, j] OR (T[i, k] AND T[k, j]) It should be obvious that the complexity is (n3) because of the 3 nested for-loops T[i, j] =1 if there is a path from vertex i to vertex j
19
Floyd-Warshall Example
BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v 3 v 1 MIA v 5
20
Floyd-Warshall, Iteration 1
BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v 3 v 1 MIA v 5
21
Floyd-Warshall, Iteration 3
BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v 3 v 1 MIA v 5
22
Floyd-Warshall, Iteration 4
BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v 3 v 1 MIA v 5
23
Floyd-Warshall, Iteration 5
BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v 3 v 1 MIA v 5
24
Floyd-Warshall, Iteration 6
BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v 3 v 1 MIA v 5
25
Floyd-Warshall, Conclusion
BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v 3 v 1 MIA v 5
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.