A faster computation of the most vital edge of a shortest path

1 / 20

# A faster computation of the most vital edge of a shortest path - PowerPoint PPT Presentation

## A faster computation of the most vital edge of a shortest path

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. A faster computation of the most vital edge of a shortest path Enrico Nardelli, Guido Proietti, Pete Widmayer

2. MVE Problem • Given an undirected graph G=(V,E) with positive real edge weight • A source node r and a destination node s • Goal: find out an edge e whose removal from G result in the largest distance from r to s • We refer this edge as the Most Vital Edge

3. r s

4. Obviously • The vital edge is in the shortest path PG(r,s) • More precisely, the MVE problem asks for finding an edge e*PG(r,s) such that dG-e*(r,s)dG-e(r,s) for any e PG(r,s)

5. r e s

6. Brute force… • Remove one edge of PG(r,s) and recompute new shortest path between r and s

7. r Mr(e) e Nr(e) s

8. r s

9. r s

10. Non-tree edge • dG-e(r,s)=min {dG-e(r,x)+w(f)+dG-e(y,s)} • That is, one non-tree edge is one possible replacement for an tree edge

11. Transmuter • A smart idea from R.E. Tarjan Applications of path compression on balanced trees, J. ACM 26(1979)690-715 • Given a spanning tree T of a graph G. The transmuter DG(T) contains source node ve for a tree edge e sink node vffor a non-tree edge f • There is a directed path from a source ve node to a sink node vfiff e and f form a cycle in G

12. Source nodes …… Sink nodes

13. e1 e2 f1 ve1 ve2 vf1

14. e1 e2 f1 ve3 ve1 ve2 e3 f2 vf1 vf2

15. ve3 ve1 ve2 vf2 vf1

16. Solve MVE problem • Give every sink node a value a sink node vf is respect to a non-tree edge f (x,y) c(vf)=dG(r,x)+w(f)+dG(y,s) • Afterwards, process the nodes of the transmuter in reverse topological order • Label each nodes with minimum value of it’s children

17. ve3 ve1 ve2 vf2 vf1

18. r s

19. Time complexity • The transmuter can be determined in O(m*(m,n))  is inverse of Acknerman function • Computing shortest path tree rooted r and rooted s needs O(m) • Input sink node value…O(m)

20. Conclusion • Linear time? • Other vital edge? • Transmuter?