27,408 research outputs found

    Greedy Algorithms for Steiner Forest

    Full text link
    In the Steiner Forest problem, we are given terminal pairs {si,ti}\{s_i, t_i\}, and need to find the cheapest subgraph which connects each of the terminal pairs together. In 1991, Agrawal, Klein, and Ravi, and Goemans and Williamson gave primal-dual constant-factor approximation algorithms for this problem; until now, the only constant-factor approximations we know are via linear programming relaxations. We consider the following greedy algorithm: Given terminal pairs in a metric space, call a terminal "active" if its distance to its partner is non-zero. Pick the two closest active terminals (say si,tjs_i, t_j), set the distance between them to zero, and buy a path connecting them. Recompute the metric, and repeat. Our main result is that this algorithm is a constant-factor approximation. We also use this algorithm to give new, simpler constructions of cost-sharing schemes for Steiner forest. In particular, the first "group-strict" cost-shares for this problem implies a very simple combinatorial sampling-based algorithm for stochastic Steiner forest

    The Power of Dynamic Distance Oracles: Efficient Dynamic Algorithms for the Steiner Tree

    Get PDF
    In this paper we study the Steiner tree problem over a dynamic set of terminals. We consider the model where we are given an nn-vertex graph G=(V,E,w)G=(V,E,w) with positive real edge weights, and our goal is to maintain a tree which is a good approximation of the minimum Steiner tree spanning a terminal set SVS \subseteq V, which changes over time. The changes applied to the terminal set are either terminal additions (incremental scenario), terminal removals (decremental scenario), or both (fully dynamic scenario). Our task here is twofold. We want to support updates in sublinear o(n)o(n) time, and keep the approximation factor of the algorithm as small as possible. We show that we can maintain a (6+ε)(6+\varepsilon)-approximate Steiner tree of a general graph in O~(nlogD)\tilde{O}(\sqrt{n} \log D) time per terminal addition or removal. Here, DD denotes the stretch of the metric induced by GG. For planar graphs we achieve the same running time and the approximation ratio of (2+ε)(2+\varepsilon). Moreover, we show faster algorithms for incremental and decremental scenarios. Finally, we show that if we allow higher approximation ratio, even more efficient algorithms are possible. In particular we show a polylogarithmic time (4+ε)(4+\varepsilon)-approximate algorithm for planar graphs. One of the main building blocks of our algorithms are dynamic distance oracles for vertex-labeled graphs, which are of independent interest. We also improve and use the online algorithms for the Steiner tree problem.Comment: Full version of the paper accepted to STOC'1

    Two-Level Rectilinear Steiner Trees

    Get PDF
    Given a set PP of terminals in the plane and a partition of PP into kk subsets P1,...,PkP_1, ..., P_k, a two-level rectilinear Steiner tree consists of a rectilinear Steiner tree TiT_i connecting the terminals in each set PiP_i (i=1,...,ki=1,...,k) and a top-level tree TtopT_{top} connecting the trees T1,...,TkT_1, ..., T_k. The goal is to minimize the total length of all trees. This problem arises naturally in the design of low-power physical implementations of parity functions on a computer chip. For bounded kk we present a polynomial time approximation scheme (PTAS) that is based on Arora's PTAS for rectilinear Steiner trees after lifting each partition into an extra dimension. For the general case we propose an algorithm that predetermines a connection point for each TiT_i and TtopT_{top} (i=1,...,ki=1,...,k). Then, we apply any approximation algorithm for minimum rectilinear Steiner trees in the plane to compute each TiT_i and TtopT_{top} independently. This gives us a 2.372.37-factor approximation with a running time of O(PlogP)\mathcal{O}(|P|\log|P|) suitable for fast practical computations. The approximation factor reduces to 1.631.63 by applying Arora's approximation scheme in the plane

    The Minimum Wiener Connector

    Full text link
    The Wiener index of a graph is the sum of all pairwise shortest-path distances between its vertices. In this paper we study the novel problem of finding a minimum Wiener connector: given a connected graph G=(V,E)G=(V,E) and a set QVQ\subseteq V of query vertices, find a subgraph of GG that connects all query vertices and has minimum Wiener index. We show that The Minimum Wiener Connector admits a polynomial-time (albeit impractical) exact algorithm for the special case where the number of query vertices is bounded. We show that in general the problem is NP-hard, and has no PTAS unless P=NP\mathbf{P} = \mathbf{NP}. Our main contribution is a constant-factor approximation algorithm running in time O~(QE)\widetilde{O}(|Q||E|). A thorough experimentation on a large variety of real-world graphs confirms that our method returns smaller and denser solutions than other methods, and does so by adding to the query set QQ a small number of important vertices (i.e., vertices with high centrality).Comment: Published in Proceedings of the 2015 ACM SIGMOD International Conference on Management of Dat

    Spanning trees short or small

    Full text link
    We study the problem of finding small trees. Classical network design problems are considered with the additional constraint that only a specified number kk of nodes are required to be connected in the solution. A prototypical example is the kkMST problem in which we require a tree of minimum weight spanning at least kk nodes in an edge-weighted graph. We show that the kkMST problem is NP-hard even for points in the Euclidean plane. We provide approximation algorithms with performance ratio 2k2\sqrt{k} for the general edge-weighted case and O(k1/4)O(k^{1/4}) for the case of points in the plane. Polynomial-time exact solutions are also presented for the class of decomposable graphs which includes trees, series-parallel graphs, and bounded bandwidth graphs, and for points on the boundary of a convex region in the Euclidean plane. We also investigate the problem of finding short trees, and more generally, that of finding networks with minimum diameter. A simple technique is used to provide a polynomial-time solution for finding kk-trees of minimum diameter. We identify easy and hard problems arising in finding short networks using a framework due to T. C. Hu.Comment: 27 page
    corecore