Loading in 5 sec....

Lecture 21: Matrix Operations and All-pair Shortest PathsPowerPoint Presentation

Lecture 21: Matrix Operations and All-pair Shortest Paths

- By
**josef** - Follow User

- 186 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Lecture 21: Matrix Operations and All-pair Shortest Paths' - josef

**An Image/Link below is provided (as is) to download presentation**
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

Presentation Transcript

### Lecture 21:Matrix Operations and All-pair Shortest Paths

Shang-Hua Teng

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

2

4

3

Matrix of GraphsWeighted Matrix:

- If A(i, j) = w(i,j): edge exists
Else A(i, j) = infty.

1

2

-3

4

3

Matrix Operations

- Matrix-vector operation
- System of linear equations
- Eigenvalues and Eigenvectors

- Matrix operations

Add and Multiply

- Rings:
- Commutative, Associative
- Distributive
- Other rings

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

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*

1

2

2

-3

4

4

3

3

Transitive Closure and Matrix Multiplication- Let A be the adjacency matrix of a graph G

A

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

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

Download Presentation

Connecting to Server..