Abstract 1 Introduction 2 Preliminaries 3 The main theorem 4 SSSP for lanky-graphs References

Linear Time Single-Source Shortest Path Algorithms in Euclidean Graph Classes

Joachim Gudmundsson ORCID The University of Sydney, Australia    Yuan Sha ORCID The University of Sydney, Australia    Sampson Wong ORCID The University of Copenhagen, Denmark
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 Division
Funding:
Joachim Gudmundsson: Supported by the Australian Government through the Australian Research Council (project number DP240101353).
Yuan Sha: Supported in part by the the Australian Research Council project number DP240101353.
Sampson Wong: Supported by the European Union’s Marie Skłodowska-Curie Actions Postdoctoral Fellowship, grant number 101146276.
Copyright and License:
[Uncaptioned image] © Joachim Gudmundsson, Yuan Sha, and Sampson Wong; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Design and analysis of algorithms
Related Version:
Full Version: http://arxiv.org/abs/2603.22948
Acknowledgements:
We would like to thank David Eppstein for his helpful discussions.
Editors:
Hee-Kap Ahn, Michael Hoffmann, and Amir Nayyeri

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 O(m+nlogn) time on graphs with m edges and n vertices. Dijkstra’s algorithm has a lower bound of Ω(nlogn) 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 O(nlogn) time SSSP algorithm for planar graphs, using r-division and graph contraction. An r-division of a planar graph divides the graph into O(n/r) regions such that each region has O(r) vertices and O(r) boundary vertices. Henzinger, Klein, Rao and Subramanian [12] use recursive division, a recursive version of r-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 d with radius r cuts at most τ edges longer than r. Lanky graphs unify several Euclidean graph classes including greedy spanners in d (any fixed d), low-density graphs in d ([1]) and greedy spanners of unit ball graphs in d. All these graph classes are O(1)-lanky graphs. The low-density graph in 2 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 d 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 2. They gave an O(nlog(i)n) time SSSP algorithm for greedy spanners in 2 (Corollary 21), where i is any constant and log(i)n denotes the i-times iterated logarithm. These efforts raise the following open problem.

Open Problem 2.

Is there a linear time SSSP algorithm for τ-lanky graphs in d?

Miller, Teng, Thurston and Vavasis [21, 18, 19] developed a geometric characterization of graphs that have a sublinear separator, using the notion of a k-ply neighborhood system. A k-ply neighborhood system is a collection of balls in d such that no point in the space is covered by more than k of the balls. They showed that (the intersection graphs of) k-ply neighborhood systems can model sphere-packings [18], k-nearest neighbor graphs [18] and finite element meshes [20]. They proved that k-ply neighborhood systems in d (and their intersection graphs) admit a sublinear separator that can be computed in linear time [18, 5].

Eppstein and Goodrich [3] use k-ply neighborhood system in 2 as a model of real-world road networks. They showed how to compute SSSP in randomized linear time, assuming the arrangement of the k-ply disk neighborhood system is given. Besides the assumption, their approach is specific to 2 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 k-ply neighborhood system in d, where d2?

