Linear Time Single-Source Shortest Path Algorithms in Euclidean Graph Classes
Abstract
In the celebrated paper of Henzinger, Klein, Rao and Subramanian (1997), it was shown that planar graphs admit a linear time single-source shortest path algorithm. Their algorithm unfortunately does not extend to Euclidean graph classes. We give criteria and prove that any Euclidean graph class satisfying the criteria admits a linear time single-source shortest path algorithm. As a main ingredient, we show that the contracted graphs of these Euclidean graph classes admit sublinear separators.
Keywords and phrases:
Graph algorithms, Single-Source Shortest Path, Euclidean Graphs, Recursive DivisionFunding:
Joachim Gudmundsson: Supported by the Australian Government through the Australian Research Council (project number DP240101353).Copyright and License:
2012 ACM Subject Classification:
Theory of computation Design and analysis of algorithmsAcknowledgements:
We would like to thank David Eppstein for his helpful discussions.Editors:
Hee-Kap Ahn, Michael Hoffmann, and Amir NayyeriSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Computing shortest paths is a fundamental problem in graph theory and in network analysis. Given a graph with non-negative edge weights, the single-source shortest path (SSSP) problem is to compute the shortest paths from a source vertex to all the other vertices in the graph. The SSSP problem has found numerous applications in transportation networks, geographic information systems, motion planning, social networks, chip design, and so on.
The most well-known SSSP algorithm is Dijkstra’s algorithm [2]. Using a Fibonacci heap [8], Dijkstra’s algorithm runs in time on graphs with edges and vertices. Dijkstra’s algorithm has a lower bound of in the comparison computer model, since the algorithm sorts the vertices of the graph by their distances from the source vertex.
In planar graphs, faster algorithms are known. Frederickson [7] gave an time SSSP algorithm for planar graphs, using -division and graph contraction. An -division of a planar graph divides the graph into regions such that each region has vertices and boundary vertices. Henzinger, Klein, Rao and Subramanian [12] use recursive division, a recursive version of -division, and an edge-relaxation algorithm on the recursive division to give an optimal linear-time SSSP algorithm for planar graphs. The algorithms leverage two key properties of planar graphs: (i) the graph class is minor-closed [13], and (ii) the graphs admit a sublinear separator that can be computed in linear time [16]. Tazari and Müller-Hannemann [23] showed how to use knitted H-partition to avoid introducing arbitrarily large minors and extend the linear time algorithm of HKRS [12] to any minor-closed graph class. A natural open problem is to ask: which other graph classes admit a linear time SSSP algorithm?
Open Problem 1.
Other than planar graphs and minor-closed graphs, which graph classes admit a linear time single-source shortest path algorithm?
Practical applications have motivated researchers to study Open Problem 1. For example, road networks are non-planar, and it is unknown if road networks are minor-closed, yet computing shortest paths remains a fundamental problem on road networks.
Le and Than [15] proposed -lanky graphs, which are any Euclidean graph where any ball in with radius cuts at most edges longer than . Lanky graphs unify several Euclidean graph classes including greedy spanners in (any fixed ), low-density graphs in ([1]) and greedy spanners of unit ball graphs in . All these graph classes are -lanky graphs. The low-density graph in is argued to be a realistic model for road networks [1].
In the conference version of their paper, Le and Than [15] proved that lanky graphs in admit sublinear separators. They claimed that their (expected) linear time sublinear separator algorithm for lanky graphs implies a linear time SSSP algorithm by applying HKRS’s algorithm [12]. Unfortunately, this claim has a gap. While lanky graphs admit sublinear separators, they are not minor-closed. Therefore, HKRS’s algorithm does not directly extend to lanky graphs. The SSSP claim is retracted in the full version of the paper [14]. Prior to their paper, Eppstein and Khodabandeh [4] studied the edge crossing patterns of greedy spanners in . They gave an time SSSP algorithm for greedy spanners in (Corollary 21), where is any constant and denotes the -times iterated logarithm. These efforts raise the following open problem.
Open Problem 2.
Is there a linear time SSSP algorithm for -lanky graphs in ?
Miller, Teng, Thurston and Vavasis [21, 18, 19] developed a geometric characterization of graphs that have a sublinear separator, using the notion of a -ply neighborhood system. A -ply neighborhood system is a collection of balls in such that no point in the space is covered by more than of the balls. They showed that (the intersection graphs of) -ply neighborhood systems can model sphere-packings [18], -nearest neighbor graphs [18] and finite element meshes [20]. They proved that -ply neighborhood systems in (and their intersection graphs) admit a sublinear separator that can be computed in linear time [18, 5].
Eppstein and Goodrich [3] use -ply neighborhood system in as a model of real-world road networks. They showed how to compute SSSP in randomized linear time, assuming the arrangement of the -ply disk neighborhood system is given. Besides the assumption, their approach is specific to and does not extend to higher dimensions. This raises the following open problem.
Open Problem 3.
Is there a linear time SSSP algorithm for the intersection graph of a -ply neighborhood system in , where ?
Smith and Wormald [22] considered a collection of cubes in such that no point in the space is covered by more than of the cubes. Here we call the collection of cubes a -thick cubical neighborhood system. The authors proved that -thick cubical neighborhood systems in (and their intersection graphs) admit a sublinear separator that can be computed in randomized linear time. We consider the following open problem.
Open Problem 4.
Is there a linear time SSSP algorithm for the intersection graph of a -thick cubical neighborhood system in ?
1.1 Our contribution
Our main technical contribution is to compute a recursive division in linear time, for any Euclidean graph class that satisfies the following criteria:
-
(I)
The graph admits a sublinear separator that can be computed in linear time.
-
(II)
The combinatorially contracted graphs of (refer to Definition 8) are sparse, i.e., any -vertex subgraph of is sparse.
-
(III)
A closed surface in (such as a Jordan curve in , a sphere in ) is used to find the separator in (I). The closed surface cuts a sublinear number of geometrical objects (such as segments, balls) associated with the vertices in , and these associated vertices form the separator. Moreover, a random closed surface cuts a sublinear number of geometrical objects associated with the vertices in in expectation.
-
(IV)
The graph class of is subgraph-closed.
Compared with HKRS [12], criteria (II)-(IV) replace the minor-closed condition, and can be satisfied by a family of non-minor-closed graph classes. Criteria (I)-(IV) are formally stated in Section 3, in which we use criteria (I)-(IV) to compute a recursive division of the Euclidean graph class in linear time. Once we have the recursive division111To be precise, the recursive division should satisfy the conditions in Inequalities (1)., we can apply HKRS’s edge-relaxation algorithm on it to compute SSSP in linear time.
In particular, we show that -lanky graphs, the intersection graphs of -ply neighborhood systems and the intersection graphs of -thick cubical neighborhood systems all satisfy the above criteria. Thus we can compute a recursive division (and SSSP) for these Euclidean graph classes in linear time. In this way, we answer Open Problems 2, 3 and 4 affirmatively.
Our approach to constructing a recursive division in linear time uses contracted graphs of the Euclidean graph classes. The main technical challenges of using contracted graphs for Euclidean graph classes are:
-
Edge contraction for planar or minor-closed graphs is a combinatorial operation. The contracted graphs in HKRS [12] are obtained by such combinatorial edge contractions. In HKRS’s approach, the resulting contracted graphs must remain in the original graph class to guarantee that they have sublinear separators. This is not the case for Euclidean graph classes.
-
In Euclidean graph classes, vertices are points in and edges are segments in . Unfortunately, edge contraction in the Euclidean space does not preserve geometric properties and seems meaningless. For example, if an edge is contracted into a new vertex , any edge or attached to or would now be attached to . There is no way to choose so that the geometric properties of and (e.g. length, intersections) are preserved.
Although edge contractions in the Euclidean space are incompatible with the geometric properties of straight line embeddings, we overcome this obstacle by performing edge contractions combinatorially and proving that 1) the combinatorially contracted graphs admit sublinear balanced separators, and 2) such balanced separators can be computed in time linear to the size of the contracted graph. These properties are unknown before and we believe that they are of independent interest.
1.2 Techniques
A recursive division of a graph divides the graph into regions, then divides the regions into subregions, and so on recursively. There are two approaches to computing a recursive division of planar graph in linear time. The first approach is to adapt Goodrich’s [9] recursive separator decomposition algorithm to compute a recursive division of the planar graph in linear time. Goodrich’s recursive separator decomposition algorithm emulates Lipton and Tarjan’s planar separator algorithm, maintains tree structures used in LT’s algorithm and other tree structures dynamically for the divided pieces during decomposition. In this way a separator of the divided piece can be computed in time sublinear to the size of the piece. The second approach, attributed to Frederickson [7] and HKRS [12], is to contract the graph consecutively into a sequence of contracted graphs, then in reverse order divide and expand the contracted graphs to get a recursive division. The first approach relies on specific properties of planar graphs and maintaining spanning trees dynamically. It seems infeasible to use similar ideas on many other graph classes. The second approach relies on edge contraction and the minor-closed property of planar graphs. However, Euclidean graph classes are not minor-closed, yet edge contraction in the Euclidean space seems meaningless.
We compute a recursive division of the Euclidean graph classes by (1) performing edge contractions on the Euclidean graph combinatorially rather than geometrically and (2) proving that the combinatorially contracted graphs have sublinear separators that can be computed in linear time. To prove that the combinatorially contracted graphs have sublinear separators, for each contracted graph we construct an auxiliary Euclidean graph which we call the representative graph of the contracted graph. A representative graph of the contracted graph is a sampled subgraph of the original Euclidean graph. Rather than using the contracted graphs, we use (properties of) their representative graphs to prove that the contracted graphs have sublinear separators.
Moreover, to compute an -division of the contracted graph (for different contracted graphs the parameter is different), it is normally required that any -vertex subgraph of the contracted graph has a sublinear separator, for any . This is because when dividing the contracted graphs into smaller and smaller pieces, it is required that the smaller pieces still have sublinear separators. However, the contracted graphs of the Euclidean graph classes do not have this property, even if we use their representative graphs to find the separators. Let the contracted graph be and let the accumulated contraction size be the maximum number of vertices in that are contracted into a vertex in . We resolve this critical issue by requiring the division size to be some constant power of the accumulated contraction size. This requirement forces us to use different parameters for contractions and divisions. This is in contrast to the case in HKRS [12]. Despite this modification, we prove that the effect is sufficient by showing that the induced recursive division is still suitable for applying HKRS’s edge-relaxation algorithm in linear time.
1.3 Paper Organization
In Section 2 we give preliminaries that are required for later sections. In Section 3 we prove the main theorem. In Sections 4 we consider SSSP in -lanky graphs. Due to space limit, we defer the related work section to the full version of the paper. We defer the section of SSSP in the intersection graph of -ply neighborhood system and the section of SSSP in the intersection graph of -thick cubical neighborhood system to the full version of the paper.
2 Preliminaries
Definition 5 (-division).
Given any integer , an -division of an -vertex graph divides the graph into regions where each region has vertices (edges) and boundary vertices. A region consists of its vertices and edges. A vertex is called a boundary vertex if it is contained in multiple regions.
Definition 6 (-division).
An -division divides an -vertex graph into regions, such that each region has vertices and boundary vertices.
A recursive division of a graph divides the graph into regions, then divides the regions into subregions, and so on recursively. Formally, an -recursive division is defined as follows.
Definition 7 (recursive division [12]).
Let be a non-decreasing positive integer function and be a positive integer sequence. An -recursive division of a graph consists of
-
(i)
an -division of the graph, and
-
(ii)
an -recursive division for each region in the -division.
A recursive division can be computed in two phases, the contraction phase and the division phase. In the contraction phase, a sequence of non-decreasing integers are chosen and a sequence of consecutive contractions are performed. Let and let be the contracted graphs. Let =Contract where the contraction algorithm Contract contracts into . The Contract algorithm calls the clustering algorithm in [6] to cluster the vertices of into connected sets ( is the number of vertices in ) with each set containing vertices, then contracts each connected set into a vertex of . The contraction phase ends when the last contracted graph has at most vertices.
Definition 8.
Let be a graph. We call the (combinatorially) contracted graphs of , where for some integer .
In the division phase, the contracted graphs are considered in reverse order and a division is obtained for each of the contracted graphs. Let be an -vertex region with a set of boundary vertices. The Divide() algorithm calls the separator algorithm recursively and computes an -division of (which divides into subregions). A vertex in a subregion of is a boundary vertex if it is contained in multiple subregions or it is in . The division of consists of one region, i.e., . Starting from , the division of is obtained from the division of by (i) calling Divide() for each region of and (ii) expanding each vertex of the subregions in to the connected set in that is contracted into the vertex during the contraction phase. Thus a tree representing the recursive division, called the recursive division tree, is obtained.
HKRS’s edge-relaxation algorithm.
Inspired by Frederickson’s work, Henzinger, Klein, Rao and Subramanian [12] developed an optimal time SSSP algorithm for planar graphs with non-negative edge weights. The algorithm consists of two parts. The first part computes a recursive division of the planar graph in linear time. The second part runs an edge-relaxation algorithm on the recursive division to compute the SSSP. Each node in the recursive division tree represents a region/subregion in the division. Each node (region/subregion) is associated with a heap, whose elements are (the current) distance values to some vertices in the region. The elements in the heap of a region are the min-elements of its subregions’ heaps. This forms a hierarchy of heaps. Inside a region, edges are relaxed in analogy to Dijkstra’s algorithm, while distance values in the associated heaps are updated. In contrast to Dijkstra’s algorithm, the algorithm does not perform edge relaxations for each edge of the region, but only performs a certain number of edge relaxations and then jumps to another region. The numbers of edge relaxations performed inside the regions are carefully coordinated so that (i) when the algorithm terminates, the distance labels of the vertices are the exact distances from the source vertex, (ii) heap operations on large heaps (which are expensive) can be charged to heap operations on small heaps so that the overall heap operations take only time. In this way the edge-relaxation algorithm correctly computes the distance labels and takes only time.
A main contribution of HKRS’s work is the proof of the following fact. Note that the fact holds for any graph as long as a recursive division satisfying the conditions is given.
Fact 9 (Section 3 in [12]).
Suppose we are given a graph and an -recursive division of the graph satisfying
| (1) |
for all ’s exceeding a constant. Then applying the edge-relaxation algorithm on the recursive division takes time linear to the size of the graph.
3 The main theorem
In this section, let be a Euclidean graph in that satisfies the following criteria:
-
(I)
admits an balanced separator that can be computed in time.
-
(II)
The combinatorially contracted graphs of are sparse, i.e., any -vertex subgraph of has edges.
-
(III)
A closed surface in (such as a Jordan curve in , a sphere in ) is used to find the separator in (I). The closed surface cuts geometrical objects (such as segments, balls) associated with the vertices in , and these vertices form the separator. Moreover, a random closed surface cuts geometrical objects (such as segments, balls) associated with the vertices in in expectation.
-
(IV)
The graph class of is subgraph-closed.
Here , , and are constants. In criteria (I) and (III) we set the exponent of to be for ease of exposition. Adapting to any constant is immediate.
As mentioned in Section 1.2, we will use the edge-relaxation algorithm of HKRS once a recursive division satisfying Inequalities (1) is given. HKRS’s edge-relaxation algorithm assumes that the input graph has maximum degree at most 3. Hence, we first transform into a graph with maximum degree 3. We perform the following transformations on the Euclidean graph . For each vertex of degree greater than , let be a cyclic ordering of the vertices adjacent to . Replace by a cycle where each of the vertices () is arbitrarily close to . Replace edge with new edge . Assume that has edges ( is constant), the transformed graph has vertices whose maximum degree is 3.
The main task is to compute, in linear time, a recursive division of that satisfies Inequalities (1). To compute this recursive division, we compute a sequence of combinatorially contracted graphs of and construct the auxiliary representative graphs of the contracted graphs. In Section 3.1, we use the sparsity of the contracted graphs (criterion (II)) to construct their representative graphs. In Section 3.2 we prove that the (combinatorially) contracted graphs have sublinear separators and such sublinear separators can be found efficiently using their representative graphs. Finally, in Section 3.3, we prove that a recursive division of satisfying Inequalities (1) can be computed in linear time and conclude the linear time SSSP algorithm.
3.1 The contracted graphs and their representative graphs
Recall that the recursive division can be computed using a two-phase algorithm. In the contraction phase of the recursive division algorithm, the contracted graphs are constructed consecutively such that , , where Contract is the contraction algorithm. For each contracted graph , , we construct its representative graph .
Each edge of has a representative edge in , which is an edge in . The representative graph consists of the representative edges of the edges in and their endpoints. The representative edge of an edge in is denoted as . The representative edge of an edge in is the edge itself, and the representative graph of is .
The representative graph is constructed from the contracted graph and its representative graph , as follows. Consider a vertex in and let denote the connected set of vertices in from which is contracted. An edge in corresponds to the set of edges in between and .
Let denote the set of the representative edges of the edges in between and . See Figure 2(a) for an illustration. For each edge = in , choose an arbitrary edge in as its representative edge. The chosen representative edges and their endpoints form the representative graph of .
According to criterion (II), has edges and vertices. It is then observed that is constructed from and in time where is the number of vertices in . Note that may not be connected.
Observation 10.
The representative graph of can be constructed in time.
3.2 Separators of the contracted graphs
The parameters used in the contraction phase, , are set as in [12]:
| (2) | ||||
| (3) |
Let be the accumulated contraction sizes for the contracted graph , and let . In [12], parameters () are used for division in the division phase. In contrast, we use in place of as division parameters in the division phase.
A subgraph of with vertices may not admit a sublinear separator. However, the next lemma shows that any subgraph of with vertices admit a sublinear separator.
Lemma 11.
Let be any subgraph of with vertices. A balanced separator of of size 222We did not try to optimize the size of the separator. can be computed in time given and .
Proof.
Let denote the representative graph of , which is a subgraph of . According to criterion (II), has vertices. Run the separator algorithm on (criterion (I)), noting that is a subgraph of , thus it also admits sublinear separator (criteria (I) and (IV)). Let be the closed surface (criterion (III)) used to find the separator of . Let be the desired balanced separator of , initially being empty. Vertices are added to in two steps.
-
(1)
For any vertex in , let be the (accumulative) connected set of vertices in that are contracted into in the contraction phase. For any point in , let be the vertex in such that . Note that there is exactly one such vertex . In the first step, for each geometrical object (criterion (III)) that is cut by , add its associated to . For example, if the geometrical object is a ball and is the ball’s center, add to .
-
(2)
For any vertex in , let be (the set of) endpoints of edges in that belong to (we have ). In the second step, partition the vertices of into three groups: (i) those such that all points in its lie inside , (ii) those such that all points in its lie outside , and (iii) those such that some points in its lie inside and some points in its lie outside . Add vertices in group (iii) to . See Figure 2(b) for an illustration.
We prove that is a balanced separator of with vertices. We first prove the size of . Since is a subgraph of with edges and vertices, the closed surface cuts geometrical objects associated with the vertices of . Since is a subset of and the vertices in are connected in , the vertex belongs to group (iii) only if one or more geometrical objects in (associated with) the subgraph of induced by vertices in is cut by . Let be the subgraph of from which is contracted. has vertices where . Since is a random closed surface in , according to criterion (III), cuts geometrical objects associated with the vertices of in expectation. Since , . Thus cuts order of
| (4) | ||||
| (5) |
geometrical objects associated with . The number of vertices in group (iii) is thus . Therefore, the size of is .
Next, we prove that is a balanced separator. Let be the set of vertices in which belong to group (i) and are not added to . Let be the set of vertices in which belong to group (ii) and are not added to . We claim that the removal of separates and . We prove the claim by contradiction.
Each edge in corresponds to a unique edge in . Each vertex in H corresponds to a set of vertices in . Let be a vertex in and let be a vertex in . By the definition of and , is in group (i) so all vertices in are inside and is in group (ii) so all vertices in are outside . If there is an edge in between and , then there is a unique edge in such that and . Since is inside and is outside , either the geometrical object associated with or the geometrical object associated with would be cut by , which implies that either or were added to . A contradiction.
Since separates vertices of in a balanced way and is sublinear in , and are proportional to each other. Therefore, is a balanced separator.
According to criterion (I), running the separator algorithm on takes time. This finishes the proof of the lemma.
3.3 Recursive division
The recursive division of is computed in two phases. In the contraction phase, the contraction parameters are set as Equations (2) and (3), and the contracted graphs are computed consecutively by the Contract() algorithm. In the division phase, we choose the parameters for dividing , , to be . Since the minimum subgraph of that will be divided has vertices, we can apply Lemma 11 recursively to obtain the division of .
To analyze the computing time of the recursive division, we analyze the division of , and the division of it induces. Recall that the division is derived from the division of . Let be a region in . The Divide algorithm divides into subregions each of which has at most vertices and has boundary vertices. Each expanded subregion, which is a region in , has at most vertices and boundary vertices. Let denote the number of regions in the division , , and let be the number of vertices in . We can prove, using similar arguments as in the proof of Lemma 4.1 in [12] that
Lemma 12.
The number of regions in the division is .
From the proof of Lemma 12, we can also prove that the sum of the vertices of all regions in is . Now we can analyze the computing time of the recursive division of .
Lemma 13.
Let be an Euclidean graph in that satisfies the criteria (I)-(IV) and has edges. A recursive division of can be computed in time.
Proof.
We calculate the costs in steps.
-
1.
The number of edges in , , is by criterion (II). Thus, computing the contracted graphs takes time , which is .
-
2.
By Observation 10, computing the representative graphs takes time.
-
3.
For , divide a region in the division of takes time, by recursively applying Lemma 11.
-
4.
Each region in has vertices. Summing over all regions in , dividing takes time, which is by the fact that is .
-
5.
The time to obtain the division of after dividing is . Computing all the divisions , , thus takes time. Since and is , is .
Therefore, the total running time is , which finishes the proof of the lemma.
Finally, we prove that the recursive division satisfies Inequalities (1), which will imply that applying HKRS’s edge-relaxation algorithm on it will take time.
Lemma 14.
The recursive division of satisfies Inequalities (1).
Proof.
Since , we have . Note also that each vertex in expands to at most vertices of .
Consider the division of , and the division of it induces. The division consists of regions (Lemma 12), each of which has vertices and boundary vertices. Thus it induces a division of consisting of regions, each of which has vertices and boundary vertices.
Let , and let
The induced division of has regions each having vertices and boundary vertices. Since , each region has vertices.
We have
By the setting of , we have and . Therefore
We have and . Since are all constants, for a sufficiently large constant , Inequalities (1) hold for all exceeding .
We have obtained the main theorem of this section.
Theorem 15.
Let be an Euclidean graph in ( is fixed) that satisfies criteria (I)-(IV) and has edges. Then a -recursive division of satisfying Inequalities (1) can be computed in time.
As a corollary,
Corollary 16.
Let be an Euclidean graph in ( is fixed) that satisfies criteria (I)-(IV) and has edges. Single-source shortest path in can be computed in time.
Note that since edge-relaxation is comparison-based and does not make any assumptions about edge weights, the edge weights of the Euclidean graph can be any nonnegative value, not just the Euclidean distance between the endpoints.
4 SSSP for lanky-graphs
Lanky graphs were introduced by Le and Than [15] when studying sublinear separators of greedy spanners in Euclidean and doubling metrics.
Definition 17.
A graph embedded in an Euclidean or a doubling metric is -lanky, if for any and any ball of radius , there are at most edges of length at least that are cut by the ball. An edge is cut by a ball if one endpoint of the edge is inside the ball and the other endpoint of the edge is outside the ball.
A number of graphs are -lanky graphs, including greedy spanners in Euclidean and doubling metrics, low-density graphs in Euclidean [1] and doubling metrics, greedy spanners for point sets in of low fractal dimension and greedy spanners for unit ball graphs in .
To unify the construction of sublinear separators for lanky graphs in both Euclidean and doubling metrics, Le and Than proposed the -packable metric space. We say that a set of points is -separated if the distance between any two points in is at least .
Definition 18.
A metric is -packable if for any and any -separated set contained in a unit ball, . We call the packing dimension of the metric and the packing constant of the metric.
The authors proved the following separator theorem for lanky graphs in an -packable metric space.
Theorem 19 ([15]).
Let be an -packable metric space and let be a -lanky graph in . has a -balanced separator such that has size . can be computed in expected time.
The separator algorithm in the proof of Theorem 19 consists of two steps.
-
1.
Compute a ball such that contains at least vertices of and the concentric ball contains at most vertices of , using the randomized algorithm in [11].
-
2.
Choose where is chosen uniformly at random. Let be the random ball. Compute the set of edges of that are cut by . Return the endpoints of the edges in as the separator.
With constant probability, has size . This is proved by partitioning the edges in into groups of exponentially increasing lengths and summing over the groups. From the proof of Theorem 19, it can be inferred that a random ball cuts edges of in expectation.
Until now, we have verified that a -lanky graph in an -packable metric space satisfies criteria (I) and (III) in Section 3 with , and . The closed surface used to find the separator is a ball. The geometrical objects cut by are segments, which are edges in .
From the definition of lanky graphs, it is easy to verify they are subgraph-closed. Thus criterion (IV) is satisfied. It remains to verify criterion (II).
4.1 Sparsity of the contracted graphs
We relate the sparsity of the combinatorially contracted graphs of a lanky graph to the graph-theoretic property thickness. The thickness of a graph is the minimum number of planar subgraphs that can be decomposed into. Let denote the thickness of a graph . Determining the thickness of a general graph is NP-hard [17]. However, for graphs with maximum degree , Halton [10] proved that if is a graph with maximum degree then . It follows from the definition of lanky graph that a -lanky graph has maximum degree . Therefore the thickness of is at most .
Thus, the -lanky graph can be decomposed into planar subgraphs, which we call . Let each of have as its vertex set. Use the clustering inside the Contract algorithm to cluster vertices in . For each , , shrink each cluster into a vertex while retaining edges between the clusters (shrunk vertices). Let Shrink be the shrunk graph of . Then Contract is the union of Shrink, (removing multi-edges).
Since Shrink is a planar graph, has edges where is the number of vertices in . Similarly , , is the union of the iteratively shrunk graphs of , , thus has edges where is the number of vertices in .
Lemma 20.
The contracted graph of , , has edges.
Following similar ideas, we get:
Corollary 21.
If is a subgraph of with vertices then has edges.
This justifies that a -lanky graph satisfies criterion (II) with .
Since has maximum degree , has edges so . Plugging the constants into Theorem 15, we have
Theorem 22.
Let be a -lanky graph in an -packable metric space. A -recursive division of satisfying Inequalities (1) can be computed in randomized time.
As a corollary, we get
Corollary 23.
Let be a -lanky graph in an -packable metric space. Single-source shortest path in can be computed in time.
References
- [1] Daniel Chen, Anne Driemel, Leonidas J. Guibas, Andy Nguyen, and Carola Wenk. Approximate map matching with respect to the Fréchet distance. In Proceedings of the Thirteenth Workshop on Algorithm Engineering and Experiments, ALENEX 2011, Holiday Inn San Francisco Golden Gateway, San Francisco, California, USA, January 22, 2011, pages 75–83. SIAM, 2011. doi:10.1137/1.9781611972917.8.
- [2] Edsger W Dijkstra. A note on two problems in connexion with graphs. Numerische mathematik, 1(1):269–271, 1959. doi:10.1007/BF01386390.
- [3] David Eppstein and Michael T. Goodrich. Studying (non-planar) road networks through an algorithmic lens. In 16th ACM SIGSPATIAL International Symposium on Advances in Geographic Information Systems, ACM-GIS 2008, page 16. ACM, 2008. doi:10.1145/1463434.1463455.
- [4] David Eppstein and Hadi Khodabandeh. On the edge crossings of the greedy spanner. In 37th International Symposium on Computational Geometry, SoCG 2021, volume 189 of LIPIcs, pages 33:1–33:17. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPIcs.SOCG.2021.33.
- [5] David Eppstein, Gary L. Miller, and Shang-Hua Teng. A deterministic linear time algorithm for geometric separators and its applications. In Proceedings of the Ninth Annual Symposium on Computational Geometry, pages 99–108. ACM, 1993. doi:10.1145/160985.161005.
- [6] Greg N. Frederickson. Data structures for on-line updating of minimum spanning trees, with applications. SIAM J. Comput., 14(4):781–798, 1985. doi:10.1137/0214055.
- [7] Greg N. Frederickson. Fast algorithms for shortest paths in planar graphs, with applications. SIAM J. Comput., 16(6):1004–1022, 1987. doi:10.1137/0216064.
- [8] Michael L. Fredman and Robert Endre Tarjan. Fibonacci heaps and their uses in improved network optimization algorithms. In 25th Annual Symposium on Foundations of Computer Science, West Palm Beach, Florida, USA, 24-26 October 1984, pages 338–346. IEEE Computer Society, 1984. doi:10.1109/SFCS.1984.715934.
- [9] Michael T. Goodrich. Planar separators and parallel polygon triangulation. J. Comput. Syst. Sci., 51(3):374–389, 1995. doi:10.1006/JCSS.1995.1076.
- [10] John H. Halton. On the thickness of graphs of given degree. Inf. Sci., 54(3):219–238, 1991. doi:10.1016/0020-0255(91)90052-V.
- [11] Sariel Har-Peled and Manor Mendel. Fast construction of nets in low-dimensional metrics and their applications. SIAM J. Comput., 35(5):1148–1184, 2006. doi:10.1137/S0097539704446281.
- [12] Monika Rauch Henzinger, Philip N. Klein, Satish Rao, and Sairam Subramanian. Faster shortest-path algorithms for planar graphs. J. Comput. Syst. Sci., 55(1):3–23, 1997. doi:10.1006/JCSS.1997.1493.
- [13] Casimir Kuratowski. Sur le probleme des courbes gauches en topologie. Fundamenta mathematicae, 15(1):271–283, 1930.
- [14] Hung Le and Cuong Than. Greedy spanners in Euclidean spaces admit sublinear separators. CoRR, abs/2107.06490, 2021. arXiv:2107.06490.
- [15] Hung Le and Cuong Than. Greedy spanners in Euclidean spaces admit sublinear separators. In Proceedings of the 2022 ACM-SIAM Symposium on Discrete Algorithms, SODA 2022, pages 3287–3310. SIAM, 2022. doi:10.1137/1.9781611977073.130.
- [16] R. J. Lipton and R. E. Tarjan. A separator theorem for planar graphs. SIAM J. Appl. Math, 36(2):177–189, 1979.
- [17] Anthony Mansfield. Determining the thickness of graphs is np-hard. Math. Proc. Cambridge Philos. Soc., 9:9–23, 1983.
- [18] Gary L. Miller, Shang-Hua Teng, William P. Thurston, and Stephen A. Vavasis. Separators for sphere-packings and nearest neighbor graphs. J. ACM, 44(1):1–29, 1997. doi:10.1145/256292.256294.
- [19] Gary L. Miller, Shang-Hua Teng, William P. Thurston, and Stephen A. Vavasis. Geometric separators for finite-element meshes. SIAM J. Sci. Comput., 19(2):364–386, 1998.
- [20] Gary L. Miller, Shang-Hua Teng, William P. Thurston, and Stephen A. Vavasis. Geometric separators for finite-element meshes. SIAM J. Sci. Comput., 19(2):364–386, 1998.
- [21] Gary L. Miller, Shang-Hua Teng, and Stephen A. Vavasis. A unified geometric approach to graph separators. In 32nd Annual Symposium on Foundations of Computer Science, San Juan, Puerto Rico, 1-4 October 1991, pages 538–547. IEEE Computer Society, 1991. doi:10.1109/SFCS.1991.185417.
- [22] Warren D. Smith and Nicholas C. Wormald. Geometric separator theorems & applications. In 39th Annual Symposium on Foundations of Computer Science, FOCS 1998, pages 232–243. IEEE Computer Society, 1998. doi:10.1109/SFCS.1998.743449.
- [23] Siamak Tazari and Matthias Müller-Hannemann. A faster shortest-paths algorithm for minor-closed graph classes. In Graph-Theoretic Concepts in Computer Science, 34th International Workshop, WG 2008, volume 5344 of Lecture Notes in Computer Science, pages 360–371, 2008. doi:10.1007/978-3-540-92248-3_32.
