Download presentation

Presentation is loading. Please wait.

1
**all-pairs shortest paths in undirected graphs**

Dynamic approximate all-pairs shortest paths in undirected graphs Liam Roditty Uri Zwick Tel Aviv University

2
**Dynamic Graph Problems**

A graph Initialize Insert Delete Query n - number of vertices m - number of edges

3
**Shortest Paths Problems**

Single-Source Shortest Paths (SSSP) All-Pairs Shortest Paths (APSP) “Distance Oracles”

4
**Approximate Distance Oracles (TZ’01)**

n by n distance matrix APSP algorithm Compact data structure mn1/k time n1+1/k space O(1) query time stretch 2k-1 Stretch-Space tradeoff is essentially optimal!

5
**Dynamic Shortest Paths Algorithms**

Problem Total update time Amortized* update time Query time Authors Decremental SSSP O(mn) O(n) O(1) Even-Shiloach ’81 Decremental (1+)-approximate APSP O*(mn) O*(n) O(1) This talk Problem Amortized update time Query time Authors Fully-dynamic APSP O*(n2) O(1) Demetrescu-Italiano ’03 (Thorup ’04) Fully-dynamic (1+)- approximate APSP O*(m1/2n) O(m1/2) This talk

6
**Decremental Approximate Distance Oracles**

Compact data structure mn1/k time n1+1/k space O(1) query time stretch 2k-1 Static mn time m+n1+1/k space Decremental Decremental (up to distance d) dmn1/k time m+n1+1/k space

7
**Thorup-Zwick ’01 Static approximate distance oracles.**

Three ingredients Even-Shiloach ’81 A 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 ’01 Static approximate distance oracles.

8
**Decremental SSSP [Even-Shiloach ’81]**

Every edge is only examined once per level! Total complexity is O(dm).

9
**Random Sampling n k Select each element independently with probability**

The probability that a given set of k elements is not hit is

10
**Let pi(v) be the vertex of Si closest to v**

A sequence of Samples Let Si be 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)

11
**Maintaining the closest centers**

To compute pi(v) for every v: Add a new source vertex si. Connect it to all vertices of Si. Maintain a SSSP tree from si.

12
**Maintaining distances from centers**

From each center of Si maintain a SSSP tree of depth 2i+2 Complexity:

13
**Answering a distance query**

pi(u) u v Suppose: Return: ≤ ≤

14
**Answering a distance query**

pi(u) u v Return: where i is smallest such that v is in the tree of pi(u), i.e., This value of i can be found using binary search. Query time: O(log log n) Stretch:

15
**Reporting long distances in O(1) time**

pr(u) pr(v) u v Suppose: Let: Return: Maintain a table of all Sr to Sr distances. Size of table is O(n).

16
**Reporting short distances in O(1) time**

Suppose: Develop a decremental version of the static approximate distance oracles of TZ. dmn1/k time m+n1+1/k space stretch 2k-1 Take d=n1/2 k=2 For distances up to d The 3-approximation can be refined into a (1+)-approximation in O(1) time.

17
**Approximate Distance Oracles [TZ’01] A hierarchy of centers**

A0V ; Ak ; Ai sample(Ai-1,n-1/k) ;

18
A0= A1= A2= Clusters w

19
**Bunches (inverse clusters)**

20
Bunches A0= A1= A2= p2(v) v p1(v)

21
**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).

22
**Lemma: E[|B(v)|] ≤ kn1/k**

Proof: |B(v)Ai| is stochastically dominated by a geometric random variable with parameter p=n-1/k.

23
**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)

24
**Query answering algorithm**

w3=p3(v)A3 w2=p2(u)A2 w1=p1(v)A1 u v

25
Analysis wi=pi(u)Ai wi-1=pi-1(v)Ai-1 i (i+1) i (i-1) u v

26
**Open problems Faster dynamic SSSP algorithm?**

Exact dynamic APSP algorithm? Weighted graphs? Directed graphs?

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google