SearcharxivSearch

arXiv subjects

Richard Spence

Publications and source records attributed to Richard Spence.

12 recordsLinked to original sources

Lightweight Near-Additive Spanners

An $(\alpha,\beta)$-spanner of a weighted graph $G=(V,E)$, is a subgraph $H$ such that for every $u,v\in V$, $d_G(u,v) \le d_H(u,v)\le\alpha\cdot d_G(u,v)+\beta$. The main parameters of interest for spanners are their size (number of edges) and their lightness (the ratio between the total weight of $H$ to the weight of a minimum spanning tree). In this paper we focus on near-additive spanners, where $\alpha=1+\varepsilon$ for arbitrarily small $\varepsilon>0$. We show the first construction of {\em light} spanners in this setting. Specifically, for any integer parameter $k\ge 1$, we obtain an $(1+\varepsilon,O(k/\varepsilon)^k\cdot W(\cdot,\cdot))$-spanner with lightness $\tilde{O}(n^{1/k})$ (where $W(\cdot,\cdot)$ indicates for every pair $u, v \in V$ the heaviest edge in some shortest path between $u,v$). In addition, we can also bound the number of edges in our spanner by $O(kn^{1+3/k})$.

cs.DS

Multi-Priority Graph Sparsification

A \emph{sparsification} of a given graph $G$ is a sparser graph (typically a subgraph) which aims to approximate or preserve some property of $G$. Examples of sparsifications include but are not limited to spanning trees, Steiner trees, spanners, emulators, and distance preservers. Each vertex has the same priority in all of these problems. However, real-world graphs typically assign different ``priorities'' or ``levels'' to different vertices, in which higher-priority vertices require higher-quality connectivity between them. Multi-priority variants of the Steiner tree problem have been studied in prior literature but this generalization is much less studied for other sparsification problems. In this paper, we define a generalized multi-priority problem and present a rounding-up approach that can be used for a variety of graph sparsifications. Our analysis provides a systematic way to compute approximate solutions to multi-priority variants of a wide range of graph sparsification problems given access to a single-priority subroutine.

cs.DS

Approximation algorithms for priority Steiner tree problems

In the Priority Steiner Tree (PST) problem, we are given an undirected graph $G=(V,E)$ with a source $s \in V$ and terminals $T \subseteq V \setminus \{s\}$, where each terminal $v \in T$ requires a nonnegative priority $P(v)$. The goal is to compute a minimum weight Steiner tree containing edges of varying rates such that the path from $s$ to each terminal $v$ consists of edges of rate greater than or equal to $P(v)$. The PST problem with $k$ priorities admits a $\min\{2 \ln |T| + 2, kρ\}$-approximation [Charikar et al., 2004], and is hard to approximate with ratio $c \log \log n$ for some constant $c$ [Chuzhoy et al., 2008]. In this paper, we first strengthen the analysis provided by [Charikar et al., 2004] for the $(2 \ln |T| + 2)$-approximation to show an approximation ratio of $\lceil \log_2 |T| \rceil + 1 \le 1.443 \ln |T| + 2$, then provide a very simple, parallelizable algorithm which achieves the same approximation ratio. We then consider a more difficult node-weighted version of the PST problem, and provide a $(2 \ln |T|+2)$-approximation using extensions of the spider decomposition by [Klein \& Ravi, 1995]. This is the first result for the PST problem in node-weighted graphs. Moreover, the approximation ratios for all above algorithms are tight.

cs.DS

Weighted Additive Spanners

