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

Presentation is loading. Please wait....

OK

Advanced Piloting Cruise Plot.

Advanced Piloting Cruise Plot.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on alternative fuels for i.c engine Ppt on different mode of transportation Ppt on bluetooth communication code Ppt on hindu religion diet Ppt on english chapters of class 11 Free ppt on marketing management Ppt on heritage tourism in india Ppt on latest technology in cse Ppt on mohandas karamchand gandhi about Ppt on automobile industry in detroit