1,809 research outputs found

    Subexponential Algorithms for Rectilinear Steiner Tree and Arborescence Problems

    Get PDF
    A rectilinear Steiner tree for a set T of points in the plane is a tree which connects T using horizontal and vertical lines. In the Rectilinear Steiner Tree problem, input is a set T of n points in the Euclidean plane (R^2) and the goal is to find an rectilinear Steiner tree for T of smallest possible total length. A rectilinear Steiner arborecence for a set T of points and root r in T is a rectilinear Steiner tree S for T such that the path in S from r to any point t in T is a shortest path. In the Rectilinear Steiner Arborescense problem the input is a set T of n points in R^2, and a root r in T, the task is to find an rectilinear Steiner arborescence for T, rooted at r of smallest possible total length. In this paper, we give the first subexponential time algorithms for both problems. Our algorithms are deterministic and run in 2^{O(sqrt{n}log n)} time

    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

    Further improvements of Steiner tree approximations

    No full text
    The Steiner tree problem requires to find a shortest tree connecting a given set of terminal points in a metric space. We suggest a better and fast heuristic for the Steiner problem in graphs and in rectilinear plane. This heuristic finds a Steiner tree at most 1.757 and 1.267 times longer than the optimal solution in graphs and rectilinear plane, respectively

    Rectilinear Steiner Trees in Narrow Strips

    Get PDF
    A rectilinear Steiner tree for a set PP of points in R2\mathbb{R}^2 is a tree that connects the points in PP using horizontal and vertical line segments. The goal of Minimal Rectilinear Steiner Tree is to find a rectilinear Steiner tree with minimal total length. We investigate how the complexity of Minimal Rectilinear Steiner Tree for point sets PP inside the strip (,+)×[0,δ](-\infty,+\infty)\times [0,\delta] depends on the strip width δ\delta. We obtain two main results. 1) We present an algorithm with running time nO(δ)n^{O(\sqrt{\delta})} for sparse point sets, that is, point sets where each 1×δ1\times\delta rectangle inside the strip contains O(1)O(1) points. 2) For random point sets, where the points are chosen randomly inside a rectangle of height δ\delta and expected width nn, we present an algorithm that is fixed-parameter tractable with respect to δ\delta and linear in nn. It has an expected running time of 2O(δδ)n2^{O(\delta \sqrt{\delta})} n.Comment: 21 pages, 13 figure

    Subexponential Algorithms for Rectilinear Steiner Tree and Arborescence Problems

    Get PDF
    A rectilinear Steiner tree for a set K of points in the plane is a tree that connects k using horizontal and vertical lines. In the Rectilinear Steiner Tree problem, the input is a set K={z1,z2,…, zn} of n points in the Euclidean plane (R2), and the goal is to find a rectilinear Steiner tree for k of smallest possible total length. A rectilinear Steiner arborescence for a set k of points and a root r ∈ K is a rectilinear Steiner tree T for K such that the path in T from r to any point z ∈ K is a shortest path. In the Rectilinear Steiner Arborescence problem, the input is a set K of n points in R2, and a root r ∈ K, and the task is to find a rectilinear Steiner arborescence for K, rooted at r of smallest possible total length. In this article, we design deterministic algorithms for these problems that run in 2O(√ nlog n) time

    Non-Crossing Geometric Steiner Arborescences

    Get PDF
    Motivated by the question of simultaneous embedding of several flow maps, we consider the problem of drawing multiple geometric Steiner arborescences with no crossings in the rectilinear and in the angle-restricted setting. When terminal-to-root paths are allowed to turn freely, we show that two rectilinear Steiner arborescences have a non-crossing drawing if neither tree necessarily completely disconnects the other tree and if the roots of both trees are "free". If the roots are not free, then we can reduce the decision problem to 2SAT. If terminal-to-root paths are allowed to turn only at Steiner points, then it is NP-hard to decide whether multiple rectilinear Steiner arborescences have a non-crossing drawing. The setting of angle-restricted Steiner arborescences is more subtle than the rectilinear case. Our NP-hardness result extends, but testing whether there exists a non-crossing drawing if the roots of both trees are free requires additional conditions to be fulfilled

    Exact algorithms for the Steiner tree problem

    Get PDF
    In this thesis, the exact algorithms for the Steiner tree problem have been investigated. The Dreyfus-Wagner algorithm is a well-known dynamic programming method for computing minimum Steiner trees in general weighted graphs in time O(3k), where k is the number of the terminals. Firstly, two exact algorithms for the Steiner tree problem will be presented. The first one improves the running time of algorithm to O(2.684k) by showing that the optimum Steiner tree T can be partitioned into T = T1 [ T2 [ T3 in a certain way such that each Ti is a minimum Steiner tree in a suitable contracted graph Gi with less than k 2 terminals. The second algorithm is in time O((2 + )k) for any > 0. Every rectilinear Steiner tree problem admits an optimal tree T which is composed of tree stars. Moreover, the currently fastest algorithm for the rectilinear Steiner tree problem proceeds by composing an optimum tree T from tree star components in the cheapest way. F¨oßmeier and Kaufmann showed that any problem instance with k terminals has a number of tree stars in between 1.32k and 1.38k. We also present additional conditions on tree stars which allow us to further reduce the number of candidate components building the optimum Steiner tree to O(1.337k)

    Rectilinear Steiner Tree Construction

    Get PDF
    The Minimum Rectilinear Steiner Tree (MRST) problem is to find the minimal spanning tree of a set of points (also called terminals) in the plane that interconnects all the terminals and some extra points (called Steiner points) introduced by intermediate junctions, and in which edge lengths are measured in the L1 (Manhattan) metric. This is one of the oldest optimization problems in mathematics that has been extensively studied and has been proven to be NP-complete, thus efficient approximation heuristics are more applicable than exact algorithms. In this thesis, we present a new heuristic to construct rectilinear Steiner trees (RSTs) with a close approximation of minimum length in Ο(n log n) time. To this end, we recursively divide a plane into a set of sub-planes of which optimal rectilinear Steiner trees (optRSTs) can be generated by a proposed exact algorithm called Const_optRST. By connecting all the optRSTs of the sub-planes, a sub-optimal MRST is eventually constructed. We show experimentally that for topologies with up to 100 terminals, the heuristic is 1.06 to 3.45 times faster than RMST, which is an efficient algorithm based on Prim’s method, with accuracy improvements varying from 1.31 % to 10.21 %
    corecore