A \emph{spanner} of a graph $G$ is a subgraph $H$ that approximately preserves shortest path distances in $G$. Spanners are commonly applied to compress computation on metric spaces corresponding to weighted input graphs. Classic spanner constructions can seamlessly handle edge weights, so long as error is measured \emph{multiplicatively}. In this work, we investigate whether one can similarly extend constructions of spanners with purely \emph{additive} error to weighted graphs. These extensions are not immediate, due to a key lemma about the size of shortest path neighborhoods that fails for weighted graphs. Despite this, we recover a suitable amortized version, which lets us prove direct extensions of classic $+2$ and $+4$ unweighted spanners (both all-pairs and pairwise) to $+2W$ and $+4W$ weighted spanners, where $W$ is the maximum edge weight. Specifically, we show that a weighted graph $G$ contains all-pairs (pairwise) $+2W$ and $+4W$ weighted spanners of size $O(n^{3/2})$ and $\widetilde{O}(n^{7/5})$ ($O(np^{1/3})$ and $O(np^{2/7})$) respectively. For a technical reason, the $+6$ unweighted spanner becomes a $+8W$ weighted spanner; closing this error gap is an interesting remaining open problem. That is, we show that $G$ contains all-pairs (pairwise) $+8W$ weighted spanners of size $O(n^{4/3})$ ($O(np^{1/4})$).

cs.DM

On additive spanners in weighted graphs with local error

An \emph{additive $+β$ spanner} of a graph $G$ is a subgraph which preserves distances up to an additive $+β$ error. Additive spanners are well-studied in unweighted graphs but have only recently received attention in weighted graphs [Elkin et al.\ 2019 and 2020, Ahmed et al.\ 2020]. This paper makes two new contributions to the theory of weighted additive spanners. For weighted graphs, [Ahmed et al.\ 2020] provided constructions of sparse spanners with \emph{global} error $β= cW$, where $W$ is the maximum edge weight in $G$ and $c$ is constant. We improve these to \emph{local} error by giving spanners with additive error $+cW(s,t)$ for each vertex pair $(s,t)$, where $W(s, t)$ is the maximum edge weight along the shortest $s$--$t$ path in $G$. These include pairwise $+(2+\eps)W(\cdot,\cdot)$ and $+(6+\eps) W(\cdot, \cdot)$ spanners over vertex pairs $\Pc \subseteq V \times V$ on $O_{\eps}(n|\Pc|^{1/3})$ and $O_{\eps}(n|\Pc|^{1/4})$ edges for all $\eps > 0$, which extend previously known unweighted results up to $\eps$ dependence, as well as an all-pairs $+4W(\cdot,\cdot)$ spanner on $\widetilde{O}(n^{7/5})$ edges. Besides sparsity, another natural way to measure the quality of a spanner in weighted graphs is by its \emph{lightness}, defined as the total edge weight of the spanner divided by the weight of an MST of $G$. We provide a $+\eps W(\cdot,\cdot)$ spanner with $O_{\eps}(n)$ lightness, and a $+(4+\eps) W(\cdot,\cdot)$ spanner with $O_{\eps}(n^{2/3})$ lightness. These are the first known additive spanners with nontrivial lightness guarantees. All of the above spanners can be constructed in polynomial time.

cs.DM

Multi-level Weighted Additive Spanners

Given a graph $G = (V,E)$, a subgraph $H$ is an \emph{additive $+β$ spanner} if $\dist_H(u,v) \le \dist_G(u,v) + β$ for all $u, v \in V$. A \emph{pairwise spanner} is a spanner for which the above inequality only must hold for specific pairs $P \subseteq V \times V$ given on input, and when the pairs have the structure $P = S \times S$ for some subset $S \subseteq V$, it is specifically called a \emph{subsetwise spanner}. Spanners in unweighted graphs have been studied extensively in the literature, but have only recently been generalized to weighted graphs. In this paper, we consider a multi-level version of the subsetwise spanner in weighted graphs, where the vertices in $S$ possess varying level, priority, or quality of service (QoS) requirements, and the goal is to compute a nested sequence of spanners with the minimum number of total edges. We first generalize the $+2$ subsetwise spanner of [Pettie 2008, Cygan et al., 2013] to the weighted setting. We experimentally measure the performance of this and several other algorithms for weighted additive spanners, both in terms of runtime and sparsity of output spanner, when applied at each level of the multi-level problem. Spanner sparsity is compared to the sparsest possible spanner satisfying the given error budget, obtained using an integer programming formulation of the problem. We run our experiments with respect to input graphs generated by several different random graph generators: Erdős--Rényi, Watts--Strogatz, Barabási--Albert, and random geometric models. By analyzing our experimental results we developed a new technique of changing an initialization parameter value that provides better performance in practice.

