Improved Algorithms for Routing & Fully Dynamic Spanners in Low Doubling Dimension Metrics Liam Roditty Bar-Ilan University Lee-ad Gottlieb Weizmann Institute
G 3 - spanner Spanners (Awerbuch ’86, Peleg & Schäffer ’88) A subgraphH of G=(V,E) is a t-spanner of G if the distance between any two vertices u,vV in H is at most t times their distance in G. We like H to be as sparse as possible.
Spanners (Awerbuch ’86, Peleg & Schäffer ’88) A subgraphH of G=(V,E) is a t-spanner of G if the distance between any two vertices u,vV in H is at most t times their distance in G. We like H to be as sparse as possible. Spanner Theorem For every k≥1, every weighted undirected graph on n vertices has a (2k-1)-spanner with at most n1+1/kedges (Althöfer, Das, Dobkin, Joseph, Soares ‘93)
|ab| Spanners for a point set A set S of points (in the plane) a b corresponds to a complete graph whose edges weight is the distance between the edge endpoints.
|ab| Spanners in the plane G a b It is possible to construct a (1+ε)-spanner of G with n/εd edges in O(n log n).(Yao ’82, Dobkin, Friedman & Supowit ’90 ,Vaidya ‘91, Salowe ‘91, Callahan & Kosaraju ’95 …)
Routing between points Routing tables Algorithm Point set S S a b
Routing between points Routing tables Algorithm Point set S 1. The routing decision in every node should be done fast. 2. The route should be proportional to the shortest path There is a tradeoff between the size of the routing tables and the routes length (tables of size n ↔ shortest paths route)
b |ab| a Result I: Optimal routing Every point saves information on a constant number of other points. A packet is sent from a to b on a route of length (1+ε)|ab|. Given a set of points there is a (1+ε)-routing scheme in which tables have constant size. Previous result: tables of size log n (Abraham et. al. 2006)
Dynamic Spanners Maintain an explicit set of spanner edges while points are inserted and deleted from the set of points.
Static spanners – intuition The number of edges is reduced significantly with a minor effect on the distances ε·blue = we apply it recursively…
Spanners r-Discrete Center Set Definition: C S is an r-discrete centers set of S if • Every two points of C are at a distance of at least r. • Every point in S is at a distance at most r from at least one point of C
r r r Spanners Packing argument If all points in a given set are at least r away from each other then within a ball of radius R there are (2R/r+1)d points.
Spanner construction C0=S is 20-discrete centers of S C1is 21-discrete centers of C0 C2is 22-discrete centers of C1 C3is 23-discrete centers of C2 Ciis 2i-discrete centers of Ci-1 log Δ Δ = aspect ratio = max pairwise distance / min pairwise distance
The Hierarchy Tree C3 C0=S C2 C1 Add edges between every two points of Ci whose distance is at most c2i (c=4+16/ε). A point may have O(1/εd) edges in every level. The total number of edges is O((log Δ) n/εd) A more careful analysis O(n/εd)
Spanners Intuition: Many short edges few long edges
Spanners Thm (Gao, Guibas & Nguyen 2004): The resulting graph is 1+ε spanner with n/εd edges.
Spanners Routing b? a b? b?
Spanners Routing The routing table of every point is its edge list ? b ? b a b Check a edges whether their other endpoint has b in its subtree (using DFS labels) Next, check a’s parent and so on
The problem The Hierarchy Tree A single point may appear in every level of the hierarchy. This is bad for routing tables (large tables in such points) and also a major obstacle for dynamic updates. The size of a point routing table may be log Δ
The Hierarchy Tree - Solution First step: Build an hierarchy tree such that a point has a corresponding node in level i only if it has edges in level i or a child in level i-1.
The Hierarchy Tree - Solution First step: Build an hierarchy tree such that a point has a corresponding node in level i only if it has edges in level i or a child in level i-1. 1-4
The Hierarchy Tree - Solution This is not enough. A point may still have log Δ nodes that correspond to it. Such a point has an important property: It has a lot of edges… Some are very short some are very long
The Hierarchy Tree - Solution General Idea: The green point p has short and long edges. The other endpoint of a short edge (q) has degree much smaller than p. Why? q p
The Hierarchy Tree - Solution General Idea: We know that p has very long edges which implies it is survived high in the hierarchy. q is relatively close to p so it is covered either by p or some other point early in the hierarchy (with respect to p).
Example p 1-4 q p
r q p The Hierarchy Tree - Solution General Idea: We can replace the long edge (p,r) to (q,r) r q p
Strong and weak separation r-Discrete Center Set new definition: C S is an r-discrete centers set of S • Every two points of C that are at a distance of at least r fulfils strong separation. • We allow also two points of C to be at a distance of at least r/2. We say they fulfill weak separation only. Notice! After the process that we will describe shortly points are only weakly separated.
The Hierarchy Tree - Solution This is just the general idea, how can we actually do it? What we actually looking for? • A relatively close point to p • Uniqueness • Has a small degree
r q p The Hierarchy Tree - Solution q is close. We like q to be unique in the sense that it will replace only p. To keep q degree small we have to use it only for a limited number of times.
A simplified example p =θ(log c)
The Hierarchy Tree - Solution The main ideas are: We replace p in level i with a point that is close to p with respect to this level and the approximation factor ε. In the end every point has only two instances (real and imaginary). Each instance covers a constant (depends on ε) number of levels.
The Hierarchy Tree - Solution The real part contains short edges and the imaginary part contains long edges We have a search process that guarantees a real instance of point q that is close to p (relatively to the level which we like to cover) will be found in log n time. The search process is unique in the sense that no other search can reach to q.
this part is going to be covered by close point p’s real instance Let focus on this area p
Zoom in this part is going to be covered by close point p’s real instance Rest of p (will take care later) If one of them is real we are done p
Zoom in z1 z2 z1 (im) z1 (im) z2 (im) this part is going to be covered by close point z3 p’s real instance conflict p …
Properties of the search Eventually a real instance is reached. The lengths of the edges used are exponentially decreasing. An imaginary point has always edges from which the search continues. Why the search is unique? How can we do it efficiently ?
z1 (im) this part is going to be covered by close point p’s real instance Prop. of the search (uniqueness) conflict z1 z1 p p’
x2 x1 (im) z1 (im) this part is going to be covered by close point p’s real instance Prop. of the search (efficiency) The search passes are disjoint Go to the side with less points log n time x1 z1 p z2
p’s imaginary instance this part is going to be covered by close point p’s real instance … … We have found a point to cover this p
The covering process (summary) • It is done from the deepest point that has to be covered. • A point is replaced by a very close point that is unique. • Eventually each point has two instances each appears in a constant number of levels. The search path the reached point q is unique so no other point can use q to cover some of its levels
Back to routing As before, the routing table of every point is its edge list. A message is routed using the hierarchy tree in the same way as before. Each point contains only a constant size table.
Dynamic spanners Recall that we allowed a point to violate the separation. Dynamic updates may cause a violation in the separation very fast.
Dynamic spanners To avoid that every point will participate in log n (and not constant) levels. This mean that each time a point violate the separation in level i it is by a value of 2i/n. The spanner will be constructed from scratch after any n updates.
Summary We present a hierarchy tree in which a point appears only a constant number of times! This implies an optimal routing scheme. Based on that (and more complicated ideas) it is possible to get a fully dynamic geometric spanner with poly-log n update time. Open problem: design a distance oracle in this model.
The End thank you!