Distributed Construction of Light Networks
Michael Elkin, Arnold Filtser, Ofer Neiman

TL;DR
This paper presents the first efficient distributed algorithms in the CONGEST model for constructing light spanners and shallow light trees in general graphs, achieving near-optimal parameters and extending to doubling graphs.
Contribution
It introduces distributed algorithms for light spanners and SLTs with near-optimal parameters, including for doubling graphs, and generalizes net construction to weighted graphs.
Findings
Constructed a $(2k-1)(1+ ext{epsilon})$-spanner with lightness $O(k imes n^{1/k})$ in near-optimal rounds.
Developed an $( ext{alpha}, 1+O(1)/( ext{alpha}-1))$-SLT in near-linear rounds.
Designed a distributed algorithm for nets in weighted graphs, extending previous unweighted algorithms.
Abstract
A -{\em spanner} of a weighted graph is a subgraph that approximates all pairwise distances up to a factor of . The {\em lightness} of is defined as the ratio between the weight of to that of the minimum spanning tree. An -{\em Shallow Light Tree} (SLT) is a tree of lightness , that approximates all distances from a designated root vertex up to a factor of . A long line of works resulted in efficient algorithms that produce (nearly) optimal light spanners and SLTs. Some of the most notable algorithmic applications of light spanners and SLTs are in distributed settings. Surprisingly, so far there are no known efficient distributed algorithms for constructing these objects in general graphs. In this paper we devise efficient distributed algorithms in the CONGEST model for constructing light spanners and SLTs, with near optimal…
| Object | Distortion | Lightness | Size | Run time |
| \hlineB3 Spanner | ||||
| SLT | NA | |||
| -net | NA | NA | NA | |
| Spanner |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Distributed Construction of Light Networks
Michael Elkin Supported in part by ISF grant (724/15). Ben-Gurion University of the Negev. Email: {elkinm,arnoldf,neimano}@cs.bgu.ac.il
Arnold Filtser Supported in part by ISF grant (1817/17) and in part by BSF grant 2015813 Ben-Gurion University of the Negev. Email: {elkinm,arnoldf,neimano}@cs.bgu.ac.il
Ofer Neiman Supported in part by ISF grant (1817/17) and in part by BSF grant 2015813 Ben-Gurion University of the Negev. Email: {elkinm,arnoldf,neimano}@cs.bgu.ac.il
Abstract
A -spanner of a weighted graph is a subgraph that approximates all pairwise distances up to a factor of . The lightness of is defined as the ratio between the weight of to that of the minimum spanning tree. An -Shallow Light Tree (SLT) is a tree of lightness , that approximates all distances from a designated root vertex up to a factor of . A long line of works resulted in efficient algorithms that produce (nearly) optimal light spanners and SLTs.
Some of the most notable algorithmic applications of light spanners and SLTs are in distributed settings. Surprisingly, so far there are no known efficient distributed algorithms for constructing these objects in general graphs. In this paper we devise efficient distributed algorithms in the CONGEST model for constructing light spanners and SLTs, with near optimal parameters. Specifically, for any and , we show a -spanner with lightness can be built in rounds (where and is the hop-diameter of ). In addition, for any we provide an -SLT in rounds. The running time of our algorithms cannot be substantially improved.
We also consider spanners for the family of doubling graphs, and devise a rounds algorithm in the CONGEST model that computes a -spanner with lightness . As a stepping stone, which is interesting in its own right, we first develop a distributed algorithm for constructing nets (for arbitrary weighted graphs), generalizing previous algorithms that worked only for unweighted graphs.
1 Introduction
Let be a graph with edge weights . For , denote by the shortest path distance in between with respect to these weights. A subgraph with is called a -spanner of , if for all , . The parameter is called the stretch of . The most relevant and studied attributes of a -spanner are its sparsity (i.e., the number of edges ), and the total weight of the edges . Since any spanner with finite stretch must be connected, its weight is at least the weight of the Minimum Spanning Tree (MST) of , and the lightness of is defined as .
Another useful notion of a subgraph that approximately preserves distances was introduced in [ABP92, KRY95]. Given a weighted graph with a designated root vertex , an -Shallow-Light Tree (SLT) of is a spanning tree which has lightness , and approximates all distances from to the other vertices up to a factor of .
In this paper we focus on the distributed CONGEST model of computation, where each vertex of the graph hosts a processor, and these processors communicate with each other in discrete rounds via short messages on the graph edges (typically the message size is bits). We devise efficient distributed algorithms that construct light spanners and shallow-light trees for general graphs, and also light spanners for doubling graphs. See Table 1 for a succinct summary.
1.1 Light Spanners for General Graphs
Spanners are a fundamental combinatorial object. They have been extensively studied and have found numerous algorithmic applications [Awe85, PS89, PU89, ADD*+*93, Coh98, ACIM99, EP01, BS07, Elk07, EZ06, TZ06, Pet09, DGPV08, Pet10, MPVX15, AB16, EN17a]. The basic greedy algorithm [ADD*+*93], for a graph with vertices and any integer , provides a -spanner with edges, which is best possible (assuming Erdos’ girth conjecture). Spanners of low weight have received much attention in recent years [CDNS95, ES16, ENS15, Got15, CW18, BFN16, ADF*+*17, BLW17, FN18, BLW19], and are particularly useful in a distributed setting; efficient broadcast protocols, network synchronization and computing global functions [ABP90, ABP92], network design [MP98, SCRS01] and routing [WCT02] are a few examples. The state-of-the-art is a -spanner of [CW18] with lightness , for any constant . In [FS16] it was shown that the greedy algorithm is existentially optimal, hence it also achieves such lightness.
The greedy algorithm provides a satisfactory answer to the existence of sparse and light spanners, but not to efficiently producing such a spanner (because the greedy algorithm has inherently large running time). Indeed, the problem of devising fast algorithms to construct spanners is very important in some algorithmic applications. For light spanners, [ES16] showed a near-linear time algorithm that constructs a -spanner with edges and lightness . The sparsity and lightness were improved (still in near-linear time) in [ADF*+*17] to and respectively. In the distributed setting, [BS07] devised a randomized algorithm for a -spanner with edges in rounds in the CONGEST model. This was recently improved for unweighted graphs by [MPVX15, EN17b] to edges. However, the weight of these spanners is not bounded. Surprisingly, none of the previous works in the CONGEST model has a bound on the lightness of spanners for general graphs.
Our results.
Unlike the sparsity of spanners, which can be preserved via a local algorithm, the lightness is a global measure. Indeed, we observe that the lower bound of [SHK*+*12] on the number of rounds required for any polynomial approximation of the MST weight, implies a lower bound for computing light spanners. In particular, for a graph with vertices and hop-diameter111The hop diameter of a weighted graph is the diameter of the underlying unweighted graph. , any CONGEST algorithm requires at least rounds for computing a light spanner (with any polynomial lightness).222The notations and hide polylogarithmic factors.
We provide the first algorithm with sub-linear number of rounds for constructing light spanners for general graphs in the CONGEST model. Specifically, for any integer parameter and constant , we devise a randomized algorithm that w.h.p. outputs a -spanner with edges and lightness , within rounds in the CONGEST model, thus nearly matching the lower bounds.
1.2 Shallow-Light Trees
Shallow-Light trees are widely used for various distributed tasks, such as network design, broadcasting in ad-hoc networks and multicasting [PV04, BDS04, YCC06]. In [KRY95], an optimal tradeoff between the lightness of the SLT to the stretch of the root distances was obtained. Specifically, for any they obtained an SLT with lightness and stretch . In addition, [KRY95] exhibited an efficient algorithm for constructing such a tree in near-linear time, and also in rounds in the PRAM (CREW) model. However, their techniques are inapplicable to the CONGEST model, and it remained an open question whether an SLT can be built efficiently in this model. (Roughly speaking, [KRY95] used pointer jumping techniques that require communication between non-adjacent vertices, hence this is unsuitable for the CONGEST model.)
Our result.
Here we answer this question, and devise a distributed deterministic algorithm, that for any , outputs an SLT with lightness and stretch , within rounds. Once again, any distributed SLT algorithm must take at least rounds [Elk04, SHK*+*12]. Thus our result is nearly optimal.
1.3 Light Spanners for Doubling Graphs
A graph has doubling dimension if for every vertex and radius , the ball333A ball is defined as . can be covered by balls of radius . For instance, a -dimensional space has , and every graph with vertices has . This is a standard and well-studied notion of ”growth restriction” on a graph [Ass83, GKL03, HM06], and it is believed that such graphs occur often in real-life networks and data [TSL00, NZ02]. One notable motivation for light spanners in doubling graphs444A graph family is called doubling if its members have constant doubling dimension. is their application for polynomial approximation schemes for the traveling salesperson and related problems (see, e.g., [Kle05, Got15]). While spanners with stretch and constant lightness have been known to exists in low dimensional Euclidean space for a while [DHN93, ADD*+*93], only recently such -spanners with constant lightness have been discovered for doubling graphs [Got15]. The lightness was improved by [BLW19] to the optimal .
In the distributed LOCAL model555The LOCAL model is similar to CONGEST, but the size of messages is not bounded., [DPP06] devised light spanners for a certain graph family, called unit ball graphs in a doubling metric space666A unit ball graph is a graph whose vertices lie in a metric space, and edges connect vertices of distance at most 1. In this scenario the metric is doubling.. Specifically, they showed an rounds algorithm for a -spanner with lightness , where is the aspect ratio of (the ratio between the largest to smallest edge weights). We note that to obtain such a low number of rounds, they imposed restrictions on both the distributed model and the graph family.
Essentially all spanners for doubling graphs use nets in their construction. An -net of a graph is a set which is both -covering: for all there is with , and -separated: for all , . The standard definition of a net is when , but we shall allow as well. The usefulness of nets in doubling graphs stems from the fact that any net restricted to a ball of certain radius has a small cardinality. While a simple greedy algorithm yields a net, it is not suitable for distributed models due to it being inherently sequential.
A ruling set is a net in an unweighted graph. There have been several works that compute a ruling set in distributed settings. In [AGLP89], a deterministic algorithm for a -ruling set running in rounds was developed, and a tradeoff extending this result was shown in [SEW13]. A consequence of the work of [AGLP89] provides a -ruling set computed within rounds. A randomized algorithm for a -ruling set was given in [Lub86] with rounds, and the running time was improved for graphs of small maximum degree in [BEPS12, Gha16]. However, all these results apply only for unweighted graphs. The problem of efficiently constructing a net in distributed models remained unanswered.
Our results.
We design a randomized distributed algorithm, that for a given graph with vertices and hop-diameter and any , w.h.p. finds an -net within rounds in the CONGEST model. We show that the running time must be at least for general graphs, via a reduction to the problem of approximating the MST weight. So our running time is best possible (up to lower order terms). However, we do not know if a faster algorithm is achievable when the input graph has a constant doubling dimension.
Then, we utilize this algorithm for constructing nets, and devise a randomized algorithm that for a graph with doubling dimension and any , w.h.p. produces a -spanner with lightness in rounds.
1.4 Overview of Techniques
In this section we provide an overview of the algorithms, techniques and ideas used in the paper. For the sake of brevity, some parts are over-simplified, or even completely neglected.
Eulerian Tour of the MST.
Let be the MST. The first step in both our constructions of an SLT and a light spanner for general graphs is a distributed computation of a DFS traversal of . As an outcome of this computation, each vertex knows all its visiting times in . Our algorithm is a simplification of a similar algorithm from [EN18].
In order to compute , we note that the distributed MST algorithm of [KP98] induces a partition of into fragments, each with hop-diameter . We then create a virtual tree whose vertices are the fragments. As has only vertices, it is possible to broadcast to the entire graph. We first compute a DFS tour locally in each fragment, and broadcast the lengths of these tours. We use this information and the known structure of to globally compute the DFS visit times for the ”roots” of the fragments. Finally, locally in each fragment, we extend this to a traversal of the entire tree .
Shallow Light Tree (SLT).
An SLT is a combination of the MST and a shortest path tree (SPT) rooted in . As currently the fastest known exact SPT algorithms [GL18, Elk17a] require more than rounds, we use instead an approximate SPT , . Our basic strategy (following [ABP92, KRY95]) is to choose a subset of vertices called break points (BP). Then we construct a subgraph by taking , and adding to the unique path in from to every break point . The SLT is computed as yet another approximate SPT rooted in , but now using edges only.
Let be an Eulerian traversal of the MST (each vertex may appear several times). Ideally, we would like to choose such that (1) every pair of consecutive points is far, specifically , and (2) every node has a nearby break point , specifically . The first condition is used to bound the lightness, while the second condition is used to bound the stretch.
The choice of BP described above can be easily performed in a greedy manner by sequentially traversing the nodes in . Unfortunately, we cannot implement this sequential algorithm efficiently in a distributed manner. Instead, we break into intervals, each containing at most nodes. We add the first node in each interval to a temporary break point set . Using these temporary break points as an anchor, we perform the sequential algorithm simultaneously in all intervals, and add (permanent) break points. Finally, we broadcast to , which performs a local computation in order to sparsify this set. Specifically, it chooses a subset of to serve as permanent break points using the sequential algorithm, and broadcasts the chosen break points to the entire network. Intuitively, we are building a separate SLT for the set , which filters out some of its points. Our analysis shows that this two-step choice of break points loses only a constant factor in the lightness. However, this constant factor loss implies that obtaining the full tradeoff (i.e., lightness close to 1) cannot be done trivially as before. To remedy this, we apply a reduction from [BFN16] adapted to the CONGEST model.
Light Spanner for General Graphs.
Our basic approach is similar to the algorithms of [CDNS95, ES16, ENS15]. We divide the graph edges into buckets, according to their weight. Denote by the weight of the MST multiplied by 2 (for technical reasons). In the lowest level, we have all the edges of weight at most . For this bucket we simply use the distributed spanner of [BS07] for weighted graphs. Even though the algorithm of [BS07] provides an upper bound only the sparsity of the spanner, we can use their construction as the weight of the edges in this bucket is sufficiently small.
Consider the -th bucket , where all edges have weight in . We use the MST traversal to divide the graph into clusters of diameter . Next, define an unweighted cluster graph whose vertices are the clusters, and inter-cluster edges are taken only from . Intuitively, the diameter of clusters is an -fraction of the edge weights, so using the MST edges to travel inside clusters will increase the distance by at most a factor.
We then simulate the spanner algorithm of [EN17b] for unweighted graphs on , and obtain a spanner . For every edge , we add a corresponding edge to the final spanner. The main technical part is this simulation, which is difficult since the communication graph is not the graph for which we want a spanner. We distinguish between small and large clusters; for the former we use to pipeline information inside the clusters, while for the latter we convergecast all the relevant information to a single vertex, and then broadcast the decisions made by this vertex to the entire graph. For this approach to be efficient we need to refine the partition to clusters, so that small clusters will have bounded hop-diameter, and also ensure there are few large clusters, to bound the convergecast and broadcast time.
Net Construction.
Our algorithm for an -net imitates, on a high level, previous ruling sets algorithms (like [Lub86, MRSZ11]).777In fact, these papers showed algorithms for Maximal Independent Sets (MIS), but a -ruling set is an MIS for the graph . Ideally, the net construction works as follows. Initially, all vertices are active. In each round, sample a permutation . Each (active) vertex which is the first in the permutation with respect to (w.r.t.) its -neighborhood joins the net. Every vertex for which some vertex from its -neighborhood joined the net, becomes inactive. Repeat until all vertices become inactive.
In order to check whether a vertex is the first in the permutation w.r.t. its -neighborhood, we use Least Element (LE) lists [Coh97]. Given a permutation , a vertex belongs to the LE list of a vertex , if is the first in the permutation among all the vertices at distance at most from . In particular, given the LE list of , we can check whether it should join the net or not. Efficient distributed computation of an LE list is presented in [FL16]. However, rather than computing the list w.r.t. the graph , [FL16] compute LE list w.r.t. an auxiliary graph that approximates distances up to a factor. Fortunately, we can cope with the approximation by taking . Once we compute the lists and choose which vertices will be added to the net, we compute an (approximate) shortest path tree rooted in the net points. All vertices at distance at most from net points become inactive. This concludes a single round. After rounds all vertices become inactive w.h.p.. The running time is dominated by the LE lists computations.
We also provide a lower bound on the number of rounds required to construct a net, by a reduction to the problem of approximating the weight of an MST.
Light Spanner for Doubling Metrics.
The basic idea for constructing spanners for doubling metrics is quite simple and well known. For every distance scale , construct an -net where , and connect by a shortest path every pair of net points at distance at most . The stretch bound follows standard arguments, based on the covering property of nets. To prove lightness, we will use a packing argument, stating that every net point has at most other net points at distance , and every net point must contribute to the MST weight at least .
The main issue is implementing this algorithm efficiently in the CONGEST model. An efficient distributed construction of nets was already described above, and the remaining obstacle is to connect nearby net points. The problem is that the shortest path between nearby net points may contain many vertices, and we cannot afford to add these sequentially. We resolve this issue by conducting a -bounded multi-source approximate shortest paths (from each net point) based on hopsets. Roughly speaking, a hopset is a set of (virtual) edges added to the graph, so that every pair has an approximate shortest path containing few edges. We use the path-reporting hopsets of [EN16], so that the actual paths are added to the spanner. The running time is indeed bounded: we use the packing property of nets to show that every vertex participates in a bounded number of such approximate shortest path computations.
1.5 Organization
In Section 3 we devise an Eulerian traversal of the MST, which will be used in the following sections. In Section 4 we present our distributed construction of an SLT. In Section 5 we show our light spanners for general graphs. The construction of nets for general graphs is shown in Section 6, and their application to light spanners for doubling graphs is in Section 7. Finally, the lower bounds are in Section 8.
2 Preliminaries
Let be a weighted graph with vertices, and let be the induced shortest path metric with respect to the weights. We assume that the minimal edge weight is 1, and that the maximal weight is . For denote by its set of neighbors, and by . For a set , the induced graph on is . The weak diameter of is and its strong diameter is . The hop-diameter of is defined as its diameter while ignoring the weights.
In the CONGEST model of distributed computation, the graph represents a network, and every vertex initially knows only the edges incident on it. Communication between vertices occurs in synchronous rounds. On every round, each vertex may send a small message to each of its neighbors. Every message has size at most bits. The time complexity is measured by the number of rounds it takes to complete a task (we assume local computation does not cost anything). Often the time depends on , the number of vertices, and , the hop-diameter of the graph. The following lemma formalizes the broadcast ability of a distributed network (see, e.g., [Pel00]).
Lemma 1**.**
Suppose every holds messages, each of words888We assume a word size is bits., for a total of . Then all vertices can receive all the messages within rounds.
A Breadth First Search (BFS) tree of of hop-diameter (ignoring the weights) can be computed in rounds. Since all our algorithms have a larger running time, we always assume that we have such a tree at our disposal.
3 Eulerian Tour of the MST
Let be a weighted graph on vertices with hop-diameter . Let be the minimum spanning tree of with a root vertex . We compute an Eulerian path drawn by taking a preorder traversal of . The order between the children of a vertex is determined using their id. We remark that in [EN18] it was described how to compute a DFS search of a tree in rounds. However, that paper also had the property that each vertex uses at most words of memory. We give the full details here for completeness, and also since the presentation is somewhat simpler without the bound on the memory usage.
For a vertex , let be the time visiting in . The total length of the traversal (that is ) equals . The number of appearances of each vertex in equals to its degree in (other that the root who has appearances). We will treat each such appearance as a separate vertex. That is is a path graph. See figure on the right for an illustration. For a vertex , let be the set of appearances of in . In the remainder of this section we will prove the following lemma, that computes the traversal in rounds, meaning that each vertex will know and the visiting time of every vertex .
Lemma 2** (MST traversal).**
Let be a weighted graph with vertices, hop-diameter and root , then there is a deterministic algorithm in the CONGEST model that computes in rounds.
3.1 Computing the MST Fragments Tree
In [Elk17b], following [KP98], a deterministic MST construction in the CONGEST model with rounds was shown. The algorithm has two phases, according to the hop-diameter of the fragments. At the end of the first phase, there is a set of fragments , each with hop-diameter . These fragments are called base fragments. The edges added in the first phase are called internal edges (as each such edge is internal to some base fragment). In the second phase of the algorithm, the remaining edges are added and connect the fragments to a tree. We call these edges external edges, as they cross between base fragments.
Let be a virtual tree with the base fragments as vertices, and with the external edges as its edge set (i.e. there is an edge between and if there is an external edge between a vertex in to a vertex in ). Since there are vertices in , in rounds we can broadcast to all the vertices . We will think of the MST as a tree rooted in , and of as a tree rooted at the fragment containing . Using the information above, every vertex in each base fragment can learn the structure of the MST on the fragments , and infer its parent base fragment . If the MST edge connecting to is (where ), then , and we set to be the root of the base fragment . For , will be its root. Set to be the set of base fragment root vertices. See Figure 1 for an illustration.
3.2 Computing Tour Lengths
For , let denote the length of the tour of the subtree of rooted at . This is the local tour length for , which is simply twice the sum of edge weights in that subtree. In addition, denote by the length of the tour of the subtree of rooted at , which is the global tour length for . See Figure 1 for an example.
The computations of the local tour lengths is done locally in each base fragment, i.e. in all the base fragments in parallel. Consider . Initially for every leaf . Every intermediate vertex that received messages from all its children in , denoted , computes , and sends to its own parent. Using the bounded hop-diameter of the base fragments, this procedure will terminate in rounds. When this stage concludes, every knows .
After the computation of the local tour lengths, all the root vertices broadcast to the entire graph their local tour lengths in rounds. As the tree is known to the entire graph, all the vertices can compute locally the global tour lengths of the roots. Specifically, for the root of the base fragment , consider its descendent base fragments in . Denote by the root of the base fragment and by the external edge connecting to , its parent fragment. Then
[TABLE]
The computation of the global tour lengths for non-roots is done locally in a similar manner as the local tour lengths. For a vertex , let be its children in , then
[TABLE]
If is a leaf of some then it can compute (since all its children are in ), and then send to it parent. Every intermediate vertex of can compute as soon as it received messages from all its children in , and then send to its own parent. As we run this procedure in all the fragments in parallel, it terminates in rounds. When this stage concludes, every knows .
3.3 Computing Tour Visit Times
Finally we compute for every vertex the set and all its tour visiting times. This can be achieved by running a DFS search from the root . Direct implementation of the DFS algorithm will take rounds. Instead, we will use a similar idea to the one above to speed-up the computation. First we will compute “local” DFS in the base fragments. Then aggregate these times into a global DFS, first for the roots , and afterwards to all of .
First we compute the “local” DFS visiting times. We will compute the visiting times in all the fragments in parallel. Consider . For every we will compute the entering and exit DFS time, for the global subtree of rooted at (rather than only in ). For a vertex , denote by the interval between the first “local” entrance to the last exit. The computation is performed top to bottom. First for , . Next, consider a vertex that received its interval . By induction . Denote by all the children of in (inside and outside ). Then will send each child its interval, where
[TABLE]
Note that the length of the interval is exactly . (We remark that roots in do not initiate another interval assignment when they receive message from their parent in .) This procedure will terminate in rounds (the hop-diameter of any base fragment), where each vertex knows . Moreover, consider a root vertex (other than ), such that . Then by the description of the algorithm, in addition to , also knows , its interval in the DFS tour in the subtree rooted in .
Finally we are ready to compute the global DFS intervals. Note that all we are actually missing here, is the first time visit of each root vertex. That is, we will compute a shift for every root . First, each root vertex broadcasts to (through ), its local interval and its local interval in its parent fragment (assuming ). This take rounds. Now, has all the required information in order to compute the DFS intervals for . Initially . Next, by induction assume that computed the interval for some . Then for every such and , we compute . Eventually knows the global DFS intervals of all the roots and can broadcast it to all the vertices in rounds. Consider a vertex . Given its local interval and the shift , computes its global interval . This is done locally in all the fragments.
We conclude that in rounds every vertex can know its DFS interval. As every vertex can also compute the DFS intervals of it’s children (in ), both and the visiting times of are easily computed.
4 Shallow Light Tree (SLT)
In this section we present our SLT construction. Recall that an -SLT of with a root is a tree that satisfies: 1) , and 2) . We show the following theorem.
Theorem 1** (SLT).**
There is a deterministic distributed algorithm in the CONGEST model, that given a weighted graph with vertices and hop-diameter , root vertex and parameter , constructs an -SLT in rounds.
Initially we will assume that . Afterwards, we will show how to generalize our result to .
Intuitively, in order to construct an SLT, one should combine the MST tree of with a shortest path tree rooted at . Unfortunately, currently existing algorithms for constructing exact shortest path tree [Elk17a, GL18] require more than rounds. Instead, we will use an approximate shortest path tree of [BKKL17]. Specifically, they show that given a root vertex and a parameter , one can compute an approximate shortest path tree in rounds. The approximation here is in the sense that for every vertex ,
[TABLE]
Our strategy to construct the SLT is similar to the framework of [ABP92, KRY95]. First, construct an MST and an approximate shortest path (rooted at ). Next, choose a subset of vertices called Break Points. An intermediate graph will be constructed as a union of , and the paths in from to all the vertices in . We will argue that has lightness , and approximate distance to up to a factor. Our final SLT will be constructed as yet another approximate shortest path tree in (rooted at ). The main difference from previous works is that a refined selection of breakpoints is required, in order to ensure efficient implementation in the CONGEST model. In previous algorithms was chosen sequentially, i.e., break points were determined one after another. In contrast, we have two phases. In the first phase we choose the locally, while in the second phase we somewhat sparsify the set using a global computation.
We remark that [KRY95] gave an efficient implementation of their algorithm in the PRAM CREW model with processors in rounds. However, this implementation uses pointer jumping techniques which cannot be translated to the CONGEST model.
4.1 Break Points Selection
Before picking the break points, we create traversal of the MST (rooted at ) as in Section 3, such that each vertex knows its appearances and visiting times for any . We will treat vertices with duplications according to their appearances on . That is, will simulate different vertices in (and even can be chosen to several times). Note that every neighbor of in is a neighbor of exactly two vertices in (w.r.t ), and therefore indeed can act in several roles without congestion issues. In addition, each vertex will know its index (i.e., how many vertices precede him in an not only the weighted visiting time ). This information can be obtained by running the same algorithm that finds visiting times, ignoring the weights.
Set . We will construct in several steps. The initial set of break points will be , i.e., all the vertices whose index is a multiple of . Next, we create a break point set from . In each interval in parallel we will add points to . Initially, for every , sends a message to with the information . Generally, each vertex will get at some point a message from . The interpretation is that is the most recent addition to , with the additional information of . Now, will join if the following condition holds:
[TABLE]
Note that is an information locally known to from the approximate shortest path computation. Now, will send a message to . If joined , the message will be . Otherwise the message will be . After rounds this procedure ends, and each internal vertex knows whether it joins or not.
We cannot allow all the vertices in to become break points (as we have no bound on the weight of all the shortest paths from towards them). Filtering which vertices among will actually join will be done in a centralized fashion. All the vertices will broadcast to the message . By Lemma 1 this can be done in rounds (since there are at most relevant indices ). The root locally creates the set as follows. Initially joins . Next, sequentially, for where was the last vertex to join , will join if . After this local computation, will broadcast to the entire graph the set in rounds. Define the final set of breakpoints as . (Intuitively, this step computes an SLT for the submetric of the original metric, induced by the set .)
4.2 The Creation of
For a point , let be the unique path from to in . Let . Denote by the set of vertices whose subtree in contains a vertex of . Each vertex knows whether it belongs to , and we would like to ensure that every will add an edge to its parent in . Then adding the MST edges will conclude the construction of . In the remaining part of this sub-section we show the computation of .
We start by creating a set of fragments, which are subtrees of of hop-diameter (this could be done by applying the first phase of the MST algorithm of [KP98], see Section 3.1 for more details). Each fragment can locally (in parallel) compute in rounds whether it contains a break point, since it has bounded hop-diameter. Next, each fragment sends to its id, whether it contains a break point, and all of its outgoing edges in . Note there is a total of messages in this broadcast, so by Lemma 1 this will take rounds (in fact, all vertices will receive all these messages). Now, can form a virtual tree whose vertices are the fragments , and its edges connect fragments if there is an edge of between a vertex of to a vertex of . Now, we can also assign roots (where and ), so that is the vertex with an edge in to a vertex in the parent of in . (See Section 3 for more details and a picture of the virtual tree and its roots.)
Then, is able to compute locally for every root whether (i.e. its subtree contains a break point), simply by inspecting whether has a descendant in with a break point. Then broadcast this information on all roots in rounds. Note that now every local leaf knows whether its subtree contains a break point. Finally, locally in parallel in rounds, in all the fragments we can compute for every vertex whether .
4.3 Stretch and Lightness Analysis
In this subsection we argue that has the desired lightness and stretch. We name the break points , according to the order of their appearance in . It is clear by construction that for every pair of consecutive break points , . We claim that this property remain true also for every consecutive break points . Indeed, let such that . If then it follows by construction. Otherwise, is the first break point in , and by Equation 2 it holds that .
Corollary 3**.**
.
Proof.
The graph consists of three parts, . We first bound the weight of the edges added due to :
[TABLE]
Similarly for , . The corollary follows. ∎
Lemma 4**.**
For every , .
Proof.
Consider a vertex . Let be an arbitrary vertex from . By construction there is a point such that
[TABLE]
Moreover, for there is a point such that
[TABLE]
(it might be that or ). We first bound , using that and the assumption .
[TABLE]
We conclude,
[TABLE]
∎
4.4 Finishing the Construction and Generalization to
After creating the subgraph , we create a -shortest path tree (using [BKKL17]) of rooted at in rounds. The tree has weight at most by Corollary 3. Moreover, by Lemma 4 for every vertex it holds that
[TABLE]
By rescaling , we conclude that for every we can construct an -SLT. This is the right behavior (up to constant factors) when the distortion is small, as shown in [KRY95]. We would like to obtain the inverse tradeoff, when the lightness is close to 1, say for . If we will directly apply our construction for large , then it can be checked that we will get distortion and lightness , instead of the desired distortion (roughly speaking, this is because a breakpoint in may have been removed, so in the analysis we applied a chain of two breakpoints). Fortunately, we can use a reduction due to [BFN16].
Lemma 5** ([BFN16]).**
Let be a graph, a parameter and some function. Suppose that we have an algorithm that for any given weight function constructs a spanner with lightness such that every pair suffers distortion at most . Then for every weight function there exists a spanner with lightness and such that every pair suffers distortion at most .
The reduction algorithm works by first changing the edge weights, and then executing the original algorithm. To compute the new weight of an edge , we only need to know the parameter , the original weight and whether belongs the MST. Thus we can easily use this reduction in the CONGEST model as well.
We presented an algorithm that constructs a subgraph with constant lightness (say ) and distortion from . We will use distortion function below,
[TABLE]
Thus, given any , we can apply Lemma 5 with the parameter , and obtain lightness and distortion . Theorem 1 now follows.
5 Distributed Light Spanner
In this section we devise an efficient distributed algorithm for light spanners in general graphs. In particular, we prove the following:
Theorem 2** (Light Spanner).**
There is an randomized distributed algorithm in the CONGEST model, that given a weighted graph with vertices and hop-diameter , and parameters , , in rounds, w.h.p. returns a spanner with edges and lightness .
Our algorithm is similar in spirit to the algorithms of [CDNS95, ES16, ENS15]. It begins by computing a traversal of the MST , as in Section 3. In particular, every vertex knows the set of its appearances , and the visiting times and indices of every . Let denote the length of . Note that the value is known to all the vertices (or can be broadcasted in rounds).
Set , and for every set . The algorithm constructs a different spanner for each edge set, and the final spanner will be a union of all these spanners. First, build a spanner for the low weight edges . This is done using the algorithm of Baswana and Sen [BS07]. Specifically we run [BS07] on the graph . In rounds999The original paper claimed rounds, but it has been observed that their algorithm can be implemented in rounds. we get a -spanner of , where the expected number of edges is bounded by .
Next, for every we will define a cluster graph , on which we will simulate a spanner for unweighted graphs. For each , we partition into clusters . Let be an unweighted graph with as its vertex set, and there is an edge between two clusters if there are vertices such that .
In [ES16, ENS15] the greedy spanner was applied on each . However, we cannot do so efficiently in a distributed setting. Instead, we will use the randomized algorithm of [EN17b] on each . For an unweighted graph with vertices, that algorithm provides (with constant probability) a -spanner with edges, computed in rounds. Even though [EN17b] gave an efficient distributed implementation, the input graph is not the communication graph . Our main technical contribution in this section is an adaptation of that algorithm for the cluster graphs , which also requires some changes in the partition that generates these graphs.
The algorithm of [EN17b] runs in rounds. Initially, every vertex independently samples a value from some distribution. In the first round initializes , and sends to all its neighbors. In each following round, every vertex that received messages from its neighbors in the previous round, computes , updates and , and sends to all its neighbors. After rounds, each vertex adds to the spanner edges: for every vertex , add one edge to an arbitrary vertex in the set , if exists (in other words, for every source whose message reached with value at least , we add 1 edge to the spanner, from to a neighbor that sent the message on ). A useful property of the algorithm is that the stretch is guaranteed101010For the stretch bound, the random samples need to satisfy , which can be verified locally. The stretch analysis in [EN17b] is conditioned on the event . while the number of edges is bounded in expectation.
In order to implement this algorithm in , the vertices in each cluster need to compute the maximum over all the values they received from their neighbors in the previous round, and then send this value. Finally, we need to make sure that for every pair of clusters we want to connect, only one edge is added. We will distinguish between two cases, as long as the hop diameter of clusters is not too large, they can compute locally the maximum value. When the hop diameter is too large, we will ensure that there are few clusters, and all the relevant information will be broadcasted to the entire graph.
Case 1: .
Set . We now describe the partition of into clusters . Each cluster has a name in , and its weak diameter is at most w.r.t the MST metric (i.e. for any , ). Let , and be an arbitrary appearance. Then will belong to the cluster (recall that ). The weak diameter is indeed bounded, as for every which both belong to the same cluster , it holds that there are , such that , hence . Note that each vertex belongs to a single cluster. The number of clusters is bounded by .
Before the rounds simulations, each vertex sends the identity of its cluster to all its neighbors. Additionally, samples a value for every cluster , and broadcasts all these values to all the vertices in rounds, using Lemma 1. Next, we describe how to implement a single round. In the beginning of the round, each vertex knows the message that all clusters sent in the previous round. The simulation has three phases: (1) Local phase: each vertex , computes the maximum over all neighboring clusters . No communication required, as knows the clusters of its neighbors and their messages. (2) Convergecast phase: we convergecast towards on the BFS tree . Each vertex that received all messages from its children in for a cluster , will only forward the one with maximum . Therefore each vertex will forward only messages, and we can pipeline all the messages of the second phase in rounds. (3) Broadcast phase: the root broadcasts all the new messages for all clusters to all the graph in rounds.
After such rounds we add edges to the spanner by a convergecast of all the spanner edges towards using . Let be the spanner of . In [EN17b] it is shown that in expectation . Consider a vertex . For every cluster such that and there is a neighbor of , will send towards . On the other hand, each vertex receiving edges from , will forward only a single such edge. After rounds the center knows , and for every edge it knows a representative . In additional rounds broadcasts all these edges and is created accordingly. The total number of rounds to implement each iteration of [EN17b] is
[TABLE]
Case 2: .
Set . Similarly to the previous regime, we will partition the graph into clusters with weak diameter . However, as the number of clusters will be large, computations will be done locally in the clusters. In order to make the local computations efficient, we will refine the partition into clusters such that each cluster will have bounded (weak) hop-diameter . We start by choosing cluster centers. A vertex is a cluster center if one of the following conditions is fulfilled:
There is an integer such that . 2. 2.
is a multiple of (that is, there is an integer such that ).
Note that is a center. For every vertex , consider the closest center left of (w.r.t ). It holds that and . Moreover, the total number of centers is bounded by . In particular, each vertex can compute whether it is a center locally. For every vertex , pick an arbitrary , and let be the largest such that is a center. Then joins the cluster of . If are two consecutive cluster centers, then will be the communication interval for the cluster . Note that (they need not be equal, since each vertex has several possible representatives in ).
Note that the hop-diameter of is bounded by , and also for any we have . Each vertex belongs to a single cluster. However, might belong to many communication intervals. Nevertheless, every MST edge appears twice in , and therefore it belongs to at most two communication intervals.
In order to enable the partition to clusters, each cluster center declares itself via . That is, it sends to the right neighbor (on ) a message declaring itself, which is forwarded until it reaches the next center . This declaration takes rounds. At the end, each vertex chooses to which cluster it joins, becomes aware of all the communication intervals it belongs to, and sends its cluster i.d. to all its neighbors.
Now that we have defined the clustering, the simulation of each iteration of [EN17b] is done in essentially the same manner as the previous case, with the communication interval taking the role of the global BFS tree . That is, in parallel for every cluster we find the maximum over the by convergecast in . In the last round we convergecast the spanner edges touching the cluster , so we need a bound on that number. In [EN17b] it is shown that w.h.p. every vertex (cluster) adds at most edges to the spanner. So the number of rounds required for a simulation of a single iteration is at most
[TABLE]
(assuming .) The total number of rounds (for each in this range) is thus . This concludes the second case.
Our final spanner will be a union of the MST , with the spanner of , and with the spanners for all . As the there are different scales, we conclude that the total construction of the spanner of takes rounds.
5.1 Analysis
In this section we finish the proof of Theorem 2 by analyzing the stretch, lightness, and sparsity of the spanner .
Stretch.
By the triangle inequality, it suffices to show that for every edge , it holds that . In fact, we will show a bound of on the stretch. This can be fixed later by rescaling . Fix . We can assume that , as otherwise we fulfill the requirement using the MST edges only. If , then . Otherwise, let such that , that is for . Let be the clusters containing respectively. If , then (assuming , say). Otherwise, is an edge of , and therefore there is a path between in where . In particular, for every , we added some edge to . Let and . As the distance between every pair of vertices in any cluster is bounded by and the weight of all the edges in is bounded by we conclude
[TABLE]
Lightness.
We bound the lightness of and each of the spanners . First consider . Since the weight of every edge is at most , we have
[TABLE]
Next consider , which has expected edges, all of weight bounded by . So the expected weight of all these together is
[TABLE]
where the last equality follows as . We conclude that the expected weight of is
[TABLE]
Sparsity.
Following the analysis of the lightness, we have
[TABLE]
We conclude,
[TABLE]
Remark 1**.**
We note that the number of edges mostly comes from the spanner . We can in fact use the techniques developed here in order to efficiently implement the algorithm of [EN17b] for weighted graphs in the CONGEST model, which provides a -spanner with edges. That algorithm partitions the edges to sets, and for each set, applies the unweighted version on a cluster graph. Since we already have an efficient distributed implementation of that unweighted algorithm, we conclude that our sparsity bound may be improved to . We leave the details to the full version.
Successes Probability.
Note that once the computation concludes, we can easily compute the size and lightness of the spanner in rounds via the BFS tree . Thus we can repeat the computation for and each until they meet the required bounds, which will happen w.h.p. after at most tries. Recall that the stretch bound is guaranteed to hold.
6 Distributed Construction of Nets
In this section we devise an efficient distributed algorithm for computing nets in general graphs. Let be a weighted graph. Recall that for , a set is -covering * if for every vertex there is with . A set is -separated* if for every , . We say that a set is an -net if it is both -covering and -separated. (In the literature nets are often defined with , but we will need the more general definition, since we will only be able to provide nets with .)
Our construction of nets is inspired by the MIS (maximal independent set) algorithm of [MRSZ11] (which itself is inspired by [Lub86]). The MIS algorithm works in rounds, where in each round a permutation is sampled. A vertex joins the MIS iff it is local minimum (i.e., it appears before all its neighbors in the permutation). We will also sample a permutation. However, instead of checking only the neighbors, a vertex will join the net iff it is a local minimum in a geometric sense. I.e., appears before all the vertices of in the permutation.
In order to implement this algorithm efficiently we will require several tools that have found distributed constructions recently, such as Least-Element lists and shortest path trees. However, we do not know how to compute these exactly in the allotted number of rounds, so we will settle for approximations. The rest of the section is dedicated to proving the following theorem.
Theorem 3**.**
Given a weighted graph with hop-diameter and parameters , , there is a randomized algorithm in the CONGEST model that computes w.h.p. a -net in rounds.
Least Element Lists.
LE lists were introduced by [Coh97]:
Definition 1**.**
Given a weighted graph , a set of vertices, and a permutation on , the LE list of a vertex is defined as
[TABLE]
In words, a vertex joins , the LE list of , if is first in the permutation among all the vertices at distance at most from (alternatively, is the closest vertex to among the first vertices in the permutation.).
Khan et. al. [KKM*+*12] showed that with high probability over the choice of the permutation , it holds that simultaneously for all the vertices . Using hopsets, Friedrichs and Lenzen [FL16] were able to efficiently compute LE lists in the CONGEST model (improving upon Ghaffari and Lenzen [GL14]) for a graph that is a good approximation of . (We remark that their algorithm was given in the case , but it is a simple adaptation to adjust it to the more general case.)
Theorem 4** ([FL16]).**
Consider a graph with vertices and hop-diameter , a set , and let be any parameter. There is a randomized algorithm in the CONGEST model that uniformly samples a permutation and computes for a graph such that . The algorithm is successful w.h.p., and the number of rounds is .
Algorithm.
Here we describe the algorithm promised in Theorem 3. The algorithm will run in iterations. Initially, set the set of active vertices, and . We denote by the set of active vertices for the ’th iteration, and by the net just after the ’th iteration (so ). In the ’th iteration, apply Theorem 4 on the graph with the set and the parameter . We obtain a (uniformly random) permutation on , alongside with LE lists for all w.r.t and the graph (which is a approximation of ). Every will join iff it is the first in the permutation order among its -neighborhood (w.r.t ). In other words, joins if there is no , , such that .
Next, we will construct an approximate shortest path tree (using [BKKL17], say) rooted in . Remove from every vertex at distance at most from (in ), to form . This concludes a single iteration. Continue until iteration where .
Running time.
The number of rounds for computing the LE lists is , and the shortest path tree takes rounds. (Deciding whether to join is done locally once the LE lists are computed.) We will soon show that w.h.p. there are iterations, thus the total number of rounds is .
Analysis.
First we argue that once the algorithm concludes, is a -net. To see the packing property, consider , and we want to show that . If and joined in the same iteration , then they both were maximal in their neighborhoods w.r.t , and therefore . Otherwise, assume w.l.o.g that joined at iteration , while joined at iteration . As remained active, necessarily . For the covering property, let be some vertex that becomes inactive at iteration . Then there is a vertex such that .
It remains to show that after iterations w.h.p. no active vertices remain. We say that a pair of vertices at distance at most (w.r.t. ) is active if both are active. Set to be the set of initially active pairs. will denote the set of pairs at distance at most that remain active after the ’th iteration. For an active vertex , denote by . Note that . We say that kills at the ’th iteration if is first in the permutation among . Suppose that kills in the ’th iteration. Then we claim that joins , as for every vertex such that it holds that as well, and therefore . In particular, will cease to be active as . Note that at most one vertex can kill (as it must be the first in the permutation in ). 111111Note also that it is possible for a vertex to cease to be active without being killed. This can happen if the first vertex in the permutation among does not join , while a different vertex in does join. We do not take advantage of this possibility. Therefore the probability that becomes inactive in iteration is at least . As we pick the permutation uniformly at random, the probability that kills is exactly .
Our next goal is to show that in expectation, the number of active pairs is halved in each iteration. Consider a pair . Then
[TABLE]
is the set of pairs who cease to be active in the ’th iteration. We conclude
[TABLE]
Set . Then , which implies . After iterations, by Chernoff inequality we had w.h.p. at least iterations where , and therefore . Note that if no active edges remain, then each active vertex is the only active vertex in its entire neighborhood. In particular, in the next iteration all the active vertices will join and cease to be active, as required.
7 Light Spanner for Doubling Metrics
In this section we show a distributed algorithm that produces light spanners for doubling metrics.
Theorem 5** (Light Spanner for Doubling Graphs).**
There is an randomized distributed algorithm in the CONGEST model, that given a weighted graph with vertices, hop-diameter , doubling dimension , and parameter , in rounds, w.h.p. returns a -spanner with edges and lightness .
Our spanner construction will go as follows. We take an -net for every distance scale , and connect net points that are within distance of each other. An efficient construction of nets was described in Section 6. To efficiently implement the net point connections, we use approximate shortest path computations based on hopsets from every net point. This will ensure that every such approximate shortest path has few edges, thus the running time can be controlled.
The following lemma gives the standard packing property of doubling metrics (see, e.g., [GKL03]).
Lemma 6**.**
Let be a metric space with doubling dimension . If is a subset of points with minimum interpoint distance that is contained in a ball of radius , then .
7.1 Spanner Construction
Let be the weight of the MST of . For every we compute a -net as in Theorem 3 (e.g., we can take ). Let be the net for , and for every net point , run in parallel a -bounded -approximate shortest path tree rooted at , and add to the spanner a -approximate shortest path from to all other net points found within this distance bound.
Shortest paths via hopsets.
To implement these bounded shortest paths computations, we use the algorithm of [EN16] based on hopsets. A -hopset for a graph , is a set of edges that do not reduce distances, and for every
[TABLE]
where is the length of the shortest path containing at most edges. The graph is created by choosing the set of size at random, so that w.h.p. it intersects every shortest path in of length at least . The edges are the -bounded distances in between the vertices of . Fix . In [EN16] it is shown how to compute a hopset for of size in rounds. Furthermore, that hopset is path reporting, that is, there is a path in for every hopset edge , such that the length of is exactly , and every vertex in knows it lies on a path implementing .
Once a hopset is computed for , computing -approximate shortest paths in from a root amounts to running iterations of Bellman-Ford in In order to perform a single Bellman-Ford iteration, we first send messages over the edges of for rounds (to reach a vertex of , and then discover the relevant edges of ). Second, every broadcasts its distance estimate to the root to all the graph using the BFS tree of depth (to implement the hopset edges). Since there are only vertices in , this can be done in rounds via Lemma 1.
In our setting we would like to compute in parallel multiple source -bounded approximate shortest paths. To this end, we will use the fact the shortest path metric is doubling, hence every vertex will participate in a small number of such computations.
7.2 Analysis
Running Time.
Fix some . Computing the -net takes rounds. We next analyze the running time of the shortest paths computation from all net points in , which is conducted in parallel. By Lemma 6 we have that the number of net points in any ball of radius is . This suggests that for any and any hopset edge , there are at most sources of shortest paths computations that will reach them. Thus the number of rounds required to implement in parallel all approximate shortest path computations is . This is proportional to the time required to compute the hopset, and as there are different scales, the final running time is .
Stretch Bound.
For simplicity, we will prove stretch for some constant to be determined later. One can get stretch by rescaling . Consider a pair such that . Assume by induction that every pair at distance at most already enjoys stretch at most in . The base case is trivial since there are no pairs of distance less than 1. Let be net points such that . By the triangle inequality , and since we have that , so the -bounded shortest path exploration from must have discovered . Therefore we added a approximate shortest path between and to . Using the induction hypothesis on the pairs and , we conclude
[TABLE]
where the inequality follows for any constant , using that .
Lightness bound.
Let . In [FN18] the following claim was shown.
Claim 7** ([FN18]).**
Consider a weighted graph with MST of weight , such that there is an -separated set . Then .
It follows that . Recall that Lemma 6 implies that the number of net points in a ball of radius is . So for every net point we added at most paths of weight at most each. Thus the total weight of edges added for the ’th scale is bounded by . In particular, the sum of weights of the edges added in the scales is bounded by . The contribution of all the other scales is negligible as all these scales adds at most edges of weight less than . The bound on the lightness follows.
Sparsity bound.
Consider a vertex and the set of edges added for scale . Consider the ball of radius around , recall that . We added a path to the spanner only between net points of distance at most . Therefore can participate in such paths only when both net points are in (as otherwise the length of a path going through will be greater than ). Therefore might participate in at most such paths. As we added at most edges touching per path, the number of edges added which are incident on is bounded by . As there are scales (and vertices), we can bound the total number of edges added to the spanner by (recall we assumed has diameter , thus also ).
8 Lower Bounds
In a seminal paper, Das Sarma et al. [SHK*+*12] showed that approximating the weight of an MST up to polynomial factors takes rounds. As both an SLT and a light spanner provide such an approximation to the weight of the MST, we conclude:
Theorem 6**.**
Every distributed algorithm in the CONGEST model that computes an SLT or a spanner with polynomial lightness, takes rounds.
Next we argue that computing nets takes rounds as well. Our lower bound is for general graphs. Therefore, it is possible that computing nets for graphs with bounded doubling dimension can be performed faster. Nevertheless, we conclude that Theorem 3 is tight (up to lower order terms).
Theorem 7**.**
Suppose that there is a distributed algorithm in the CONGEST model that for every parameter computes an -net for some . Then the algorithm runs in rounds.
Proof.
Let be a graph from the family [SHK*+*12] used for their lower bound for approximating the weight of the MST. The only property we will use is that has polynomial diameter . (W.l.o.g. the minimal distance is 1, and is the largest distance in .) We will create nets in all the distance scales, and use their cardinality in order to provide a polynomial approximation to the weight of the MST. As there are only distance scales, and the cardinality of all the nets can be computed in time, the lower will follow.
For every , compute an -net . We stop in the first time that . Note that we compute at most nets, since , and when is larger than , there can be only a single net point. Next, we compute the cardinality of all the net points and return where . To finish the proof, we will argue that (where is the weight of the MST).
For every , as is -separated, by 7 . In particular, .
For the second inequality, we will construct a connected subgraph of . For every net point , let be the closest point to among points in . Then by the covering property . Add to the shortest path from to . Do this for all the nets. Note that (since any point can cover only itself), and that the maximal net consist of a single point. Therefore is connected. We conclude . ∎
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[AB 16] A. Abboud and G. Bodwin. The 4/3 additive spanner exponent is tight. In Proceedings of the 48th Annual ACM SIGACT Symposium on Theory of Computing, STOC 2016, Cambridge, MA, USA, June 18-21, 2016 , pages 351–361, 2016, doi:10.1145/2897518.2897555 . · doi ↗
- 2[ABP 90] B. Awerbuch, A. E. Baratz, and D. Peleg. Cost-sensitive analysis of communication protocols. In Proceedings of the Ninth Annual ACM Symposium on Principles of Distributed Computing, Quebec City, Quebec, Canada, August 22-24, 1990 , pages 177–187, 1990, doi:10.1145/93385.93417 . · doi ↗
- 3[ABP 92] B. Awerbuch, A. E. Baratz, and D. Peleg. Efficient broadcast and light-weight spanners. Technical Report CS 92-22, The Weizmann Institute of Science, Rehovot, Israel., 1992.
- 4[ACIM 99] D. Aingworth, C. Chekuri, P. Indyk, and R. Motwani. Fast estimation of diameter and shortest paths (without matrix multiplication). SIAM J. Comput. , 28(4):1167–1181, 1999, doi:10.1137/S 0097539796303421 . · doi ↗
- 5[ADD + 93] I. Althöfer, G. Das, D. P. Dobkin, D. Joseph, and J. Soares. On sparse spanners of weighted graphs. Discrete & Computational Geometry , 9:81–100, 1993, doi:10.1007/BF 02189308 . · doi ↗
- 6[ADF + 17] S. Alstrup, S. Dahlgaard, A. Filtser, M. Stöckel, and C. Wulff-Nilsen. Constructing light spanners deterministically in near-linear time. Co RR , abs/1709.01960, 2017, ar Xiv:1709.01960 .
- 7[AGLP 89] B. Awerbuch, A. V. Goldberg, M. Luby, and S. A. Plotkin. Network decomposition and locality in distributed computation. In 30th Annual Symposium on Foundations of Computer Science, Research Triangle Park, North Carolina, USA, 30 October - 1 November 1989 , pages 364–369, 1989, doi:10.1109/SFCS.1989.63504 . · doi ↗
- 8[Ass 83] P. Assouad. Plongements lipschitziens dans ℝ n superscript ℝ 𝑛 \mathbb{R}^{n} . Bull. Soc. Math. France , 111(4):429–448, 1983. http://eudml.org/doc/87452 .
