200 likes | 322 Vues
On Dynamic Shortest Paths Problems. Liam Roditty Uri Zwick Tel Aviv University ESA 2004. A graph. Dynamic Graph Problems. Initialize. Insert. Delete. Query. n - number of vertices m - number of edges. Dynamic Graph Problems: Great Successes.
E N D
On Dynamic Shortest Paths Problems Liam Roditty Uri ZwickTel Aviv University ESA 2004
A graph Dynamic Graph Problems Initialize Insert Delete Query n - number of verticesm - number of edges
Dynamic Graph Problems:Only Modest Success Is there any hope of getting logarithmicupdate times here?
Our results Incremental/Decremental SSSP is at least as hard is static APSP A new fully dynamic APSP algorithmfor unweighted directed graph with update time = mn1/2query time = n3/4 An improved algorithm for constructing “greedy” spanners
1 2 n 1 153 272 A very simple reduction Off-linedecremental weighted undirectedSSSP Weighted undirected APSP nW 2nW n2W n deletionsn2 queries W – largest edge weight
B A Another simple reduction Off-linedecremental unweighted undirectedSSSP Boolean matrix multiplication Is there a pathof length 2? n deletionsn2 queries
Insert a set of edges touching an insertion center Delete an arbitrary set of edges Generalized insert/delete operations
Three ingredients Even-Shiloach ’81A decremental algorithm for maintaining a single-source shortest path tree of depth k with a total running time of O(km). Henzinger-King ’95A decremental APSP algorithm with a total update time of O*(mn2/t) and a query time of O(t), for t<n/log n. Ullman-Yannakakis ’91Let P be a path of length k.Let S be a random subset of vertices of size (cn ln n)/k.Then with high probability PS .
t (cn log n)/k Depth k decremental shortest paths trees for insertion centers Full depth shortest paths trees for sampled vertices The new fully dynamic algorithm DecrementalAPSP algorithm k
Choose a sample of (cn log n)/k edges.(where k=n1/2) DecrementalAPSP algorithm Aim for a query time of t=n3/4 The algorithm works in phases. A new phase starts after every tinsertions.
DecrementalAPSP algorithm • At the beginning of each phase: • Initialize the decremental APSP algorithm. • Rebuild all full depth trees. • Empty the set of insertion centers.
DecrementalAPSP algorithm • Insertion: • Rebuild all full depth trees. • Build depth k decremental trees for the new insertion center.
DecrementalAPSP algorithm • Deletion: • Rebuild all full depth trees. • Update all depth k decremental trees.
DecrementalAPSP algorithm • Query: • Query the decremental algorithm. • Query each pair of full depth trees. • Query each pair of depth k trees.
DecrementalAPSP algorithm Amortized update cost: When k=n1/2 , t=n3/4these are all mn1/2!!!
DecrementalAPSP algorithm Query time:
DecrementalAPSP algorithm Correctness Paths that do not use any edges added during the current phase. Long paths (length>k)that use new edges With high probability they pass through a sampled vertex Short paths (length≤k)that use new edges
Open problems • Dynamic approximate SSSP? • Other update/query tradeoffs for dynamic APSP? • A real lower bound for dynamic SSSP and/or APSP?