Smith and Wormald [22] considered a collection of cubes in d 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 d (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 d?

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:

  1. (I)

    The graph G admits a sublinear separator that can be computed in linear time.

  2. (II)

    The combinatorially contracted graphs Gi of G (refer to Definition 8) are sparse, i.e., any k¯-vertex subgraph of Gi is sparse.

  3. (III)

    A closed surface in d (such as a Jordan curve in 2, a sphere in d) 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 G, and these associated vertices form the separator. Moreover, a random closed surface cuts a sublinear number of geometrical objects associated with the vertices in G in expectation.

  4. (IV)

    The graph class of G 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 k-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 d and edges are segments in d. Unfortunately, edge contraction in the Euclidean space does not preserve geometric properties and seems meaningless. For example, if an edge (a,b)d is contracted into a new vertex cd, any edge ea or eb attached to a or b would now be attached to c. There is no way to choose c so that the geometric properties of ea and eb (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 r-division of the contracted graph (for different contracted graphs the parameter r is different), it is normally required that any k-vertex subgraph of the contracted graph has a sublinear separator, for any k. 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 Gi and let the accumulated contraction size be the maximum number of vertices in G that are contracted into a vertex in Gi. We resolve this critical issue by requiring the division size r 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 k-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 (r-division).

Given any integer r>0, an r-division of an n-vertex graph divides the graph into O(n/r) regions where each region has O(r) vertices (edges) and O(r) boundary vertices. A region consists of its vertices and edges. A vertex is called a boundary vertex if it is contained in multiple regions.

Figure 1: Illustration of r-division. An r-division of the graph divides the graph into regions (enclosed in blue lines) with interior vertices (black) and boundary vertices (red). Modified figure from [7].
Definition 6 ((r,s)-division).

An (r,s)-division divides an n-vertex graph into O(n/r) regions, such that each region has rO(1)) vertices and O(s) 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 (r¯,f)-recursive division is defined as follows.

Definition 7 (recursive division [12]).

Let f be a non-decreasing positive integer function and r¯=(r0,r1,,rk) be a positive integer sequence. An (r¯,f)-recursive division of a graph consists of

  1. (i)

    an (rk,f(rk))-division of the graph, and

  2. (ii)

    an ((r0,r1,,rk1),f)-recursive division for each region in the (rk,f(rk))-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 (z0,z1,,zI) are chosen and a sequence of consecutive contractions are performed. Let G0=G and let {Gi|1iI+1} be the contracted graphs. Let Gi=Contract(Gi1,zi1) where the contraction algorithm Contract(Gi1,zi1) contracts Gi1 into Gi. The Contract(Gi1,zi1) algorithm calls the clustering algorithm in [6] to cluster the vertices of Gi1 into O(ni1/zi1) connected sets (ni1 is the number of vertices in Gi1) with each set containing O(zi1) vertices, then contracts each connected set into a vertex of Gi. The contraction phase ends when the last contracted graph GI+1 has at most n/logn vertices.

Definition 8.

Let G=G0 be a graph. We call {Gi|1iI+1} the (combinatorially) contracted graphs of G, where Gi=Contract(Gi1,zi1) for some integer zi1.

In the division phase, the contracted graphs G1,,GI+1 are considered in reverse order and a division is obtained for each of the contracted graphs. Let R be an n-vertex region with a set S of boundary vertices. The Divide(R,S,r) algorithm calls the separator algorithm recursively and computes an (r,s)-division of R (which divides R into subregions). A vertex in a subregion of R is a boundary vertex if it is contained in multiple subregions or it is in S. The division DI+1 of GI+1 consists of one region, i.e., GI+1. Starting from i=I, the division Di of Gi is obtained from the division Di+1 of Gi+1 by (i) calling Divide(Ri+1,Si+1,zi) for each region Ri+1 of Di+1 and (ii) expanding each vertex of the subregions in Ri+1 to the connected set in Gi 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 O(n) 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 O(n) time. In this way the edge-relaxation algorithm correctly computes the distance labels and takes only O(n) 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 ((r0,r1,,rk),f)-recursive division of the graph satisfying

rif(ri)8if(ri1)logri+1(j=1i+1logrj) (1)

for all ri’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 G be a Euclidean graph in d that satisfies the following criteria:

  1. (I)

    G admits an O(c1n11/d) balanced separator that can be computed in O(c2n) time.

  2. (II)

    The combinatorially contracted graphs Gi of G are sparse, i.e., any k¯-vertex subgraph of Gi has O(c3k¯) edges.

  3. (III)

    A closed surface ξ in d (such as a Jordan curve in 2, a sphere in d) is used to find the separator in (I). The closed surface cuts O(c4n11/d) geometrical objects (such as segments, balls) associated with the vertices in G, and these vertices form the separator. Moreover, a random closed surface cuts O(c4n11/d) geometrical objects (such as segments, balls) associated with the vertices in G in expectation.

  4. (IV)

    The graph class of G is subgraph-closed.

Here c1, c2, c3 and c4 are constants. In criteria (I) and (III) we set the exponent of n to be 11/d for ease of exposition. Adapting to any constant <1 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 G into a graph with maximum degree 3. We perform the following transformations on the Euclidean graph G. For each vertex v of degree D greater than 3, let u1,,uD be a cyclic ordering of the vertices adjacent to v. Replace v by a cycle v1,,vD,v1 where each of the vertices vi (1iD) is arbitrarily close to v. Replace edge (ui,v) with new edge (ui,vi). Assume that G has O(c0n) edges (c0 is constant), the transformed graph has O(c0n) vertices whose maximum degree is 3.

The main task is to compute, in linear time, a recursive division of G that satisfies Inequalities (1). To compute this recursive division, we compute a sequence of combinatorially contracted graphs of G and construct the auxiliary representative graphs of the contracted graphs. In Section 3.1, we use the sparsity of the contracted graphs Gi (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 G 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 G1,G2,,GI+1 are constructed consecutively such that Gi=Contract(Gi1,zi1), 1iI+1, where Contract(Gi1,zi1) is the contraction algorithm. For each contracted graph Gi, 1iI+1, we construct its representative graph RGi.

Each edge of Gi has a representative edge in RGi, which is an edge in G. The representative graph RGi consists of the representative edges of the edges in Gi and their endpoints. The representative edge of an edge e in Gi is denoted as repGi(e). The representative edge of an edge in G0=G is the edge itself, and the representative graph of G0 is G0.

The representative graph RGi is constructed from the contracted graph Gi1 and its representative graph RGi1, as follows. Consider a vertex u in Gi and let csetGi1(u) denote the connected set of vertices in Gi1 from which u is contracted. An edge e=(u,v) in Gi corresponds to the set of edges in Gi1 between csetGi1(u) and csetGi1(v).

Let REPGi(e)={repGi1((u,v))|ucsetGi1(u),vcsetGi1(v),(u,v)E(Gi1)} denote the set of the representative edges of the edges in Gi1 between csetGi1(u) and csetGi1(v). See Figure 2(a) for an illustration. For each edge e=(u,v) in E(Gi), choose an arbitrary edge in REPGi(e) as its representative edge. The chosen representative edges and their endpoints form the representative graph RGi of Gi.

Figure 2: (a) csetGi1(u) is enclosed in red, csetGi1(v) is enclosed in blue. The representative edge of (u,v) in Gi is the purple edge. (b) Illustrating the proof of Lemma 11. The closed surface ξ is the dashed circle. The red vertex is added to S since its Γ() has one point inside 𝐛(o,r) and two points outside ξ.

According to criterion (II), RGi1 has O(c3ni1) edges and vertices. It is then observed that RGi is constructed from Gi1 and RGi1 in O(c3ni1) time where ni1 is the number of vertices in Gi1. Note that RGi may not be connected.

Observation 10.

The representative graph RGi of Gi can be constructed in O(c3ni1) time.

3.2 Separators of the contracted graphs

The parameters zi used in the contraction phase, 0iI, are set as in [12]:

z0 =2, (2)
zi =7zi11/5,1iI. (3)

Let αi1=j<izj be the accumulated contraction sizes for the contracted graph Gi, and let βi1=zi13d2. In [12], parameters zi (0iI) are used for division in the division phase. In contrast, we use βi in place of zi as division parameters in the division phase.

A subgraph of Gi with O(αi1) vertices may not admit a sublinear separator. However, the next lemma shows that any subgraph of Gi with Ω(βi1) vertices admit a sublinear separator.

Lemma 11.

Let H be any subgraph of Gi with k=Ω(βi1) vertices. A balanced separator of H of size O((c1c311/d+c4)k(113d2))222We did not try to optimize the size of the separator. can be computed in O(c2c3k) time given H and RH.

Proof.

Let RH denote the representative graph of H, which is a subgraph of RGi. According to criterion (II), RH has O(c3k) vertices. Run the separator algorithm on RH (criterion (I)), noting that RH is a subgraph of G, thus it also admits sublinear separator (criteria (I) and (IV)). Let ξ be the closed surface (criterion (III)) used to find the separator of RH. Let S be the desired balanced separator of H, initially being empty. Vertices are added to S in two steps.

  1. (1)

    For any vertex v in Gi, let consetG(v) be the (accumulative) connected set of vertices in G that are contracted into v in the contraction phase. For any point p in RGi, let rev(p) be the vertex v in Gi such that pconsetG(v). Note that there is exactly one such vertex v. In the first step, for each geometrical object (criterion (III)) that is cut by ξ, add its associated rev() to S. For example, if the geometrical object is a ball and p is the ball’s center, add rev(p) to S.

  2. (2)

    For any vertex v in Gi, let Γ(v) be (the set of) endpoints of edges in RGi that belong to consetG(v) (we have Γ(v)consetG(v)). In the second step, partition the vertices of H 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 S. See Figure 2(b) for an illustration.

We prove that S is a balanced separator of H with O((c1c311/d+c4)k(113d2)) vertices. We first prove the size of S. Since RH is a subgraph of G with O(c3k) edges and vertices, the closed surface ξ cuts O(c1(c3k)11/d)=O(c1c311/dk11/d) geometrical objects associated with the vertices of RGi. Since Γ(v) is a subset of consetG(v) and the vertices in consetG(v) are connected in G, the vertex v belongs to group (iii) only if one or more geometrical objects in (associated with) the subgraph of G induced by vertices in consetG(v) is cut by ξ. Let GH be the subgraph of G from which H is contracted. GH has O(αi1k) vertices where αi1=j<izj. Since ξ is a random closed surface in GH, according to criterion (III), ξ cuts O(c4(αi1k)11/d) geometrical objects associated with the vertices of GH in expectation. Since zi=7zi11/5, αi1=O(βi113d2)=O(k13d2). Thus ξ cuts order of

c4(αi1k)11/d c4k(1+13d2)(11/d) (4)
=c4k12d1d(3d2)c4k1dd(3d2)=c4k113d2 (5)

geometrical objects associated with GH. The number of vertices in group (iii) is thus O(c4k(113d2)). Therefore, the size of S is O((c1c311/d+c4)k(113d2)).

Next, we prove that S is a balanced separator. Let A be the set of vertices in Gi which belong to group (i) and are not added to S. Let B be the set of vertices in Gi which belong to group (ii) and are not added to S. We claim that the removal of S separates A and B. We prove the claim by contradiction.

Each edge in H corresponds to a unique edge in RH. Each vertex v in H corresponds to a set of vertices Γ(v) in RH. Let a be a vertex in A and let b be a vertex in B. By the definition of A and B, a is in group (i) so all vertices in Γ(a) are inside ξ and b is in group (ii) so all vertices in Γ(b) are outside ξ. If there is an edge in H between a and b, then there is a unique edge (ar,br) in RH such that arΓ(a) and brΓ(b). Since ar is inside ξ and br is outside ξ, either the geometrical object associated with ar or the geometrical object associated with br would be cut by ξ, which implies that either a or b were added to S. A contradiction.

Since ξ separates vertices of RH in a balanced way and |S| is sublinear in k, |A| and |B| are proportional to each other. Therefore, S is a balanced separator.

According to criterion (I), running the separator algorithm on RH takes O(c2c3k) time. This finishes the proof of the lemma.

3.3 Recursive division

The recursive division of G is computed in two phases. In the contraction phase, the contraction parameters zi are set as Equations (2) and (3), and the contracted graphs G1,,GI+1 are computed consecutively by the Contract() algorithm. In the division phase, we choose the parameters for dividing Gi, 1iI+1, to be βi1=zi13d2. Since the minimum subgraph of Gi that will be divided has Ω(βi1) vertices, we can apply Lemma 11 recursively to obtain the division Di of Gi.

To analyze the computing time of the recursive division, we analyze the division Di of Gi, and the division of G it induces. Recall that the division Di is derived from the division Di+1 of Gi+1. Let Ri+1 be a region in Di+1. The Divide(Ri+1,Si+1,βi) algorithm divides Ri+1 into subregions each of which has at most βi=zi3d2 vertices and has O((c1c311/d+c4)zi3d3) boundary vertices. Each expanded subregion, which is a region in Di, has at most βi3zi=3zi3d1 vertices and O((c1c311/d+c4)zi3d2) boundary vertices. Let ki denote the number of regions in the division Di, 0iI+1, and let ni be the number of vertices in Gi. 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 Di is O(ni/zi3d1).

From the proof of Lemma 12, we can also prove that the sum of the vertices of all regions in Di is O(ni). Now we can analyze the computing time of the recursive division of G.

Lemma 13.

Let G be an Euclidean graph in d that satisfies the criteria (I)-(IV) and has O(c0n) edges. A recursive division of G can be computed in O(c0c2c3dn) time.

Proof.

We calculate the costs in steps.

  1. 1.

    The number of edges in Gi, i1, is O(c3ni) by criterion (II). Thus, computing the contracted graphs G1,,GI+1 takes time O(c0n+c3n1++c3nI), which is O(c0c3n).

  2. 2.

    By Observation 10, computing the representative graphs RG1,,RGI+1 takes O(c0n+c3n1++c3nI)=O(c0c3n) time.

  3. 3.

    For iI, divide a region Ri+1 in the division Di+1 of Gi+1 takes O(c2c3|Ri+1|log|Ri+1|) time, by recursively applying Lemma 11.

  4. 4.

    Each region Ri+1 in Di+1 has O(zi+13d1) vertices. Summing over all regions in Di+1, dividing Di+1 takes O(c2c3dRi+1|Ri+1|logzi+1) time, which is O(c2c3dni+1logzi+1) by the fact that Ri+1|Ri+1| is O(ni+1).

  5. 5.

    The time to obtain the division Di of Gi after dividing Di+1 is O(c3ni). Computing all the divisions Di, 1iI+1, thus takes O(c2c3dinilogzi) time. Since nini1/zi1c0n/zi1 and logzi is O(zi11/5), O(c2c3dinilogzi) is O(c2c3dc0n)=O(c0c2c3dn).

Therefore, the total running time is O(c0c2c3dn), 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 O(c0n) time.

Lemma 14.

The recursive division of G satisfies Inequalities (1).

Proof.

Since njnj1/zj1, we have nic0n/j<izj. Note also that each vertex in Gi expands to at most j<i3zj vertices of G.

Consider the division Di of Gi, and the division of G it induces. The division Di consists of O(ni/zi3d1) regions (Lemma 12), each of which has O(zi3d1) vertices and O((c1c311/d+c4)zi3d2) boundary vertices. Thus it induces a division of G consisting of O(ni/zi3d1) regions, each of which has O(zi3d1j<i3zj) vertices and O((c1c311/d+c4)zi3d2j<i3zj) boundary vertices.

Let ri=zi3d1j<izj, and let

f(ri)=c(c1c311/d+c4)zi3d2j<izj.

The induced division of G has O(c0n/ri) regions each having O(ri3i) vertices and O(f(ri)) boundary vertices. Since 3ijizj, each region has O(ri2) vertices.

We have

rif(ri)=zi3d1c(c1c311/d+c4)zi3d2=zic(c1c311/d+c4).

By the setting of zi, we have zi1=Θ(log5zi) and j<izj=O(log6zi). Therefore

f(ri1)=c(c1c311/d+c4)zi13d2j<i1zj=O((c1c311/d+c4)log5(3d2)zilog6logzi).

We have logri+1=O(logzi+13d1)=O(dzi1/5) and j=1i+1logrj=O(dzi1/5). Since c1,c3,c4,d are all constants, for a sufficiently large constant c^, Inequalities (1) hold for all ri exceeding c^.

We have obtained the main theorem of this section.

Theorem 15.

Let G be an Euclidean graph in d (d is fixed) that satisfies criteria (I)-(IV) and has O(c0n) edges. Then a (r¯,f)-recursive division of G satisfying Inequalities (1) can be computed in O(c0c2c3dn) time.

As a corollary,

Corollary 16.

Let G be an Euclidean graph in d (d is fixed) that satisfies criteria (I)-(IV) and has O(c0n) edges. Single-source shortest path in G can be computed in O(c0c2c3dn) 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 G embedded in an Euclidean or a doubling metric is τ-lanky, if for any r>0 and any ball of radius r, there are at most τ edges of length at least r 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 O(1)-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 d of low fractal dimension and greedy spanners for unit ball graphs in d.

To unify the construction of sublinear separators for lanky graphs in both Euclidean and doubling metrics, Le and Than proposed the (η,d)-packable metric space. We say that a set of points P is r-separated if the distance between any two points in P is at least r.

Definition 18.

A metric (X,δX) is (η,d)-packable if for any r(0,1] and any r-separated set PX contained in a unit ball, |P|η(1r)d. We call d 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 (η,d)-packable metric space.

Theorem 19 ([15]).

Let (X,δX) be an (η,d)-packable metric space and let G=(V,E,w) be a τ-lanky graph in (X,δX). G has a (11η2d+1)-balanced separator S such that S has size O(τη8dn11/d). S can be computed in O((η38d+τ)n) expected time.

The separator algorithm in the proof of Theorem 19 consists of two steps.

  1. 1.

    Compute a ball 𝐛(v,r) such that 𝐛(v,r) contains at least nη2d+1 vertices of G and the concentric ball 𝐛(v,2r) contains at most n2 vertices of G, using the randomized algorithm in [11].

  2. 2.

    Choose r=(1+σ)r where σ(0,1] is chosen uniformly at random. Let 𝐛(v,r) be the random ball. Compute the set of edges E of G that are cut by 𝐛(v,r). Return the endpoints of the edges in E as the separator.

With constant probability, E has size O(τη8dn11/d). This is proved by partitioning the edges in E 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 𝐛(x,y) cuts O(τη8dn11/d) edges of G in expectation.

Until now, we have verified that a τ-lanky graph in an (η,d)-packable metric space satisfies criteria (I) and (III) in Section 3 with c1=τη8d, c2=η38d+τ and c4=τη8d. The closed surface ξ used to find the separator is a ball. The geometrical objects cut by ξ are segments, which are edges in G.

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 G is the minimum number of planar subgraphs that G can be decomposed into. Let θ(G) denote the thickness of a graph G. Determining the thickness of a general graph is NP-hard [17]. However, for graphs with maximum degree Δ, Halton [10] proved that if G is a graph with maximum degree Δ then θ(G)Δ/2. It follows from the definition of lanky graph that a τ-lanky graph G has maximum degree τ. Therefore the thickness of G is at most τ/2.

Thus, the τ-lanky graph G can be decomposed into τ/2 planar subgraphs, which we call H1,,Hτ/2. Let each of H1,,Hτ/2 have V(G) as its vertex set. Use the clustering inside the Contract(G,z0) algorithm to cluster vertices in V(G). For each Hj, 1jτ/2, shrink each cluster into a vertex while retaining edges between the clusters (shrunk vertices). Let Shrink(Hj,z0) be the shrunk graph of Hj. Then Contract(G,z0) is the union of Shrink(Hj,z0), 1jτ/2 (removing multi-edges).

Since Shrink(Hj,z0) is a planar graph, G1=Contract(G,z0) has O(τn1) edges where n1 is the number of vertices in G1. Similarly Gi, i2, is the union of the iteratively shrunk graphs of Hj, 1jτ/2, thus has O(τni) edges where ni is the number of vertices in Gi.

Lemma 20.

The contracted graph Gi of G, 1iI+1, has O(τni) edges.

Following similar ideas, we get:

Corollary 21.

If H is a subgraph of Gi with k¯ vertices then H has O(τk¯) edges.

This justifies that a τ-lanky graph satisfies criterion (II) with c3=τ.

Since G has maximum degree τ, G has O(τn) edges so c0=τ. Plugging the constants into Theorem 15, we have

Theorem 22.

Let G be a τ-lanky graph in an (η,d)-packable metric space. A (r¯,f)-recursive division of G satisfying Inequalities (1) can be computed in O((τ2η38d+τ3)dn) randomized time.

As a corollary, we get

Corollary 23.

Let G be a τ-lanky graph in an (η,d)-packable metric space. Single-source shortest path in G can be computed in O((τ2η38d+τ3)dn) 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.