hw5_solutions - Cs445 - Homework #5 All pairs shortest...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Cs445 — Homework #5 All pairs shortest path, Network Flow, and Matching Due: 4/5/2005 during class meeting. 1. Let G ( V, E ) be a graph, with weights assigned to the edges (positive and nega- tive). Explain how to modify Johnson’s algorithm so the output of the algorithm is an n × n matrix that speciFes for every pairs of vertices u, v V , the Frst edge in the shortest path from u to v . The running time of the algorithm is O ( | E || V | log | E | ) Answer: The initialization of the matrix FirstEdgeWeight[], will be done as follows: For all v adj [ s ] , FirstEdgeWeight[s,v] = w(s,v). The remaining entries in the matirx will be initialized to . Instead of calling Relax(u,v,w), Dijkstra’s algorithm will make a call to Re- lax(s,u,v,w), where the starting vertex s is also speci±ed. The code of Relax(s,u,v,w) is as given below. The edge (u,v) is added to the shortest path from s to v, when the values of pi and d are updated inside the relax procedure. Thus, the correctness of the procedure follows from the correctness of Dijkstra’s algorithm. Relax(s,u,v,w) { if( d[v] > d[u] + w(u,v) ) { d[v] = d[u] + w(u,v); pi[v] = u; FirstEdgeWeight[s,v] = FirstEdgeWeight[s,u]; } } 2. Assume G ( V, E ) is a graph where the weights of all edges are positive. You ran Johnson algorithm on this graph. What is the values h ( v ) and ˆ w ( u, v ) given by the algorithm ? Prove. 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Answer: The values of h ( v ) will be 0 for all v V . Consequently, ˆ w ( u, v ) = w ( u, v ) . In Johnson’s algorithm, the values of h ( v ) , are obtained by running the Bellman- Ford algorithm, using the newly added vertex s, as the starting vertex. More- over, edges with weight 0 are added from s to each v V . Thus, the shortest path from s to each v cannot be greater than zero. Now, since all weights are given to be positive, it is not possible to ±nd a path from s to any v , with weight less than zero. Thus, it is proved that h ( v ) will be 0 for all v V , and consequently, ˆ w ( u, v ) = w ( u, v ) . 3. Let G ( V, E ) be a graph with positive and negative weights given its edges. Assume that for each vertex v V you are also given a value h ( v ) with the property that for every edge ( u, v ) E , w ( u, v ) + h ( v ) - h ( u ) 0. (Note - the values h ( v ) are given to you — you do not need to compute them). Assume that in addition, you are given sets of vertices X 1 , X 2 . . . X k , such that X i X j = (that is, each vertex v V belongs to at most one set V i ). DeFne δ ( X i , X j ) = min { δ ( u, v ) | u X i , v X j } Suggest an algorithm that computes
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 9

hw5_solutions - Cs445 - Homework #5 All pairs shortest...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online