cs.DM

Kruskal-based approximation algorithm for the multi-level Steiner tree problem

We study the multi-level Steiner tree problem: a generalization of the Steiner tree problem in graphs where terminals $T$ require varying priority, level, or quality of service. In this problem, we seek to find a minimum cost tree containing edges of varying rates such that any two terminals $u$, $v$ with priorities $P(u)$, $P(v)$ are connected using edges of rate $\min\{P(u),P(v)\}$ or better. The case where edge costs are proportional to their rate is approximable to within a constant factor of the optimal solution. For the more general case of non-proportional costs, this problem is hard to approximate with ratio $c \log \log n$, where $n$ is the number of vertices in the graph. A simple greedy algorithm by Charikar et al., however, provides a $\min\{2(\ln |T|+1), \ell ρ\}$-approximation in this setting, where $ρ$ is an approximation ratio for a heuristic solver for the Steiner tree problem and $\ell$ is the number of priorities or levels (Byrka et al. give a Steiner tree algorithm with $ρ\approx 1.39$, for example). In this paper, we describe a natural generalization to the multi-level case of the classical (single-level) Steiner tree approximation algorithm based on Kruskal's minimum spanning tree algorithm. We prove that this algorithm achieves an approximation ratio at least as good as Charikar et al., and experimentally performs better with respect to the optimum solution. We develop an integer linear programming formulation to compute an exact solution for the multi-level Steiner tree problem with non-proportional edge costs and use it to evaluate the performance of our algorithm on both random graphs and multi-level instances derived from SteinLib.

cs.DS

Graph Spanners: A Tutorial Review

This tutorial review provides a guiding reference to researchers who want to have an overview of the large body of literature about graph spanners. It reviews the current literature covering various research streams about graph spanners, such as different formulations, sparsity and lightness results, computational complexity, dynamic algorithms, and applications. As an additional contribution, we offer a list of open problems on graph spanners.

cs.DM

Multi-Level Graph Sketches via Single-Level Solvers

Given an undirected weighted graph $G(V,E)$, a constrained sketch over a terminal set $T\subset V$ is a subgraph $G'$ that connects the terminal vertices while satisfying a given set of constraints. Examples include Steiner trees (preserving connectivity among $T$) and subsetwise spanners (preserving shortest path distances up to a stretch factor). Multi-level constrained terminal sketches are generalizations in which terminal vertices require different levels or grades of service and each terminal pair is connected with edges of at least the minimum required level of the two terminals. This paper gives a flexible procedure for computing a broad class of multi-level graph sketches, which encompasses multi-level graph spanners, Steiner trees, and $k$--connected subgraphs as a few special cases. The proposed procedure is modular, i.e., it relies on availability of a single-level solver module (be it an oracle or approximation algorithm). One key result is that an $\ell$--level constrained terminal sketch can be computed with $\log\ell$ queries of the solver module while producing feasible solutions with approximation guarantees independent of $\ell$. Additionally, a new polynomial time algorithm for computing a subsetwise spanner is proposed. We show that for $k\in\N$, $\eps>0$, and $T\subset V$, there is a subsetwise $(2k-1)(1+\eps)$--spanner with total weight $O(|T|^\frac1kW(\ST(G,T)))$, where $W(\ST(G,T))$ is the weight of the Steiner tree of $G$ over the subset $T$. This is the first algorithm and weight guarantee for a multiplicative subsetwise spanner for nonplanar graphs. Numerical experiments are also done to illustrate the performance of the proposed algorithms.

cs.DM

Approximation algorithms for the vertex-weighted grade-of-service Steiner tree problem

