1 On Dynamic Shortest Paths Problems Liam Roditty Uri Zwick Tel Aviv University ESA 2004
2 A graph Dynamic Graph Problems Initialize Insert Delete Query n - number of vertices m - number of edges
3 Dynamic Graph Problems: Great Successes Problem Amortized update/query time Authors Incremental undirected connectivity (n) Tarjan ’74 Union-Find Decremental undirected connectivity log nThorup ’99 Fully-dynamic undirected connectivity (log n) O(1) Henzinger-King ’99 HdLT ’01
4 Dynamic Graph Problems: Only Modest Success Problem Amortized * update time Authors Incremental SSSPO(n)Even-Shiloach ’81 Decremental SSSPO(n)Even-Shiloach ’81 Fully-dynamic APSPO(n 2 ) Demetrescu-Italiano ’04 Thorup ’04 Is there any hope of getting logarithmic update times here?
5 Our results Incremental/Decremental SSSP is at least as hard is static APSP A new fully dynamic APSP algorithm for unweighted directed graph with update time = mn 1/2 query time = n 3/4 An improved algorithm for constructing “greedy” spanners
6 A very simple reduction Weighted undirected APSP Off-line decremental weighted undirected SSSP 2n nW 2nW n2Wn2W W – largest edge weight n deletions n 2 queries
7 Another simple reduction Boolean matrix multiplication Off-line decremental unweighted undirected SSSP A B Is there a path of length 2? n deletions n 2 queries
8 Fully dynamic APSP algorithms for directed graphs Amortized update time Query time AuthorsWeights? n2n2 1 Demetrescu-Italiano ’04 Thorup ’04 Yes mn 1/2 n 3/4 hereNo
9 Generalized insert/delete operations Delete an arbitrary set of edges Insert a set of edges touching an insertion center
10 Three ingredients Henzinger-King ’95 A decremental APSP algorithm with a total update time of O * (mn 2 /t) and a query time of O(t), for t<n/log n. Ullman-Yannakakis ’91 Let 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 P S . Even-Shiloach ’81 A decremental algorithm for maintaining a single- source shortest path tree of depth k with a total running time of O(km).
11 The new fully dynamic algorithm Decremental APSP algorithm Full depth shortest paths trees for sampled vertices (cn log n)/k k Depth k decremental shortest paths trees for insertion centers t
12 Decremental APSP algorithm Aim for a query time of t=n 3/4 The algorithm works in phases. A new phase starts after every t insertions. Choose a sample of (cn log n)/k edges. (where k=n 1/2 )
13 Decremental APSP algorithm At the beginning of each phase: 1.Initialize the decremental APSP algorithm. 2.Rebuild all full depth trees. 3.Empty the set of insertion centers.
14 Decremental APSP algorithm Insertion: 1.Rebuild all full depth trees. 2.Build depth k decremental trees for the new insertion center.
15 Decremental APSP algorithm Deletion: 1.Rebuild all full depth trees. 2.Update all depth k decremental trees.
16 Decremental APSP algorithm Query: 1.Query the decremental algorithm. 2.Query each pair of full depth trees. 3.Query each pair of depth k trees.
17 Decremental APSP algorithm Amortized update cost: When k=n 1/2, t=n 3/4 these are all mn 1/2 !!!
18 Decremental APSP algorithm Query time:
19 Decremental APSP algorithm Correctness Paths that do not use any edges added during the current phase. Long paths (length>k) that use new edges Short paths (length≤k) that use new edges With high probability they pass through a sampled vertex
20 Open problems Dynamic approximate SSSP? Other update/query tradeoffs for dynamic APSP? A real lower bound for dynamic SSSP and/or APSP?