270 likes | 446 Views
approximate. Dynamic. all-pairs shortest paths in undirected graphs. Liam Roditty Uri Zwick Tel Aviv University. A graph. Dynamic Graph Problems. Initialize. Insert. Delete. Query. n - number of vertices m - number of edges. Shortest Paths Problems.
E N D
approximate Dynamic all-pairs shortest paths in undirected graphs Liam Roditty Uri ZwickTel Aviv University
A graph Dynamic Graph Problems Initialize Insert Delete Query n - number of verticesm - number of edges
Shortest Paths Problems Single-Source Shortest Paths (SSSP) All-Pairs Shortest Paths (APSP) “Distance Oracles”
Approximate Distance Oracles (TZ’01) n by ndistancematrix APSPalgorithm Compact datastructure mn1/ktimen1+1/k space O(1) querytime stretch 2k-1 Stretch-Space tradeoff is essentially optimal!
Decremental Approximate Distance Oracles Compact datastructure mn1/ktimen1+1/kspace O(1)querytimestretch2k-1 Static mntimem+n1+1/kspace Decremental dmn1/ktimem+n1+1/kspace Decremental(up to distance d)
Three ingredients Even-Shiloach ’81A decremental algorithm for maintaining a single-source shortest path tree of depth d with a total running time of O(dm). Random Sampling Let P be a set of vertices of size k.Let S be a random subset of vertices of size (cn ln n)/k.Then with high probability PS . Thorup-Zwick ’01Static approximate distance oracles.
Decremental SSSP[Even-Shiloach ’81] Every edge is only examined onceper level! Total complexityis O(dm).
k Random Sampling n Select each elementindependently with probability The probability that agiven set of k elementsis nothit is
A sequence of Samples Let Sibe a subset obtained by selecting each vertex with probability (c ln n)/(2i) Let pi(v) be the vertex of Si closest to v If v is contained in a connected component with at least 2i vertices, then: δ(v,pi(v)) ≤ 2i 2i pi(v)
Maintaining the closest centers To computepi(v)for everyv: • Add a new source vertex si. • Connect it to all vertices of Si. • Maintain a SSSP tree from si.
Maintaining distances from centers 2i+2 From each center of Simaintain a SSSP tree of depth 2i+2 Complexity:
Answering a distance query pi(u) v u Suppose: Return: ≤ ≤
Answering a distance query pi(u) v u Return: where i is smallest such that v is in the tree of pi(u), i.e., This value of ican be found using binary search. Query time: O(log log n) Stretch: 1+
Reporting long distances in O(1) time pr(u) pr(v) v u Suppose: Let: Return: Maintain a table of all Srto Sr distances. Size of table is O(n).
Reporting short distances in O(1) time Suppose: Develop a decremental version of the static approximate distance oracles of TZ. Taked=n1/2k=2 dmn1/ktimem+n1+1/kspacestretch 2k-1 For distancesup to d The 3-approximation can be refined into a (1+)-approximation in O(1) time.
Approximate Distance Oracles [TZ’01]A hierarchy of centers A0V ; Ak ;Ai sample(Ai-1,n-1/k) ;
A0=A1=A2= Clusters w
A0=A1=A2= Bunches p2(v) v p1(v)
Approximate Distance Oracles [TZ’01]The data structure • For every vertex vV: • The centers p1(v), p2(v),…, pk-1(v) • A hash table holding B(v) • For every wV, we can check, in constant time, whether wB(v), and if so, what is (v,w).
Lemma: E[|B(v)|] ≤ kn1/k Proof:|B(v)Ai| is stochastically dominated by a geometric random variable with parameter p=n-1/k.
Query answering algorithm Algorithm distk(u,v) wu , i0 while wB(v) { i i+1 (u,v) (v,u) w pi(u) } return (w,u)+ (w,v)
Query answering algorithm w3=p3(v)A3 w2=p2(u)A2 w1=p1(v)A1 v u
Analysis wi=pi(u)Ai wi-1=pi-1(v)Ai-1 i (i+1) i (i-1) v u
Open problems • Faster dynamic SSSP algorithm? • Exact dynamic APSP algorithm? • Weighted graphs? • Directed graphs?