Given a graph $G = (V,E)$ and a subset $T \subseteq V$ of terminals, a \emph{Steiner tree} of $G$ is a tree that spans $T$. In the vertex-weighted Steiner tree (VST) problem, each vertex is assigned a non-negative weight, and the goal is to compute a minimum weight Steiner tree of $G$. We study a natural generalization of the VST problem motivated by multi-level graph construction, the \emph{vertex-weighted grade-of-service Steiner tree problem} (V-GSST), which can be stated as follows: given a graph $G$ and terminals $T$, where each terminal $v \in T$ requires a facility of a minimum grade of service $R(v)\in \{1,2,\ldots\ell\}$, compute a Steiner tree $G'$ by installing facilities on a subset of vertices, such that any two vertices requiring a certain grade of service are connected by a path in $G'$ with the minimum grade of service or better. Facilities of higher grade are more costly than facilities of lower grade. Multi-level variants such as this one can be useful in network design problems where vertices may require facilities of varying priority. While similar problems have been studied in the edge-weighted case, they have not been studied as well in the more general vertex-weighted case. We first describe a simple heuristic for the V-GSST problem whose approximation ratio depends on $\ell$, the number of grades of service. We then generalize the greedy algorithm of [Klein \& Ravi, 1995] to show that the V-GSST problem admits a $(2 \ln |T|)$-approximation, where $T$ is the set of terminals requiring some facility. This result is surprising, as it shows that the (seemingly harder) multi-grade problem can be approximated as well as the VST problem, and that the approximation ratio does not depend on the number of grades of service.

cs.DS

Approximation algorithms and an integer program for multi-level graph spanners

Given a weighted graph $G(V,E)$ and $t \ge 1$, a subgraph $H$ is a \emph{$t$--spanner} of $G$ if the lengths of shortest paths in $G$ are preserved in $H$ up to a multiplicative factor of $t$. The \emph{subsetwise spanner} problem aims to preserve distances in $G$ for only a subset of the vertices. We generalize the minimum-cost subsetwise spanner problem to one where vertices appear on multiple levels, which we call the \emph{multi-level graph spanner} (MLGS) problem, and describe two simple heuristics. Applications of this problem include road/network building and multi-level graph visualization, especially where vertices may require different grades of service. We formulate a 0--1 integer linear program (ILP) of size $O(|E||V|^2)$ for the more general minimum \emph{pairwise spanner problem}, which resolves an open question by Sigurd and Zachariasen on whether this problem admits a useful polynomial-size ILP. We extend this ILP formulation to the MLGS problem, and evaluate the heuristic and ILP performance on random graphs of up to 100 vertices and 500 edges.

cs.DM

Multi-Level Steiner Trees

In the classical Steiner tree problem, given an undirected, connected graph $G=(V,E)$ with non-negative edge costs and a set of \emph{terminals} $T\subseteq V$, the objective is to find a minimum-cost tree $E' \subseteq E$ that spans the terminals. The problem is APX-hard; the best known approximation algorithm has a ratio of $\rho = \ln(4)+\varepsilon < 1.39$. In this paper, we study a natural generalization, the \emph{multi-level Steiner tree} (MLST) problem: given a nested sequence of terminals $T_{\ell} \subset \dots \subset T_1 \subseteq V$, compute nested trees $E_{\ell}\subseteq \dots \subseteq E_1\subseteq E$ that span the corresponding terminal sets with minimum total cost. The MLST problem and variants thereof have been studied under various names including Multi-level Network Design, Quality-of-Service Multicast tree, Grade-of-Service Steiner tree, and Multi-Tier tree. Several approximation results are known. We first present two simple $O(\ell)$-approximation heuristics. Based on these, we introduce a rudimentary composite algorithm that generalizes the above heuristics, and determine its approximation ratio by solving a linear program. We then present a method that guarantees the same approximation ratio using at most $2\ell$ Steiner tree computations. We compare these heuristics experimentally on various instances of up to 500 vertices using three different network generation models. We also present various integer linear programming (ILP) formulations for the MLST problem, and compare their running times on these instances. To our knowledge, the composite algorithm achieves the best approximation ratio for up to $\ell=100$ levels, which is sufficient for most applications such as network visualization or designing multi-level infrastructure.

cs.DS