590 likes | 702 Views
Uri Zwick. Tel Aviv University. Approximating Distances in Graphs. Otwarte wykłady dla doktorantów informatyki Instytut Informatyki Uniwersytetu Warszawskiego Kwietnia 27-28, 2007. All-Pairs Shortest Paths. APSP algorithm. n by n distance matrix. mn time. n 2 space.
E N D
Uri Zwick Tel Aviv University Approximating Distances in Graphs Otwarte wykłady dla doktorantów informatykiInstytut InformatykiUniwersytetu Warszawskiego Kwietnia 27-28, 2007
All-Pairs Shortest Paths APSPalgorithm n by ndistancematrix mntime n2 space Input: A weighted undirected graph G=(V,E), where |E|=m and |V|=n. Output: An nn distance matrix.
Approximate Shortest Paths An estimated distance ’(u,v)is of stretcht iff (u,v) ’(u,v) t ·(u,v) Let (u,v)be the distance from u to v. Multiplicativeerror Additiveerror An estimated distance ’(u,v)is of surplust iff (u,v) ’(u,v) (u,v) + t
Multiplicative and additive spanners Let G=(V, E) be a weighted undirected graph on n vertices. A subgraph G’=(V, E’) is a t-spanner of G iff for every u,vV we have G’(u,v) ≤ t G(u,v). Let G=(V, E) be a unweighted undirected graph on n vertices. A subgraph G’=(V, E’) is an additive t-spanner of G iff for every u,vV we have G’(u,v) ≤ G(u,v) + t.
Approximate Distance Oracles n by ndistancematrix APSPalgorithm mntimen2 space Compact datastructure Weightedundirected graph mn1/ktimen1+1/k space Stretch-Space tradeoff is essentially optimal! u,v δ’(u,v( O(1)querytime stretch 2k1
All-pairs almost shortest paths (unweighted) • AnO(n5/2)-time surplus-2 algorithm (ACIM’96) • Additive 2-spanners with O(n3/2) edges. • An O(n3/2m1/2)-time surplus-2 algorithm (DHZ’96) • Multiplicative spanners (weighted graphs) • (2k1)-spanners with n1+1/k edges (ADDJS’93) • Linear time construction (BS’03) • Approximate distance oracles (weighted graphs) • Stretch=2k1 query time=O(1) space=O(kn1+1/k)(TZ’01) • Spanners with sublinear distance errors (unweighted) • Additive error O(d1/(k1)) with O(kn1+1/k) edges (TZ’05)
All-Pairs Almost Shortest Pathsunweighted, undirected graphs
O(n5/2)-time surplus-2 algorithmunweighted, undirected graphs O(n) • Add each vertex v to A, independently, with probability n1/2. (Elements of A are “centers”.) • From every center vA, find a tree of shortest paths from v and add its edges to E’. • For every non-centervA: • If v has a neighbor uA, then add the single edge (u,v) to E’. • Otherwise, add all the edges incident to v to E’. • Solve the APSP problem on the subgraph G’=(V, E’). O(m|A|)= O(n5/2) O(m) O(n|E’|)= O(n5/2)
Number of edges in E’ • The expected # of edges added to E’ in 2) is O(n3/2). • The expected # of edges added to E’ in 3) is also O(n3/2). Consider a vertex v of degree d If one of the neighbors of v is placed in A, then E’ will contain only one edge incident on v. v Hence, the expected number of edgesincident to v added to E’ is at most Exercise 0: Check it! d(1n1/2)d + 1 ≤ n1/2
The surplus-2 algorithmCorrectness – Case 1 Case 1: No vertex on a shortest path from u to v has a neighboring center. u v All the edges on the path are in E’. We find a shortest path from u to v.
The surplus-2 algorithmCorrectness – Case 2 Case 2: At least one vertex on a shortest path from u to v has a neighboring center. w’ (w,v)+1 (u,w)+1 w u v We find a path from u to v of surplus at most 2
Additive 2-spanners [ACIM’96] [DHZ’96] Every unweighted undirected graph G=(V, E) on n vertices has a subgraph G’=(V, E’) with O(n3/2) edges such that for every u,vV we have G’(u,v) ≤ G(u,v) + 2. Additive 6-spanners[BKMP ’04] Every unweighted undirected graph G=(V, E) on n vertices has a subgraph G’=(V, E’) with O(n4/3) edges such that for every u,vV we have G’(u,v) ≤ G(u,v) + 6. Major open problem:Are there additive spanners with o(n4/3) edges?
Exercise 1: Show that with high probability, all distances larger than 2n1/2ln n are correctly computed by the O(n5/2) time surplus 2 algorithm.
O(n3/2m1/2)-time surplus-2 algorithmunweighted, undirected graphs • Add each vertex v to A, independently, with probability (n/m)1/2. (Elements of A are “centers”.) • From every center vA, find distances to all othervertices in the graph. (Do not add edges to E’.) • For every non-centervA: • If v has a neighbor uA, then add the single edge (u,v) to E’. • Otherwise, add all the edges incident to v to E’. • For every non-center vertex vA: • Construct a set F(v)={ (v,w) | wA } of weighted edges. The weight of an edge (v,w) is (w,v). • Find distances from v to all other vertices in the weighted graph G’(v)=(V, E’F(v)).
O(n3/2m1/2)-timesurplus-2 algorithmCorrectness – Case 2 Case 2: At least one vertex on a shortest path from u to v has a neighboring center. w’ (u,w)+1 u w v Consider the last vertex with a neighboring center. We find a path from u to v of surplus at most 2
All-Pairs Almost Shortest Pathsweighted undirected graphs Some log factors ignores
Spanners Given an arbitrary dense graph, can we always find a relatively sparse subgraph that approximatesall distances fairly well?
Spanners [PU’89,PS’89] Let G=(V,E) be a weighted undirected graph. A subgraph G’=(V,E’) of G is said to be a t-spannerof G iff δG’(u,v) ≤ t δG(u,v) for every u,vV. Theorem: Every weighted undirected graph has a (2k1)-spanner of size O(n1+1/k).[ADDJS’93] Furthermore, such spanners can be constructed deterministically in linear time. [BS’03] [RTZ’05] The size-stretch trade-off is optimal if there are graphswith (n1+1/k) edges and girth 2k+2, as conjectured by Erdös and others.
Exercise 2: Show that the following simple algorithm constructs, in O(m) time, a (2k1)-spanner with at most n1+1/k edges of any undirected unweighted graph. While the graph is not empty, choose a vertex vV. Let Ni(v) be the set of vertices of distance at most i from v. Let j be the smallest integer for which |Nj(v)| ≤ n1/k |Nj1(v)|. Add to the spanner a tree of shortest path from v to all vertices of Nj(v) and delete the vertices of Nj1(v) and all the edges adjacent to them from the graph.
Exercise 3: The girth of a graph is the size of the shortest cycle in the graph. Use the construction of the previous exercise to show that the girth of any graph with at least n1+1/k edges is at most 2k. Girth Conjecture (Erdös and others): There are n-vertex graphs with Ω(n1+1/k) edges that have girth > 2k . Known for k=1,2,3,5.
A simple spanner construction algorithm[Althöfer, Das, Dobkin, Joseph, Soares ’93] • Consider the edges of the graph in non-decreasing order of weight. • Add each edge to the spanner if it does not close a cycle of size at most 2k. • The resulting graph is a (2k1)-spanner. • The resulting graph has girth >2k. • Hence, number of edges in it is at most n1+1/k.
Exercise 4: Let mg(n) be the maximum number of edges in an n-vertex graph of girth g. Show that every n-vertex graph has a t-spanner with at most mt+2(n) edges and that this result is best possible.
Linear time spanner construction[Baswana-Sen ’03] • The algorithm is composed of k iterations. • At each iteration some edges are added to the spanner and some edges and vertices are removed from the graph. • At the end of the i-th iteration we have a collection of about n1i/k trees of depth at most i that contain all the surviving vertices of the graph.
Tree properties w3 • The edges of the trees are spanner edges. • The weights of the edges along every leaf-root path are non-increasing. • For every surviving edge (u,v) we have w(u,v) w(u,p(u)), where p(u) is the parent of u. w2 i w4 w1 w1 w2 w3 w4 w2
Notation Ai – roots of trees of the i-th iterationT(v) – the tree rooted at v v T(v) E(u,T(v)) – the edges connecting u and T(v).e(u,T(v)) – the lightest edge from E(u,T(v)).w(u,T(v)) – the weight of e(u,T(v)) (or ). u
The i-th iteration Each vertex vAi-1 is added to Ai with probability n1/k.In the last iteration Ak. v1 v2 vrAi u Let v1,v2,… be the vertices of Ai-1 such thatw(u,T(v1)) ≤ w(u,T(v2)) ≤ … Let r=r(u) be the minimal index for which vrAi.If there is no such index, let r(u)=|Ai1|.
The i-th iteration (cont.) v1 v2 vrAi u For every vertex u that belongs to a tree whose root is in Ai-1Ai: Remove edges that connect vertices in the same tree. For every 1 ≤ j ≤ r :Add e(u,T(vi)) to the spanner.Remove E(u,T(vi)) from the graph Remove vertices that have no remaining edges.
How many edges are added to the spanner? v1 v2 vrAi u E[r(u)] ≤ n1/k Hence, the expected number of edges added to the spanner in each iteration is at most n1+1/k.
What is the stretch? Let e be an edge deleted in the i-th iteration. The spanner contains a path of at most 2(i1)+1 edges between the endpoints of e. i1 The edges of the path are not heavier than e e Hence, stretch ≤ 2k1
Exercise 4: Complete the proof that the algorithm of Baswana-Sen algorithm produces a (2k1)-spanner with at most O(kn1+1/k) edges. Show that it can be implemented to run in O(km) time. Note that a factor of k is lost in the number of edges. Exercise 5: Prove the correctness of the following variant of the Baswana-Sen algorithm: Perform only the first (k1)/2 iterations of the original algorithm. (Assume that k is odd.) For every pair of trees produced in the last iteration, find the lightest surviving edge that connects them and add it to the spanner.
Approximate Distance Oracles (TZ’01) n by ndistancematrix APSPalgorithm mntimen2 space Compact datastructure Weightedundirected graph mn1/ktimen1+1/k space Stretch-Space tradeoff is essentially optimal! u,v δ’(u,v( O(1)querytime stretch 2k1
Approximate Distance Oracles [TZ’01]A hierarchy of centers A0V ; Ak Aisample(Ai1,n1/k)
A0 =A1 =A2 = Bunches p2(v) v p1(v)
Lemma: E[|B(v)|] ≤ kn1/k Proof:|B(v)Ai| is stochastically dominated by a geometric random variable with parameter p=n1/k.
The data structure • Keep 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, inconstant time, whether wB(v), and if so, what is (v,w).
Query answering algorithm Algorithm distk(u,v) wu , i0 while wB(v) { i i+1 (u,v) (v,u) w pi(u) } return (u,w)+ (w,v)
Query answering algorithm w3=p3(v)A3 w2=p2(u)A2 w1=p1(v)A1 w0= u v
Analysis wi=pi(u)Ai Claim 1: δ(u,wi) ≤ iΔ ,i evenδ(v,wi) ≤ iΔ , i odd wi1=pi1(v)Ai1 (i+1) i i Claim 2: δ(u,wi)+δ(wi,v) ≤ (2i+1)Δ (i1) ≤ (2k1)Δ u v
Exercise 6: What is the stretch of a query answering algorithm that does not swap u and v in each iteration, i.e., finds the smallest i for which w=pi(u)B(v) and returns (u,w)+ (w,v) ?
Where are the spanners? Define clusters, the “duals” of bunches. For every uV, put in the spanner a tree of shortest paths from u to all the vertices in the cluster of u.
A0 =A1 =A2 = Clusters w
Computing Clusters Lemma:If vC(w) and u lies on a shortest path from w to v, then uC(w). Using this fact, each cluster can be computed by a modified version of Dijkstra’s algorithm that only examines edges that touch vertices of the cluster.
Exercise 7: Show that the subgraph composed of the shortest path trees of the clusters is a (2k1)-spanner with an expected number of O(kn1+1/k) edges.
Approximate distance oracles - summary Preproceesing time = O(kmn1+1/k) Space = O(n1+1/k) Query time = O(k) Stretch ≤ 2k1 The space/stretch tradeoff is essentially optimal (modulo the girth conjecture) Can the query time be reduced to O(1)? Manor and Naor(2006) recently gave a solution with space = O(n1+1/k) , stretch = O(k) , query time = O(1)
Exercise 8: Show that the subgraph composed of the shortest path trees of the clusters is a (2k1)-spanner with an expected number of O(kn1+1/k) edges.
Additive Spanners Let G=(V,E) be a unweighted undirected graph. A subgraph G’=(V, E’) of G is said to be an additive t-spanner of G iff δG’ (u,v) ≤ δG(u,v)+t for every u,v V. Theorem: Every unweighted undirected graph has an additive 2-spanner of size O(n3/2).[ACIM ’96] [DHZ ’96] Theorem: Every unweighted undirected graph has an additive 6-spanner of size O(n4/3).[BKMP ’04] Major open problem Do all graphs have additive spanners with only O(n1+ε) edges, for every ε>0 ?
Spanners with sublinear surplus Theorem: For every k > 1, every undirected graph G=(V,E)on n vertices has a subgraph G’=(V,E’) with O(n1+1/k) edges such that for every u,vV, if δG(u,v)=d, then δG’(u,v)=d+O(d11/(k1)). d d + O(d11/(k1)) Extends and simplifies a result of Elkin and Peleg (2001)Improved recently by Pettie (2007)
The construction of the approximate distance oracles, when applied to unweighted graphs, produces spanners with sublinear surplus! We present a slightly modified construction with a slightly simpler analysis.