More Compact Oracles for Approximate Distances in Planar Graphs
MMore Compact Oracles forApproximate Distances in Planar Graphs
Christian Sommer [email protected]
November 11, 2018
Abstract
Distance oracles are data structures that provide fast (possibly approximate) answers to shortest-path and distance queries in graphs. The tradeoff between the space requirements and the query timeof distance oracles is of particular interest and the main focus of this paper.In FOCS‘01, Thorup introduced approximate distance oracles for planar graphs. He proved that, forany (cid:15) > n nodes, there exists a (1 + (cid:15) )–approximate distance oracle usingspace O ( n(cid:15) − log n ) such that approximate distance queries can be answered in time O ( (cid:15) − ).Ten years later, we give the first improvements on the space–query time tradeoff for planar graphs. • We give the first oracle having a space–time product with subquadratic dependency on 1 /(cid:15) . Forspace ˜ O ( n log n ) we obtain query time ˜ O ( (cid:15) − ) (assuming polynomial edge weights). We believe thatthe dependency on (cid:15) may be almost optimal. • For the case of moderate edge weights (average bounded by poly (log n ), which appears to be the casefor many real-world road networks), we hit a “sweet spot,” improving upon Thorup’s oracle both interms of (cid:15) and n . Our oracle uses space ˜ O ( n log log n ) and it has query time ˜ O ( (cid:15) − + log log log n ).(Notation: ˜ O ( · ) hides low-degree polynomials in log(1 /(cid:15) ) and log ∗ ( n ).) a r X i v : . [ c s . D S ] O c t Introduction
Distance oracles [TZ05] generalize the all-pairs shortest paths problem as follows: instead of computingand storing a distance matrix (with quadratic space requirements and pairwise distance computations thatrequire one table look-up only), we wish to compute a data structure that requires sub-quadratic space S butstill allows for efficient (as in sublinear query time Q ) distance computations. Depending on the application,it may be acceptable to output approximate answers to shortest-path and distance queries. The estimateprovided by the distance oracle is supposed to be at least as large as the actual distance. The stretch α ≥ +
02, RN04, BG07], computer games [Sto99], server selection [NZ02,DCKM04, CCRK04, ST08, EBN09], XML indexing [STW04, STW05], reachability in object databases,packet routing [SS80], causal regulatory networks [CZE + separators [Ung51, LT79, Mil86]. For approximate distance oracles, separators consisting itself of a smallnumber of shortest paths are particularly useful [Tho04, Kle02]. Separator-based approaches however oftenuse recursion of logarithmic depth, which manifests itself by logarithmic factors in either the space require-ment or the query time (or even both). Currently, the best tradeoff is provided by Thorup’s approximatedistance oracle, for which we provide a brief technical outline in Sections 2.1 and 2.2. The best exact distanceoracles [FR06, Dji96, CX00, Cab06, Nus11, MS12] have a space-query time product S · Q proportional toroughly n √ n . For the best (1 + (cid:15) )–approximate distance oracle [Tho04], that product S · Q is O ( n log n ) forconstant (cid:15) .Space Query Stretch Reference O ( n ) O ( n ) 1 SSSP [HKRS97] O ( n ) O (1) 1 APSP O ( n log log( n ) / log( n )) O (1) 1 [WN10a] O ( S ) O ( nS − / log ( n )(log log n ) / ) 1 [MS12] for any S ∈ [ n log log n, n ] O ( n log n ) O ( √ n log / n ) 1 [FR06] O ( n ) O ( n (1 / δ ) 1 [MS12] for any constant δ > O ( n(cid:15) − log n ) O ( (cid:15) − ) 1 + (cid:15) [Tho04] O ( n ) O ( (cid:15) − log n ) 1 + (cid:15) [KKS11]˜ O ( n log n ) ˜ O ( (cid:15) − ) 1 + (cid:15) Theorem 1 (up to log(1 /(cid:15) ) and log ∗ ( n ))˜ O ( n log log n ) ˜ O ( (cid:15) − + log log log n ) 1 + (cid:15) Theorem 2 (up to log(1 /(cid:15) ) and log ∗ ( n )) O ( n log log n ) O (log log log n ) O (1) Proposition 1Table 1: Time and space complexities of distance oracles for undirected planar graphs (some results extendto planar digraphs). Existing results are for arbitrarily weighted graphs; our new results are for graphswith polynomial weights (Theorem 1) and for moderately weighted graphs (Theorem 2) only. log ∗ ( n ) is the iterated logarithm of n . For the bounds corresponding to our results, ˜ O ( · ) hides low-degree polynomials inlog(1 /(cid:15) ) and log ∗ ( n ).Our main result is a distance oracle that improves upon these tradeoffs in terms of both n and (cid:15) for graphswith moderate edge weights. By moderate we mean that, after normalization such that the smallest edge1eight is 1, the average weight is bounded by poly (log n ). We believe that this is a reasonable assumptionas the average weight for the European road network (the version made available for scientific use by thecompany PTV AG) appears to be not too large. We provide a (1 + (cid:15) )–approximate distance oracle withthe following characteristics: for constant (cid:15) , the space is S = O ( n log log( n ) log ∗ ( n )) and the query timeis Q = O (log log log n ), thus S · Q = o ( n log n ). We show how the logarithmic dependency on n , whichis quite common in separator-based approaches, can be avoided entirely, which may be interesting in itsown right. Equally important, our construction also yields the first space–time product with subquadratic dependency on (cid:15) (known constructions have (cid:15) − in both space and query [Tho04, Kle02] or (cid:15) − in the querycomplexity [KKS11]).More precisely, we prove the following. All our bounds are in the word RAM model [CR73]. Theorem 1.
For any undirected planar graph G on n nodes with edge weights polynomial in n and for any (cid:15) > there exists a (1+ (cid:15) ) –approximate distance oracle with query time O ( (cid:15) − log (1 /(cid:15) ) log log(1 /(cid:15) ) log ∗ ( n )) usingspace O ( n [log( n ) + log(1 /(cid:15) )] log ∗ ( n ) log log(1 /(cid:15) )) , and preprocessing time O ( n(cid:15) − log ( n ) log ∗ ( n ) + SN C ( n ) · log n ) , where SN C ( n ) denotes the time required to compute a sparse neighborhood cover. Theorem 2.
For any undirected planar graph G on n nodes with average weight ≤ log θ n for someconstant θ ≥ , and for any (cid:15) > there exists a (1 + (cid:15) ) –approximate distance oracle with query time O ( (cid:15) − log (1 /(cid:15) ) log log(1 /(cid:15) ) log ∗ ( n )+log log log( n )) using space O ( n [log log( n ) + log(1 /(cid:15) )] log ∗ ( n ) log log(1 /(cid:15) )) ,and preprocessing time O ( n(cid:15) − log ( n ) log log( n ) log ∗ ( n ) + SN C ( n ) · log log n ) , where SN C ( n ) denotes thetime required to compute a sparse neighborhood cover. As a starting point, we provide the following distance oracle with constant stretch.
Proposition 1.
For any undirected planar graph G on n nodes with average weight bounded by log θ n forsome constant θ ≥ there exists an O (1) –approximate distance oracle with query time O (log log log n ) usingspace O ( n log log n ) , and preprocessing time O ( n log n + SN C ( n ) · log log n ) , where SN C ( n ) denotes the timerequired to compute a sparse neighborhood cover. Somewhat surprisingly, nothing more efficient than Thorup’s (1 + (cid:15) )–stretch oracle had been known forarbitrary constant approximations. The only O (1)–stretch (as opposed to (1+ (cid:15) )–stretch) oracle constructionsfor planar graphs we are aware of are [Che95, ACC +
96, GKR01] and the following two indirect constructions:one construction is by using a routing scheme [FJ89, FJ90] and another construction is by using an (cid:96) ∞ –embedding [KLMN04]. The space–query time tradeoff of our data structure is better than that of all theprevious constructions. Techniques
Our data structures make extensive use of Thorup’s approximate distance oracle [Tho04]and of a large variety of techniques developed for planar graphs in recent years. We also introduce a newkind of r –divisions [Fre87] based on shortest-path separators. Other techniques we use include crossingsubstitutes [KS98], sparse neighborhood covers [BLT07], generalized dominating sets [KP98], and the CycleMSSP data structure [MS12].
We use standard terminology from graph theory, see for example [Die05]. Graphs we consider are planar,undirected, unweighted (if not explicitly mentioned otherwise — the extension to moderately weighted graphs The network covers European 14 countries and it has 18,010,173 nodes and 42,560,279 edges. It serves as an importantbenchmark graph for shortest-path query methods [DGJ08]. For the travel time metric ( scc-eur2time.gr ), the total weight is21,340,824,356, which yields an average of approximately 501. For the distance metric ( scc-eur2dist.gr ) the two values are9,420,195,951 (sum) and 221 (rounded average). Also, log (42560279) ≈ .
34 and thus (log | E | ) ≥ O ( poly (log | E | )) from Ω( (cid:112) | E | ) for this E (here √ ≈ . Recently, the complexity of some optimization problems for planar graphs has been improved [WN10b] from worst-caserunning time O ( n log n ) to O ( n log log n ) using fast r –divisions [Fre87] (and other techniques). For approximate distance oracles,a similar approach improves the space requirements at the cost of the query time [KKS11]. In this work, we improve the tradeoff ,i.e. the product of space and query time.
2s emphasized in the pseudocode), and they have n nodes.Let log ∗ ( · ) denote the iterated logarithm function (also super-logarithm ), which is defined as log ∗ n =1 + log ∗ (log n ) for n > n ≤ r –divisions A separator for a graph G = ( V, E ) is a subset of the nodes S ⊆ V such that removing the nodes in S from G partitions the graph into at least two disconnected components. Let us assign a weight w ∈ [0 ,
1] to everynode v ∈ V . A separator is deemed balanced if none of the resulting components has weight more than aconstant fraction ρ of the total weight for some constant ρ < small separators: for any planar graph there exists a balanced separatorconsisting of O ( √ n ) nodes [Ung51, LT79, Mil86]. Recursively separating a graph into smaller components,we obtain a division into edge-induced subgraphs. A node of G is a boundary node of the partition if it belongsto more than one subgraph. An r –division [Fre87] partitions G into O ( n/r ) subgraphs, called regions , eachconsisting of O ( r ) edges with at most O ( √ r ) nodes on the boundary.Separators can be chosen, for example, to form a cycle [Mil86] or also to form a set of paths [LT79, Tho04].Lipton and Tarjan [LT79] prove that, for any spanning tree T in a triangulated planar graph, there is a non-tree edge e such that the unique simple cycle in T ∪{ e } is a balanced separator (fundamental cycle separator).Thorup [Tho04] uses this construction with a shortest-path tree T , rooted at an arbitrary source node. Forany node u , let T ( u ) denote the tree path from u to the root. Lemma 1 (Shortest-Path Separability; Thorup [Tho04, Lemma 2.3]) . In linear time, given an undirectedplanar graph H with a rooted spanning tree T and non-negative vertex weights, we can find three vertices u , v , and w such that each component of H \ V ( T ( u ) ∪ T ( v ) ∪ T ( w )) has at most half the weight of H . Since T is a shortest-path tree, a separator S consists of at most three shortest paths. The approximate distance oracle for planar graphs by Thorup [Tho04] can be distributed as a distancelabeling scheme [Pel00, GKK +
01, GPPR04]. Each node u is assigned a label L ( u ) such that there is adecoding function D ( · , · ) that approximates the distance between u and v based on their labels only. Lemma 2 (Thorup [Tho04, Theorem 3.16 and Theorem 3.19]) . There is an algorithm that computes (1+ (cid:15) ) –approximate distance labels for an n –node planar graph with the following properties. The algorithm runs intime O ( n(cid:15) − log n ) and outputs labels of length O ( (cid:15) − log n ) with query time O ( (cid:15) − ) . One of the key ideas in Thorup’s oracle is the concept of shortest-path tree separability as outlined in theprevious section (Lemma 1). A constant number of shortest paths Q separate the graph into componentsof at most half the size. Another key idea is to approximate shortest s − t paths that intersect a separatorpath Q . Let the shortest s − t path intersect Q at a particular node q ∈ Q . If we are willing to accept aslightly longer path, we can restrict the number of possible intersections from | Q | to O (1 /(cid:15) ), for (cid:15) >
0. Weuse the following variant of Klein and Subramanian [KS98] (which they also call a crossing substitute ). Lemma 3 (Klein and Subramanian [KS98, Lemma 4]) . Let Q be a path of length O ( D ) for an integer D .Let C ⊆ Q be a set of O (1 /(cid:15) ) equally spaced nodes on Q , called the (cid:15) –cover of Q . Any pair of nodes ( u, v ) at distance [ D, D ) whose shortest path intersects Q can be (1 + (cid:15) )–approximated by a path going through anode c ∈ C , that is, d ( u, v ) ≤ min c ∈C d ( u, c ) + d ( c, v ) ≤ (1 + (cid:15) ) d ( u, v ) . The proof is based on the observation that any detour using node c ∈ C instead of node q could causean additive error of at most O ( (cid:15)D ). 3 .3 Distance– δ Dominating Sets
Let δ < n be an integer. A δ –dominating set of a graph G = ( V, E ) is a subset L ⊆ V of nodes such that foreach v ∈ V there is a node l ∈ L at distance at most δ . It is well-known that there is a δ –dominating set L of size at most | L | ≤ n/ ( δ + 1) and that such a set L can be found efficiently [KP98].A related but hard (even for degree–3 planar graphs) problem is the minimum p –center problem [Ple80,DF85, Ple87], where we want to compute a set U ⊆ V of size p = | U | such that the maximum distance fromany node v ∈ V to U is minimized. We are mainly interested in that worst-case distance, for which the bestguarantee is n/p . Busch, LaFortune, and Tirthapura [BLT07] provide sparse covers [AP90, ABCP98, AGMW07, BLT07] forplanar graphs.
Lemma 4 (Busch, LaFortune, and Tirthapura [BLT07]) . For any planar graph G and for any integer r , thereis a sparse cover , which is a collection of connected subgraphs ( G , G , . . . ) , with the following properties: • for each node v there is at least one subgraph G i that contains all neighbors within distance r , • each node v is contained in at most subgraphs, and • each subgraph has radius at most ρ = 24 r − (a graph has radius ρ if it contains a spanning tree of depth ρ ).Furthermore, such a sparse cover can be computed in polynomial time. Note that, since each node is in at most O (1) subgraphs G i , the total size of the cover is O ( n ).While for minor-free graphs the best-known construction algorithm requires polynomial time, their algo-rithm for planar graphs appears to actually run in time O ( n log n ). Let SN C ( n ) denote the time requiredto compute sparse neighborhood covers. We state our preprocessing bounds with respect to SN C ( n ). We use the Cycle Multiple-Source Shortest Paths (MSSP) data structure [MS12], which is a variant of Klein’sMSSP data structure [Kle05].
Lemma 5 (Cycle MSSP [MS12, Theorem 4]) . Given a directed planar graph G on n nodes and a simplecycle C with c = O ( √ n ) nodes, there is an algorithm that preprocesses G in O ( n log n ) time to produce adata structure of size O ( n log log c ) that can answer the following queries in O ( c log c log log c ) time: for aquery node u , output the distance from u to all the nodes of C . We also use an exact distance oracle for small subgraphs.
Lemma 6 ([MS12, Theorem 3]) . For any directed planar graph G with non-negative arc lengths, there is adata structure that supports exact distance queries in G with the following properties: the preprocessing timeis O ( n log( n ) log log( n )) , the space required is O ( n log log n ) , and the query time is O ( √ n log ( n ) log log( n )) . The overall structure of the distance oracle presented in this section is also reused for the (1+ (cid:15) )–approximatedistance oracle. The basic idea is to use Thorup’s distance labels for long-range distances, which are thedistances of length at least roughly log n , and to use sparse neighborhood covers (Section 2.4) for log log n different levels to approximate short-range distances.We prove Proposition 1, which we restate here. 4 roposition 1. For any undirected planar graph G on n nodes with average weight bounded by log θ n forsome constant θ ≥ there exists an O (1) –approximate distance oracle with query time O (log log log n ) usingspace O ( n log log n ) , and preprocessing time O ( n log n + SN C ( n ) · log log n ) , where SN C ( n ) denotes the timerequired to compute a sparse neighborhood cover. Let (cid:15) = 0 . (cid:15) ∈ (0 , /
2) works). The algorithm is described by the following pseudocode. preprocess G = ( V, E ) (i) Preparing for Long-range Queries compute a δ –dominating set L with δ = (cid:98) (cid:15) − log n (cid:99) as in [KP98](for graphs with edge weights s.t. (cid:80) e ∈ E w ( e ) ≤ O ( n log θ n ), set δ = (cid:98) (cid:15) − log θ +1 n (cid:99) insteadand replace each edge e by w ( e ) edges before computing the δ –dominating set)for each node l ∈ L compute Thorup’s distance label [Tho04] (see Lemma 2)for each node v ∈ V compute its nearest landmark node l v (the node l v ∈ L that minimizes d G ( v, l v ))store ( l v , d G ( v, l v )) (ii) Preparing for Short-range Queries for every integer i > i ≤ (cid:100) (cid:15) − δ (cid:101) compute a sparse neighborhood cover with radius r = 2 i as in [BLT07]let G i = { G ij } denote this coverfor each node v ∈ V store the list of graphs G ij ∈ G i with v ∈ V ( G ij ) Space requirements
Each distance label has size O ( (cid:15) − log n ) (see Lemma 2). The space requirementfor the data structure computed in the first step is thus O ( n ). In the second step, we iterate through O (log( (cid:15) − log n )) = O (log log( n ) + log(1 /(cid:15) )) levels (for weighted graphs with (cid:80) w ( e ) ≤ O ( n log θ n ) for aconstant θ ≥ O ( θ log log n + log(1 /(cid:15) )) levels). At each level i , for each node, we store a list ofgraphs L i ( v ) ⊆ G i of constant length (cid:12)(cid:12) L i ( v ) (cid:12)(cid:12) = O (1) [BLT07]. Over all levels, the space requirement is thus O ( n log( (cid:15) − log n )). Here we assume that identifiers of length O (log n ) bits can be stored using constantspace, which is a common assumption in the word RAM model [CR73]. Preprocessing time
The preprocessing time is dominated by the time required to compute the neighbor-hood covers
SN C ( n ), which is bounded by a polynomial in the number of nodes n [BLT07]. The dominatingset [KP98], the distance labels [Tho04], and the nearest landmarks [Erw00] can be computed in almost lineartime in n . The algorithm is described by the following pseudocode. query ( u, v )return the minimum of the long-range and the short-range query algorithm (i) Long-range Query return d G ( u, l u ) + ˜ d G ( l u , l v ) + d G ( l v , v ), where ˜ d G ( · , · ) is the estimate obtained from the labels (ii) Short-range Query binary search for a level i such that ∃ G ij ∈ G i : u, v ∈ V ( G ij ) and (cid:54) ∃ G i − j (cid:48) ∈ G i − : u, v ∈ V ( G i − j (cid:48) )return 2 ρ i , where ρ is the constant for the radius in Lemma 4 (here: ρ = 24)5 unning time Computing the long-range result requires time O (1 /(cid:15) ) [Tho04]. For the short-range pairs,a binary search among O (log( (cid:15) − log n )) levels can be done in time O (log log( (cid:15) − log n )). At each search levelwe need to compute the intersection of two sets of constant size (recall that each node is in at most O (1)graphs G ij per level i [BLT07]). Stretch analysis
For any pair of nodes ( u, v ) at distance d G ( u, v ) ≥ (cid:15) − δ = (cid:15) − log n , the long-rangealgorithm returns a (1 + 6 (cid:15) )–approximation for d G ( u, v ), since, using the triangle inequality, d G ( u, v ) ≤ d G ( u, l u ) + ˜ d G ( l u , l v ) + d G ( l v , v ) ≤ δ + (1 + (cid:15) ) d G ( l u , l v ) + δ ≤ δ + (1 + (cid:15) )( δ + d G ( u, v ) + δ ) + δ ≤ (1 + (cid:15) ) d G ( u, v ) + (4 + 2 (cid:15) ) δ. For nodes at distance d G ( u, v ) < (cid:15) − δ , the short-range algorithm returns a 4 ρ –approximation (recall that ρ is the constant for the radius in [BLT07]). The graph G ij with u, v ∈ V ( G ij ) at level i is a certificate that d G ( u, v ) ≤ ρ i . Since there is no graph G i − j (cid:48) with u, v ∈ V ( G i − j (cid:48) ) at level i −
1, the u -to- v distance satisfies d G ( u, v ) > i − .We conclude this section by noting that, using Lemma 4, we have ρ = 24 and thus the stretch of thisoracle is at most 96. The construction of Busch et al. [BLT07] works for general minor-free graphs. Theremay be a construction with smaller radius for planar graphs. (1 + (cid:15) ) –Approximate Distance Oracle We prove the main result (Theorem 2). The distance oracle presented in this section is based on the oraclewith constant stretch as described in Section 3.
We first run the preprocessing algorithm of Section 3 with (cid:15) being the actual value chosen by the applicationdivided by 6. Note that the only distances approximated with stretch more than 1 + (cid:15) are the ones in therange [1 , (cid:15) − log( n )]. This range of logarithmic size is then handled by data structures for log-logarithmicallymany levels. At level i , we are interested in distances in the range [2 i , i +1 ).The constant-stretch distance oracle uses a very crude estimate: if two nodes are contained in the samegraph G ij with diameter O (2 i ) but they are not together in a graph at level i −
1, they must be at distanceΘ(2 i ) ( O (2 i ) due to the diameter of G ij and Ω(2 i ) since the two nodes were not together in any graph atlevel i − i ).We are aware of exact oracles for planar graphs that can answer bounded-length distance queries, which aredistance queries for pairs at constant distance. For planar graphs, Kowalik and Kurowski [KK06] providesuch a distance oracle that uses linear space (see [DKT10] for an extension to sparse graphs). However,we cannot use their data structures, since the query time of their oracle is exponential in the length. Inour oracle, short distances may be up to logarithmic in n . Another approach would be to use a distanceoracle for planar graphs with bounded tree-width (see [MS12]): since diameter Θ(2 i ) implies tree-width w = Θ(2 i ) [Epp00, DH04], the query time can be made almost proportional to w . However, here we aim atquery time almost proportional to 1 /(cid:15) instead.For the (1 + (cid:15) )–stretch oracle, we introduce an additional data structure for the level graphs G ij . Thedifference to the oracle in Section 3 — one of our main technical contributions — is the following datastructure that can answer approximate distance queries with additive stretch (cid:15) ∆ for planar graphs withdiameter O (∆). 6 heorem 3 (Additive-Stretch Approximate Distance Oracle) . For any integer ∆ , for any (cid:15) > , and for anyplanar graph on n nodes with diameter C · ∆ for any constant C > there is an approximate distance oraclewith additive stretch (cid:15) ∆ using space O ( Cn log log(1 /(cid:15) ) log ∗ ( n )) and query time O ( C(cid:15) − log (1 /(cid:15) ) log log(1 /(cid:15) ) log ∗ ( n )) .Furthermore, this distance oracle can be computed in time O ( Cn(cid:15) − log ( n ) log ∗ ( n )) . Let us emphasize that the oracle in Theorem 3 works for edge-weighted planar graphs as well. In thecase of weighted graphs, we require that the weighted diameter (defined by the length of the longest shortestpath) is bounded by C · ∆. We now use the additive-stretch oracle as in Theorem 3 to prove Theorem 2, which we restate here.
Theorem 2.
For any undirected planar graph G on n nodes with average weight ≤ log θ n for someconstant θ ≥ , and for any (cid:15) > there exists a (1 + (cid:15) ) –approximate distance oracle with query time O ( (cid:15) − log (1 /(cid:15) ) log log(1 /(cid:15) ) log ∗ ( n )+log log log( n )) using space O ( n [log log( n ) + log(1 /(cid:15) )] log ∗ ( n ) log log(1 /(cid:15) )) ,and preprocessing time O ( n(cid:15) − log ( n ) log log( n ) log ∗ ( n ) + SN C ( n ) · log log n ) , where SN C ( n ) denotes thetime required to compute a sparse neighborhood cover.Proof of Theorem 2. We describe the peprocessing and query algorithms. Since these algorithms are verysimilar to the algorithms in Section 3, we mainly highlight the differences.
Preprocessing Algorithm
We run the preprocessing algorithm of Section 3 with (cid:15) being the actualvalue chosen by the application divided by a small constant (six suffices). For each level 2 i , for each graph G ij , we compute the additive-stretch oracle as in Theorem 3. The total space requirement per level is O ( n [log log( n ) + log(1 /(cid:15) )] log ∗ ( n ) log log(1 /(cid:15) )). The preprocessing time again depends on the time SN C ( n )required to compute the sparse neighborhood covers, since, for each level 2 i , we compute a sparse neighbor-hood cover and the additive-stretch oracle in each subgraph (Theorem 3). Query Algorithm
We use the query algorithm of Section 3 with the following adaptation. After thebinary search for the lowest level 2 i with a graph G ij that contains both u and v , we compute the result ofthe additive-stretch oracle for this level and also for the (cid:100) log (2 ρ ) (cid:101) levels above ( ρ again denotes the radiusin Lemma 4). The reason for this is that u and v may be in G ij at level 2 i but u and v may be at distance cD for some c ∈ [1 , ρ ]. At a lower level, it is not guaranteed that G ij actually contains an approximate shortestpath. Since ρ = O (1), the query time is at most O ( (cid:15) − log (1 /(cid:15) ) log log(1 /(cid:15) ) log ∗ ( n ) + log log log( n )). The proof of Theorem 1 is based on the proof of Theorem 2.
Proof of Theorem 1.
There are two differences to the proof of Theorem 2.
Preprocessing Algorithm
We need to consider O (log n ) levels instead of O (log log n ) levels, since anode may be at distance O ( poly ( n )) from its nearest dominating node. The space complexity increasesfrom O ( n [log log( n ) + log(1 /(cid:15) )] log ∗ ( n ) log log(1 /(cid:15) )) to O ( n [log( n ) + log(1 /(cid:15) )] log ∗ ( n ) log log(1 /(cid:15) )). We alsopreprocess Thorup’s distance oracle for (cid:15) = 1 / O ( n log n )and thus the overall space does not increase any further. Query Algorithm
Instead of running a binary search to find the right level, we can now just queryThorup’s distance oracle for constant (cid:15) to identify the right level. Everything else remains the same. Thequery time is thus O ( (cid:15) − log (1 /(cid:15) ) log log(1 /(cid:15) ) log ∗ ( n )).7 Additive-Stretch Approximate Distance Oracle
This section is devoted to the proof of Theorem 3. While there are distance oracles for special cases of planargraphs and special kinds of queries [DPZ95, DPZ00, DPZ91, CX00, KK06, MS12], we unfortunately cannotuse them for our purpose.Let us first restate Theorem 3.
Theorem 3.
For any integer ∆ , for any (cid:15) > , and for any planar graph on n nodes with diameter C · ∆ for any constant C > there is an approximate distance oracle with additive stretch (cid:15) ∆ using space O ( Cn log log(1 /(cid:15) ) log ∗ ( n )) and query time O ( C(cid:15) − log (1 /(cid:15) ) log log(1 /(cid:15) ) log ∗ ( n )) . Furthermore, this distanceoracle can be computed in time O ( Cn(cid:15) − log ( n ) log ∗ ( n )) . We adapt Thorup’s distance oracle as follows. During preprocessing, we recursively separate the planargraph G into at least two pieces each with at most half the weight (Lemma 1). Analogously to computing an r –division [Fre87], we separate G in a way such that both (i) the sizes of the resulting pieces are balanced and (ii) the boundary ∂P of each piece P consists of at most a constant number of shortest paths (see [Tho04,Section 2.5.1] for a similar construction). We stop the separation as soon as subgraphs have logarithmic size.There are three types of shortest s − t paths we need to consider.1. Any shortest path between nodes in two different pieces must pass through a boundary path.2. For nodes in the same piece, the shortest path may leave through one boundary path and re-enterthrough another boundary path.3. For nodes in the same piece P , the shortest path may lie entirely within P .The third type of paths is handled by recursion.The first two types of paths are handled as follows. Instead of letting the s − t path pass through any nodeof to boundary, that is, any node on a separator path q ∈ Q , we restrict the possible portals on the boundaryto the (cid:15) –cover for each path Q (which is chosen as a set of equally-spaced nodes C ( Q ) as in Lemma 3). Since C ( Q ) is an (cid:15) –cover, the error we introduce is bounded by (cid:15) · ∆.The savings in space can be obtained since (i) for each node we only need the distances to the O ( (cid:15) − )nodes in the covers on the boundary as opposed to the O ( (cid:15) − log n ) nodes on all separator paths as in [Tho04]and (ii) we can compute these distances at query time using the Cycle MSSP data structure (Lemma 5). Throughout, pieces are called
P, P (cid:48) , P i , . . . and paths are called Q, Q (cid:48) , Q j , . . . . Let ∂P denote the set ofseparator paths on the boundary of a piece P . By ∂P we denote the number of shortest paths on theboundary of a piece P . For a separator path Q , let C ( Q ) ⊆ Q denote the (cid:15) –cover of Q , which is a set of O (1 /(cid:15) ) equally-spaced nodes on Q . We call each node c ∈ C ( Q ) a portal . For any piece P , let C ( P ) denotethe set of portals on its boundary, C ( P ) := (cid:83) Q ∈ ∂P C ( Q ). We first compute a decomposition we call shortest-path s –division (similar to an r –division), by repeatedlyusing shortest-path separators (as in Lemma 1). The separator paths form a decomposition tree . Then,we compute an (cid:15) –cover for each path. We further connect each portal node in an (cid:15) –cover to all the portalnodes in covers on higher levels of the decomposition tree. Finally, we compute distances from nodes to theirportals and store them implicitly using the Cycle MSSP data structure.Compared to [Tho04], the main technical differences are:8 selective storing of distances to portalswe store distances to portals in (cid:15) –covers only for a restricted set of nodes • global (cid:15) –coverswe compute one cover per path, as opposed to one cover per pair of path and node(to improve query time and space requirements)Our preprocessing algorithm is outlined in the following pseudocode. preprocess H = ( V, E )let n = | V | let the set of pieces P = { V } let the tree of boundary paths S = {} ( (cid:63) ) beginning of partitioning ( shortest-path division , similar to an r –division) While there is a piece P ∈ P with ∂P >
10 or size | P | > (cid:100) (cid:15) − log n (cid:101) we compute a balanced separation with node weights as follows: If a piece has too many boundary paths, ∂P > Q ∈ ∂P assign weight 0 to all the remaining nodes Else assign weight 1 to each nodelet T ( u ) , T ( v ) , T ( w ) be the three paths obtained by Lemma 1 applied to P , weighted as aboveadd T ( u ) , T ( v ) , T ( w ) to the set of separator paths S remove P from P , partition P into pieces P , P , . . . and add them to P ( (cid:63) ) partitioning with O (1) boundary paths per region computed( † ) inter-piece approximate distance oracle For Each separator path Q ∈ S compute an (cid:15) –cover C ( Q ) ⊆ Q (Lemma 3) For Each portal c ∈ C ( Q )compute and store the distances to all portals on ancestor paths Q (cid:48) For Each piece P ∈ P and separator path Q ∈ ∂P augment the graph induced by the piece P with infinite edges such that C ( Q ) form the outer facecompute the Cycle MSSP Data Structure for C ( Q ) and this augmented graph (as in Lemma 5)( † ) inter-piece oracle computed( ‡ ) recursive call For Each piece P ∈ P If | P | > (cid:100) (cid:15) − (cid:101) recurse on the graph induced by P Else compute an exact distance oracle for P as in Lemma 6 Claim 1 (Shortest-path separator r –division) . At step ( (cid:63) ) we have obtained a partitioning of the vertex set V into pieces P , P , . . . with the following properties: • each piece P i has size | P i | = O ( (cid:15) − log n ) , • the number of boundary paths ∂P i for each piece P i is at most ten, and • the total number of pieces is at most O ( n(cid:15)/ log n ) . roof. Our construction is similar to that of an r –division [Fre87, WN10b] but using shortest-path separatorsinstead of cycle separators. It is also essentially the same as in [Tho04, Section 2.5.1]; see [Tho04, Fig. 4]for an illustration. Similar divisions have been used in [AGK +
98, GKP95]. We recursively separate V intopieces using root-paths of a single shortest-path tree as in Lemma 1.Whenever a the boundary of a piece consists of more than 10 root-paths, we separate it using Lemma 1such that the boundary paths will be partitioned in a balanced way. Since we always use the same shortest-path tree T , we can use the following vertex weights: all the endpoints (leafs in T ) of a previously selectedroot-path are weighted with one and all the remaining nodes are weighted with zero.The third property can be proven using the following observation. Let us track a piece P during theexecution of the preprocessing algorithm. Since all the separator paths are taken from the same shortest-pathtree T , the number of boundary paths ∂P increases only if P is the reason why Lemma 1 is invoked. A piece P (cid:48) resulting from that invocation can have more than 10 boundary nodes by inheriting 10 − P and gaining 3 paths from Lemma 1. By one more invocation of Lemma 1, the number of boundary paths of P (cid:48) can be reduced to less than 10. When the recursion stops at P (cid:48) , either P (cid:48) or P has size Θ( (cid:15) − log n ). Claim 2.
The total space requirement per recursion level is at most O ( n log log(1 /(cid:15) )) .Proof. At each recursion level, for each portal in an (cid:15) –cover c ∈ Q , the above algorithm stores O ( (cid:15) − log n )portals and the corresponding distances, since, for each portal, we store the distances to all the portals onhigher levels (as in [Tho04]).By Claim 1, the total number of pieces per level is at most O ( n(cid:15) / log n ) ( sic! ). Each piece is surroundedby at most 10 paths on each of which we have O (1 /(cid:15) ) portals. The total number of portals per level is thusat most O ( n(cid:15)/ log n ). Since each distance label requires space O ( (cid:15) − log n ), the total space per level for thisstep is O ( n ).At each recursion level, for each node v ∈ V , the above algorithm stores a Cycle MSSP data structure forthe portals on each boundary path (note that we can only do so since there is one fixed cover per boundarypath as opposed to one cover per pair of node and boundary path). Since the cycle has O (1 /(cid:15) ) nodes, oneCycle MSSP data structure requires space O ( n log log(1 /(cid:15) )) (see Lemma 5). By Claim 1, each piece has atmost ten boundary paths.On the lowest level, we also store a distance oracle for a planar graph on O ( (cid:15) − ) nodes. The overall spacerequirement for all these distance oracles is O ( n log log(1 /(cid:15) )) (Lemma 6).Note that this recursive algorithm reduces the graph size from n (cid:32) log n at each level. It follows directlythat the recursion depth is at most O (log ∗ n ). The data structure computed by the above algorithm thusoccupies space O ( n log log(1 /(cid:15) ) log ∗ n ). The query algorithm, given a pair of nodes u, v , returns an estimate for d G ( u, v ). The main differences toThorup’s distance oracle [Tho04] are: • two-way approximationinstead of approximating the distance by d G ( u, q ) + d Q ( q, q (cid:48) ) + d G ( q (cid:48) , v ) for two portals q, q (cid:48) on aseparator path as in Thorup’s distance oracle, we use the estimate d G ( u, c u ) + d G ( c u , q ) for a portal c u to approximate d G ( u, q ) and, analogously, for d G ( q, v ) (by doing so, each node only needs to computeand encode distances to portals on its boundary paths as opposed to all log n levels) • Monge search for the optimal portalsince we have only one (cid:15) –cover per path, we can use the non-crossing property as in [AKM +
87, KK90,FR06] to compute the two-way approximationwe emphasize that there is also only one (cid:15) –cover per path on higher levels (not just at the boundaryof a piece) 10et us momentarily assume that the two query nodes u and v are in different pieces P u and P v , respec-tively. Since we store distances from u to its cover C ( P u ) (and from v to C ( P v )) during preprocessing, wemay return the minimum min c u ∈C ( P u ) ,c v ∈C ( P v ) d G ( u, c u ) + ˜ d ( c u , c v ) + d G ( c v , v ) , where ˜ d ( · , · ) is a (1 + (cid:15) )–approximation for d G ( · , · ). We can compute ˜ d ( c u , c v ) for the two portals c u , c v sincethey have a lowest common ancestor in the separator decomposition tree consisting of at most three shortestpaths, to whose (cid:15) –covers we computed and stored the shortest-path distances during preprocessing. Claim 3.
The above estimate is at most (cid:15) ∆ longer than d G ( u, v ) .Proof. Any shortest path from u to v must intersect the boundary of both pieces. Our approximation usesat most one additional separator path (one of the paths in the least common ancestor separator). Due toLemma 3, the additive distortion is at most 2 (cid:15) ∆ per path.Per level i , we compute the minimum min c u ∈C ( P u ) ,c v ∈C ( P v ) d G ( u, c u ) + ˜ d ( c u , c v ) + d G ( c v , v ). We know thedistance from u to the O (1 /(cid:15) ) portals c u ∈ C ( P u ) on its boundary paths. We also know the distance fromthese portals to the portals on the separator paths. We wish to efficiently compute the distance from u to the portals on the relevant separator paths to simultaneously compute all the relevant ˜ d ( c u , c v ). Thiscomputation can be done using the efficient Dijkstra implementation of [FR06].Fakcharoenphol and Rao [FR06, Section 4.1 (and also Sec. 2.3)] devised an ingenious implementation ofDijkstra’s algorithm [Dij59] that computes a shortest-path tree of a complete bipartite graph H ∪ H intime O ( h log h ) where h = | H | + | H | (as opposed to O ( | H | · | H | )) as long as the edge weights obey theMonge property (which essentially means that they correspond to distances in a planar graph wherein thenodes of H and H lie on a constant number of faces). We refer to this implementation as FR-Dijkstra .The query algorithm works as described in the following pseudocode. query ( u, v )return the minimum among the results from all recursion levels: For Each recursion levellet u ∈ P u and v ∈ P v For Each pair of boundary paths ( Q u , Q v ) ∈ ∂P u × ∂P v determine the three separator paths Q , Q , Q that separate Q u from Q v (as in [Tho04]) For Each Q ∈ { Q , Q , Q } compute min c u ∈ C ( Q u ) d ( u, q ) for all q ∈ Q simultaneously using FR-Dijkstra(analogously for v )compute min q ∈ Q d ( u, q ) + d ( q, v ) and keep it if it is the new minimumat the lowest recursion level If P u = P v Then query the exact distance oracle
Claim 4.
The query algorithm runs in time O ( (cid:15) − log (1 /(cid:15) ) log log(1 /(cid:15) ) log ∗ ( n )) .Proof. We compute the distances from u to the portals on the boundary path C ( Q u ) using the Cycle MSSPdata structure in time O ( (cid:15) − log (1 /(cid:15) ) log log(1 /(cid:15) )) (Lemma 5).For each pair of boundary paths ( Q u , Q v ) ∈ ∂P u × ∂P v there is a constant number of separator paths Q on higher levels we need to consider (see constant query time oracle in [Tho04]). Even if the two query nodes are in the same piece, it could still be that the shortest path passes through the separator(which consists of at most ten shortest paths). To account for these cases, we compute the minimum among paths passingthrough the separator (this computation is the same as if the nodes were in different pieces). Then we recurse until sometermination criterion on the size is met. Q the FR-Dijkstra algorithm runs in time O (( | C ( Q u ) | + | C ( Q ) | ) log( | C ( Q u ) | + | C ( Q ) | )) = O ( (cid:15) − log(1 /(cid:15) )). (Since we do not actually need the on-line version of the bipartite Mongesearch in [FR06], the log(1 /(cid:15) ) factor can be eliminated by using [AKM +
87, KK90] instead. However, we useFR-Dijkstra within the Cycle MSSP data structure, whose query time currently dominates the overall querytime anyway.)This search is done for all the O (log ∗ n ) levels of the recursion. On the lowest level, we also query theexact distance oracle in time O ( (cid:15) − log (1 /(cid:15) ) log log(1 /(cid:15) )) (Lemma 6). Our (1 + (cid:15) )–approximate distance oracle for planar graphs has a better space-time tradeoff — both in termsof n and (cid:15) — than previous oracles. The improved tradeoff currently comes at a cost: the oracle cannot bedistributed as a labeling scheme (it is however not clear whether o (log n ) bit approximate distance labels forplanar graphs exist at all) and, for the improvement in terms of n , there is a dependency on the largest edgeweights (Thorup’s oracle depends on the largest integer weight for digraphs only). We believe that thesesacrifices may be worthwhile since they allow us to achieve almost linear dependency on 1 /(cid:15) and removethe notorious logarithmic dependency on n , contributing to an important next step towards a linear-spaceapproximate distance oracle with almost constant query time.An intermediate goal could be to find a linear-space distance oracle with arbitrary constant stretch and(almost) constant query time. For our construction, the overhead required to transform a constant-stretchoracle into a (1 + (cid:15) )–stretch oracle is proportional to only log ∗ ( n ) (and some overhead in log(1 /(cid:15) )). Althoughour construction of the (1 + (cid:15) )–stretch oracle depends on the specific features of the constant-stretch oracle,given a better constant-stretch approximate distance oracle, it may be quite possible to improve our (1 + (cid:15) )–stretch oracle as well. Acknowledgments
Many thanks to Mikkel Thorup for encouraging our research on these tradeoffs and for the valuable commentson an earlier version of this work.
References [ABCP98] Baruch Awerbuch, Bonnie Berger, Lenore Cowen, and David Peleg. Near-linear time con-struction of sparse neighborhood covers.
SIAM Journal on Computing , 28(1):263–277, 1998.Announced at FOCS 1993.[ACC +
96] Srinivasa Rao Arikati, Danny Z. Chen, L. Paul Chew, Gautam Das, Michiel H. M. Smid, andChristos D. Zaroliagis. Planar spanners and approximate shortest path queries among obstaclesin the plane. In
Algorithms - ESA ’96, Fourth Annual European Symposium, Barcelona, Spain,September 25-27, 1996, Proceedings , pages 514–528, 1996.[AGK +
98] Sanjeev Arora, Michelangelo Grigni, David R. Karger, Philip N. Klein, and Andrzej Woloszyn.A polynomial-time approximation scheme for weighted planar graph TSP. In
SODA , pages33–41, 1998.[AGMW07] Ittai Abraham, Cyril Gavoille, Dahlia Malkhi, and Udi Wieder. Strong-diameter decompositionsof minor free graphs. In
SPAA 2007: Proceedings of the 19th Annual ACM Symposium onParallel Algorithms and Architectures, San Diego, California, USA, June 9-11, 2007 , pages16–24, 2007. 12AKM +
87] Alok Aggarwal, Maria M. Klawe, Shlomo Moran, Peter W. Shor, and Robert E. Wilber. Geo-metric applications of a matrix-searching algorithm.
Algorithmica , 2:195–208, 1987. Announcedat SoCG 1986.[AP90] Baruch Awerbuch and David Peleg. Sparse partitions (extended abstract). In , pages 503–513, 1990.[BBJ +
02] Christopher L. Barrett, Keith R. Bisset, Riko Jacob, Goran Konjevod, and Madhav V. Marathe.Classical and contemporary shortest path problems in road networks: Implementation and ex-perimental analysis of the TRANSIMS router. In
Algorithms - ESA 2002, 10th Annual EuropeanSymposium, Rome, Italy, September 17-21, 2002, Proceedings , pages 126–138, 2002.[BG07] Zachary K. Baker and Maya Gokhale. On the acceleration of shortest path calculations intransportatoin networks. In
International Symposium on Field-Programmable Custom Comput-ing Machines , pages 23–32, 2007.[BLT07] Costas Busch, Ryan LaFortune, and Srikanta Tirthapura. Improved sparse covers for graphsexcluding a fixed minor. In
Proceedings of the Twenty-Sixth Annual ACM Symposium on Prin-ciples of Distributed Computing, PODC 2007, Portland, Oregon, USA, August 12-15, 2007 ,pages 61–70, 2007.[Cab06] Sergio Cabello. Many distances in planar graphs. In
Proceedings of the Seventeenth AnnualACM-SIAM Symposium on Discrete Algorithms, SODA 2006, Miami, Florida, USA, January22-26, 2006 , pages 1213–1220, 2006. A preprint of the journal version is available in the Uni-versity of Ljubljana preprint series, Vol. 47 (2009), 1089.[CCRK04] Manuel Costa, Miguel Castro, Antony I. T. Rowstron, and Peter B. Key. Pic: Practical internetcoordinates for distance estimation. In , pages 178–187, 2004.[Che95] Danny Ziyi Chen. On the all-pairs euclidean short path problem. In
Proceedings of the SixthAnnual ACM-SIAM Symposium on Discrete Algorithms , pages 292–301, 1995.[CR73] Stephen A. Cook and Robert A. Reckhow. Time bounded random access machines.
Journal ofComputer and System Sciences , 7(4):354–375, 1973. Announced at STOC 1972.[CX00] Danny Z. Chen and Jinhui Xu. Shortest path queries in planar graphs. In
Proceedings of theACM Symposium on Theory of Computing (STOC) , pages 469–478, 2000.[CZE +
11] Leonid Chindelevitch, Daniel Ziemek, Ahmed Enayetallah, Ranjit Randhawa, Ben Sidders,Christoph Brockel, and Enoch Huang. Causal reasoning on biological networks: Interpretingtranscriptional changes. In
Research in Computational Molecular Biology, 15th Annual Inter-national Conference, RECOMB 2011 , 2011.[DCKM04] Frank Dabek, Russ Cox, Frans Kaashoek, and Robert Morris. Vivaldi: a decentralized networkcoordinate system. In
SIGCOMM ’04: Proceedings of the 2004 conference on Applications,technologies, architectures, and protocols for computer communications , pages 15–26, 2004.[DF85] Martin E. Dyer and Alan M. Frieze. A simple heuristic for the p –centre problem. OperationsResearch Letters , 3(6):285–288, 1985.[DGJ08] Camil Demetrescu, Andrew V. Goldberg, and David S. Johnson. Implementation challenge forshortest paths. In
Encyclopedia of Algorithms . 2008.[DH04] Erik D. Demaine and Mohammad Taghi Hajiaghayi. Diameter and treewidth in minor-closedgraph families, revisited.
Algorithmica , 40(3):211–215, 2004.13Die05] Reinhard Diestel.
Graph Theory (Graduate Texts in Mathematics) . Springer, August 2005.[Dij59] Edsger Wybe Dijkstra. A note on two problems in connexion with graphs.
Numerische Mathe-matik , 1:269–271, 1959.[Dji96] Hristo Nikolov Djidjev. Efficient algorithms for shortest path problems on planar digraphs.In
Graph-Theoretic Concepts in Computer Science, 22nd International Workshop, WG ’96,Cadenabbia (Como), Italy, June 12-14, 1996, Proceedings , pages 151–165, 1996.[DKT10] Zdenek Dvorak, Daniel Kr´al, and Robin Thomas. Deciding first-order properties for sparsegraphs. In , pages 133–142, 2010.[DPZ91] Hristo Nikolov Djidjev, Grammati E. Pantziou, and Christos D. Zaroliagis. Computing shortestpaths and distances in planar graphs. In
Automata, Languages and Programming, 18th Inter-national Colloquium, ICALP91, Madrid, Spain, July 8-12, 1991, Proceedings , pages 327–338,1991.[DPZ95] Hristo Nikolov Djidjev, Grammati E. Pantziou, and Christos D. Zaroliagis. On-line and dynamicalgorithms for shorted path problems. In
STACS , pages 193–204, 1995.[DPZ00] Hristo Nikolov Djidjev, Grammati E. Pantziou, and Christos D. Zaroliagis. Improved algorithmsfor dynamic shortest paths.
Algorithmica , 28(4):367–389, 2000.[DSSW09] Daniel Delling, Peter Sanders, Dominik Schultes, and Dorothea Wagner. Engineering routeplanning algorithms. In
Algorithmics of Large and Complex Networks - Design, Analysis, andSimulation [DFG priority program 1126] , pages 117–139, 2009.[EBN09] Brian Eriksson, Paul Barford, and Robert D. Nowak. Estimating hop distance between arbitraryhost pairs. In
INFOCOM 2009. 28th IEEE International Conference on Computer Communi-cations, Joint Conference of the IEEE Computer and Communications Societies, 19-25 April2009, Rio de Janeiro, Brazil , pages 801–809, 2009.[Epp00] David Eppstein. Diameter and treewidth in minor-closed graph families.
Algorithmica , 27(3-4):275–291, 2000.[Erw00] Martin Erwig. The graph Voronoi diagram with applications.
Networks , 36(3):156–163, 2000.[FJ89] Greg N. Frederickson and Ravi Janardan. Efficient message routing in planar networks.
SIAMJ. Comput. , 18(4):843–857, 1989.[FJ90] Greg N. Frederickson and Ravi Janardan. Space-efficient message routing in c -decomposablenetworks. SIAM J. Comput. , 19(1):164–181, 1990.[FR06] Jittat Fakcharoenphol and Satish Rao. Planar graphs, negative weight edges, shortest paths, andnear linear time.
Journal of Computer and System Sciences , 72(5):868–889, 2006. Announcedat FOCS 2001.[Fre87] Greg N. Frederickson. Fast algorithms for shortest paths in planar graphs, with applications.
SIAM Journal on Computing , 16(6):1004–1022, 1987.[GKK +
01] Cyril Gavoille, Michal Katz, Nir A. Katz, Christophe Paul, and David Peleg. Approximatedistance labeling schemes. In
Algorithms - ESA 2001, 9th Annual European Symposium, Aarhus,Denmark, August 28-31, 2001, Proceedings , pages 476–487, 2001.[GKP95] Michelangelo Grigni, Elias Koutsoupias, and Christos H. Papadimitriou. An approximationscheme for planar graph tsp. In
FOCS , pages 640–645, 1995.14GKR01] Anupam Gupta, Amit Kumar, and Rajeev Rastogi. Traveling with a pez dispenser (or, routingissues in mpls). In
FOCS , pages 148–157, 2001.[Gol07] Andrew V. Goldberg. Point-to-point shortest path algorithms with preprocessing. In
SOF-SEM 2007: Theory and Practice of Computer Science, 33rd Conference on Current Trends inTheory and Practice of Computer Science, Harrachov, Czech Republic, January 20-26, 2007,Proceedings , pages 88–102, 2007.[GPPR04] Cyril Gavoille, David Peleg, St´ephane P´erennes, and Ran Raz. Distance labeling in graphs.
J.Algorithms , 53(1):85–112, 2004. Announced at SODA 2001.[HKRS97] Monika Rauch Henzinger, Philip Nathan Klein, Satish Rao, and Sairam Subramanian. Fastershortest-path algorithms for planar graphs.
Journal of Computer and System Sciences , 55(1):3–23, 1997. Announced at STOC 1994.[JHR96] Ning Jing, Yun-Wu Huang, and Elke A. Rundensteiner. Hierarchical optimization of optimalpath finding for transportation applications. In
CIKM ’96, Proceedings of the Fifth InternationalConference on Information and Knowledge Management, November 12 - 16, 1996, Rockville,Maryland, USA , pages 261–268, 1996.[Kar29] Frigyes Karinthy.
Lancszemek . 1929.[KK90] Maria M. Klawe and Daniel J. Kleitman. An almost linear time algorithm for generalized matrixsearching.
SIAM J. Discrete Math. , 3(1):81–97, 1990.[KK06] Lukasz Kowalik and Maciej Kurowski. Oracles for bounded-length shortest paths in planargraphs.
ACM Transactions on Algorithms , 2(3):335–363, 2006. Announced at STOC 2003.[KKS11] Kenichi Kawarabayashi, Philip Nathan Klein, and Christian Sommer. Linear-space approximatedistance oracles for planar, bounded-genus, and minor-free graphs. In
Automata, Languages andProgramming, 38th International Colloquium (ICALP) , pages 135–146, 2011.[Kle02] Philip Nathan Klein. Preprocessing an undirected planar network to enable fast approximatedistance queries. In
Proceedings of the Thirteenth Annual ACM-SIAM Symposium on DiscreteAlgorithms, January 6-8, 2002, San Francisco, CA, USA , pages 820–827, 2002.[Kle05] Philip Nathan Klein. Multiple-source shortest paths in planar graphs. In
Proceedings of theSixteenth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2005, Vancouver,British Columbia, Canada, January 23-25, 2005 , pages 146–155, 2005.[KLMN04] Robert Krauthgamer, James R. Lee, Manor Mendel, and Assaf Naor. Measured descent: A newembedding method for finite metrics. In , pages 434–443, 2004.[KP98] Shay Kutten and David Peleg. Fast distributed construction of small k -dominating sets andapplications. Journal of Algorithms , 28(1):40–66, 1998. Announced at PODC 1995.[KS98] Philip Nathan Klein and Sairam Subramanian. A fully dynamic approximation scheme forshortest paths in planar graphs.
Algorithmica , 22(3):235–249, 1998.[LT79] Richard J. Lipton and Robert Endre Tarjan. A separator theorem for planar graphs.
SIAMJournal on Applied Mathematics , 36(2):177–189, 1979.[Mil67] Stanley Milgram. The small world problem.
Psychology Today , 1:61–67, 1967.[Mil86] Gary L. Miller. Finding small simple cycle separators for 2-connected planar graphs.
Journalof Computer and System Sciences , 32(3):265–279, 1986. Announced at STOC 1984.15MS12] Shay Mozes and Christian Sommer. Exact distance oracles for planar graphs. In
Proceedingsof the 23rd ACM-SIAM Symposium on Discrete Algorithms , 2012. to appear, preprint availableon the arXiv http://arxiv.org/abs/1011.5549 .[New01] Mark E. J. Newman. Scientific collaboration networks. II. shortest paths, weighted networks,and centrality.
Physical Review E (Statistical, Nonlinear, and Soft Matter Physics) , 64, 2001.[Nus11] Yahav Nussbaum. Improved distance queries in planar graphs. In , pages 642–653, 2011.[NZ02] T. S. Eugene Ng and Hui Zhang. Predicting internet network distance with coordinates-basedapproaches. In
INFOCOM , 2002.[Pel00] David Peleg. Proximity-preserving labeling schemes.
J. Graph Theory , 33(3):167–176, 2000.Announced at WG 1999.[Ple80] J´an Plesn´ık. On the computational complexity of centers locating in a graph.
Applications ofMathematics , 25(6):445–452, 1980.[Ple87] J´an Plesn´ık. A heuristic for the p –center problems in graphs. Discrete Applied Mathematics ,17(3):263–268, 1987.[PR10] Mihai Patrascu and Liam Roditty. Distance oracles beyond the Thorup–Zwick bound. In , 2010.[RN04] Bryan Raney and Kai Nagel. Iterative route planning for large-scale modular transportationsimulations.
Future Generation Computer Systems , 20(7):1101–1118, 2004.[SS80] Mischa Schwartz and Thomas E. Stern. Routing techniques used in computer communicationnetworks.
IEEE Transactions on Communications , 28(4):539–552, Apr 1980.[ST08] Yuval Shavitt and Tomer Tankel. Hyperbolic embedding of internet graph for distance estima-tion and overlay construction.
IEEE/ACM Trans. Netw. , 16:25–36, February 2008.[Sto99] Bryan Stout. Smart move: Intelligent path-finding. Online at gamasu-tra.com/view/feature/3317/smart move intelligent .php, 1999.[STW04] Ralf Schenkel, Anja Theobald, and Gerhard Weikum. HOPI: An efficient connection index forcomplex XML document collections. In
Advances in Database Technology - EDBT 2004, 9thInternational Conference on Extending Database Technology, Heraklion, Crete, Greece, March14-18, 2004, Proceedings , pages 237–255, 2004.[STW05] Ralf Schenkel, Anja Theobald, and Gerhard Weikum. Efficient creation and incremental main-tenance of the HOPI index for complex XML document collections. In
Proceedings of the 21stInternational Conference on Data Engineering, ICDE 2005, 5-8 April 2005, Tokyo, Japan , pages360–371, 2005.[SVY09] Christian Sommer, Elad Verbin, and Wei Yu. Distance oracles for sparse graphs. In , pages 703–712, 2009.[Tho04] Mikkel Thorup. Compact oracles for reachability and approximate distances in planar digraphs.
Journal of the ACM , 51(6):993–1024, 2004. Announced at FOCS 2001.[TZ05] Mikkel Thorup and Uri Zwick. Approximate distance oracles.
Journal of the ACM , 52(1):1–24,2005. Announced at STOC 2001. 16Ung51] Peter Ungar. A theorem on planar graphs.
Journal of the London Mathematical Society , s1-26(4):256–262, 1951.[WN10a] Christian Wulff-Nilsen. Constant time distance queries in planar unweighted graphs with sub-quadratic preprocessing time, 2010. Computational Geometry, special issue on the 25th Euro-pean Workshop on Computational Geometry (to appear).[WN10b] Christian Wulff-Nilsen. Min st -cut of a planar graph in O ( n log log n ) time. CoRR ,abs/1007.3609, 2010.[Zar08] Christos Zaroliagis. Engineering algorithms for large network applications. In
Encyclopedia ofAlgorithms . 2008.[ZKM97] Athanasios K. Ziliaskopoulos, Dimitri Kotzinos, and Hani S. Mahmassani. Design and imple-mentation of parallel time-dependent least time path algorithms for intelligent transportationsystems applications.