Steiner tree problem

Last updated

Steiner tree for three points A, B, and C (note there are no direct connections between A, B, C). The Steiner point S is located at the Fermat point of the triangle ABC. Steiner 3 points.svg
Steiner tree for three points A, B, and C (note there are no direct connections between A, B, C). The Steiner point S is located at the Fermat point of the triangle ABC.
Solution for four points--there are two Steiner points, S1 and S2 Steiner 4 points.svg
Solution for four points—there are two Steiner points, S1 and S2

In combinatorial mathematics, the Steiner tree problem, or minimum Steiner tree problem, named after Jakob Steiner, is an umbrella term for a class of problems in combinatorial optimization. While Steiner tree problems may be formulated in a number of settings, they all require an optimal interconnect for a given set of objects and a predefined objective function. One well-known variant, which is often used synonymously with the term Steiner tree problem, is the Steiner tree problem in graphs. Given an undirected graph with non-negative edge weights and a subset of vertices, usually referred to as terminals, the Steiner tree problem in graphs requires a tree of minimum weight that contains all terminals (but may include additional vertices) and minimizes the total weight of its edges. Further well-known variants are the Euclidean Steiner tree problem and the rectilinear minimum Steiner tree problem .

Contents

The Steiner tree problem in graphs can be seen as a generalization of two other famous combinatorial optimization problems: the (non-negative) shortest path problem and the minimum spanning tree problem. If a Steiner tree problem in graphs contains exactly two terminals, it reduces to finding the shortest path. If, on the other hand, all vertices are terminals, the Steiner tree problem in graphs is equivalent to the minimum spanning tree. However, while both the non-negative shortest path and the minimum spanning tree problem are solvable in polynomial time, no such solution is known for the Steiner tree problem. Its decision variant, asking whether a given input has a tree of weight less than some given threshold, is NP-complete, which implies that the optimization variant, asking for the minimum-weight tree in a given graph, is NP-hard. In fact, the decision variant was among Karp's original 21 NP-complete problems. The Steiner tree problem in graphs has applications in circuit layout or network design. However, practical applications usually require variations, giving rise to a multitude of Steiner tree problem variants.

Most versions of the Steiner tree problem are NP-hard, but some restricted cases can be solved in polynomial time. Despite the pessimistic worst-case complexity, several Steiner tree problem variants, including the Steiner tree problem in graphs and the rectilinear Steiner tree problem, can be solved efficiently in practice, even for large-scale real-world problems. [1] [2]

Euclidean Steiner tree

Minimum Steiner trees of vertices of regular polygons with N = 3 to 8 sides. The lowest network length L for N > 5 is the circumference less one side. Squares represent Steiner points. Regular polygon Euclidean Steiner tree.svg
Minimum Steiner trees of vertices of regular polygons with N = 3 to 8 sides. The lowest network length L for N> 5 is the circumference less one side. Squares represent Steiner points.

The original problem was stated in the form that has become known as the Euclidean Steiner tree problem or geometric Steiner tree problem: Given N points in the plane, the goal is to connect them by lines of minimum total length in such a way that any two points may be interconnected by line segments either directly or via other points and line segments. It may be shown that the connecting line segments do not intersect each other except at the endpoints and form a tree, hence the name of the problem.

The problem for N = 3 has long been considered, and quickly extended to the problem of finding a star network with a single hub connecting to all of the N given points, of minimum total length. However, although the full Steiner tree problem was formulated in a letter by Gauss, its first serious treatment was in a 1934 paper written in Czech by Vojtěch Jarník and Miloš Kössler  [ cs ]. This paper was long overlooked, but it already contains "virtually all general properties of Steiner trees" later attributed to other researchers, including the generalization of the problem from the plane to higher dimensions. [3]

For the Euclidean Steiner problem, points added to the graph (Steiner points) must have a degree of three, and the three edges incident to such a point must form three 120 degree angles (see Fermat point). It follows that the maximum number of Steiner points that a Steiner tree can have is N  2, where N is the initial number of given points.

For N = 3 there are two possible cases: if the triangle formed by the given points has all angles which are less than 120 degrees, the solution is given by a Steiner point located at the Fermat point; otherwise the solution is given by the two sides of the triangle which meet on the angle with 120 or more degrees.

For general N, the Euclidean Steiner tree problem is NP-hard, and hence it is not known whether an optimal solution can be found by using a polynomial-time algorithm. However, there is a polynomial-time approximation scheme (PTAS) for Euclidean Steiner trees, i.e., a near-optimal solution can be found in polynomial time. [4] It is not known whether the Euclidean Steiner tree problem is NP-complete, since membership to the complexity class NP is not known.

Rectilinear Steiner tree

The rectilinear Steiner tree problem is a variant of the geometric Steiner tree problem in the plane, in which the Euclidean distance is replaced with the rectilinear distance. The problem arises in the physical design of electronic design automation. In VLSI circuits, wire routing is carried out by wires that are often constrained by design rules to run only in vertical and horizontal directions, so the rectilinear Steiner tree problem can be used to model the routing of nets with more than two terminals. [5]

Steiner tree in graphs and variants

Steiner trees have been extensively studied in the context of weighted graphs. The prototype is, arguably, the Steiner tree problemin graphs. Let G = (V, E) be an undirected graph with non-negative edge weights c and let S  V be a subset of vertices, called terminals. A Steiner tree is a tree in G that spans S. There are two versions of the problem: in the optimization problem associated with Steiner trees, the task is to find a minimum-weight Steiner tree; in the decision problem the edge weights are integers and the task is to determine whether a Steiner tree exists whose total weight does not exceed a predefined natural number k. The decision problem is one of Karp's 21 NP-complete problems; hence the optimization problem is NP-hard. Steiner tree problems in graphs are applied to various problems in research and industry, [6] including multicast routing [7] and bioinformatics. [8]

A special case of this problem is when G is a complete graph, each vertex v  V corresponds to a point in a metric space, and the edge weights w(e) for each e  E correspond to distances in the space. Put otherwise, the edge weights satisfy the triangle inequality. This variant is known as the metric Steiner tree problem. Given an instance of the (non-metric) Steiner tree problem, we can transform it in polynomial time into an equivalent instance of the metric Steiner tree problem; the transformation preserves the approximation factor. [9]

While the Euclidean version admits a PTAS, it is known that the metric Steiner tree problem is APX-complete, i.e., unless P = NP, it is impossible to achieve approximation ratios that are arbitrarily close to 1 in polynomial time. There is a polynomial-time algorithm that approximates the minimum Steiner tree to within a factor of ; [10] however, approximating within a factor is NP-hard. [11] For the restricted case of Steiner Tree problem with distances 1 and 2, a 1.25-approximation algorithm is known. [12] Karpinski and Alexander Zelikovsky constructed PTAS for the dense instances of Steiner Tree problems. [13]

In a special case of the graph problem, the Steiner tree problem for quasi-bipartite graphs, S is required to include at least one endpoint of every edge in G.

The Steiner tree problem has also been investigated in higher dimensions and on various surfaces. Algorithms to find the Steiner minimal tree have been found on the sphere, torus, projective plane, wide and narrow cones, and others. [14]

Other generalizations of the Steiner tree problem are the k-edge-connected Steiner network problem and the k-vertex-connected Steiner network problem, where the goal is to find a k-edge-connected graph or a k-vertex-connected graph rather than any connected graph. A further well-studied [15] generalization is the survivable network design problem (SNDP) where the task is to connect each vertex pair with a given number (possibly 0) of edge- or vertex-disjoint paths.

The Steiner problem has also been stated in the general setting of metric spaces and for possibly infinitely many points. [16]

Approximating the Steiner tree

The general graph Steiner tree problem can be approximated by computing the minimum spanning tree of the subgraph of the metric closure of the graph induced by the terminal vertices, as first published in 1981 by Kou et al. [17] The metric closure of a graph G is the complete graph in which each edge is weighted by the shortest path distance between the nodes in G. This algorithm produces a tree whose weight is within a 2  2/t factor of the weight of the optimal Steiner tree where t is the number of leaves in the optimal Steiner tree; this can be proven by considering a traveling salesperson tour on the optimal Steiner tree. This approximate solution is computable in O(|S| |V|²) polynomial time by first solving the all-pairs shortest paths problem to compute the metric closure, then by solving the minimum spanning tree problem.

Another popular algorithm to approximate the Steiner tree in graphs was published by Takahashi and Matsuyama in 1980. [18] Their solution incrementally builds up the Steiner tree by starting from an arbitrary vertex, and repeatedly adding the shortest path from the tree to the nearest vertex in S that has not yet been added. This algorithm also has O(|S| |V|²) running time, and produces a tree whose weight is within 2  2/|S| of optimal.

In 1986, Wu et al. [19] improved dramatically on the running time by avoiding precomputation of the all-pairs shortest paths. Instead, they take a similar approach to Kruskal's algorithm for computing a minimum spanning tree, by starting from a forest of |S| disjoint trees, and "growing" them simultaneously using a breadth-first search resembling Dijkstra's algorithm but starting from multiple initial vertices. When the search encounters a vertex that does not belong to the current tree, the two trees are merged into one. This process is repeated until only one tree remains. By using a Heap (data structure) to implement the priority queue and a disjoint-set data structure to track to which tree each visited vertex belongs, this algorithm achieves O(|E| log |V|) running time, although it does not improve on the 2  2/t cost ratio from Kou et al.

A series of papers provided approximation algorithms for the minimum Steiner tree problem with approximation ratios that improved upon the 2  2/t ratio. This sequence culminated with Robins and Zelikovsky's algorithm in 2000 which improved the ratio to 1.55 by iteratively improving upon the minimum cost terminal spanning tree. More recently, however, Byrka et al. proved an approximation using a linear programming relaxation and a technique called iterative, randomized rounding. [10]

Parameterized complexity of Steiner tree

The general graph Steiner tree problem is known to be fixed-parameter tractable, with the number of terminals as a parameter, by the Dreyfus-Wagner algorithm. [20] [21] The running time of the Dreyfus-Wagner algorithm is , where is the number of vertices of the graph and is the set of terminals. Faster algorithms exist, running in time for any or, in the case of small weights, time, where is the maximum weight of any edge. [22] [23] A disadvantage of the aforementioned algorithms is that they use exponential space; there exist polynomial-space algorithms running in time and time. [24] [25]

It is known that the general graph Steiner tree problem does not have a parameterized algorithm running in time for any , where is the number of edges of the optimal Steiner tree, unless the Set cover problem has an algorithm running in time for some , where and are the number of elements and the number of sets, respectively, of the instance of the set cover problem. [26] Furthermore, it is known that the problem does not admit a polynomial kernel unless , even parameterized by the number of edges of the optimal Steiner tree and if all edge weights are 1. [27]

Parameterized approximation of Steiner tree

While the graph Steiner tree problem does not admit a polynomial kernel unless parameterized by the number of terminals, it does admit a polynomial-sized approximate kernelization scheme (PSAKS): for any it is possible to compute a polynomial-sized kernel, which looses only a factor in the solution quality. [28]

When parameterizing the graph Steiner tree problem by the number of non-terminals (Steiner vertices) in the optimum solution, the problem is W[1]-hard (in contrast to the parameterization by the number of terminals, as mentioned above). At the same time the problem is APX-complete and thus does not admit a PTAS, unless P = NP. However, a parameterized approximation scheme exists, which for any computes a -approximation in time. [29] Also a PSAKS exists for this parameterization. [29]

Steiner ratio

The Steiner ratio is the supremum of the ratio of the total length of the minimum spanning tree to the minimum Steiner tree for a set of points in the Euclidean plane. [30]

In the Euclidean Steiner tree problem, the Steiner ratio is conjectured to be , the ratio that is achieved by three points in an equilateral triangle with a spanning tree that uses two sides of the triangle and a Steiner tree that connects the points through the centroid of the triangle. Despite earlier claims of a proof, [31] the conjecture is still open. [32] The best widely accepted upper bound for the problem is 1.2134, by Chung & Graham (1985).

For the rectilinear Steiner tree problem, the Steiner ratio is exactly , the ratio that is achieved by four points in a square with a spanning tree that uses three sides of the square and a Steiner tree that connects the points through the center of the square. [33] More precisely, for distance the square should be tilted at with respect to the coordinate axes, while for distance the square should be axis-aligned.

See also

Notes

  1. Rehfeldt & Koch (2023).
  2. Juhl et al. (2018).
  3. Korte, Bernhard; Nešetřil, Jaroslav (2001), "Vojtěch Jarnik's work in combinatorial optimization", Discrete Mathematics, 235 (1–3): 1–17, doi:10.1016/S0012-365X(00)00256-9, hdl: 10338.dmlcz/500662 , MR   1829832 .
  4. Crescenzi et al. (2000).
  5. Sherwani (1993), p. 228.
  6. Ljubić, Ivana (2021). "Solving Steiner trees: Recent advances, challenges, and perspectives". Networks. 77 (2): 177–204. doi:10.1002/net.22005. ISSN   1097-0037. S2CID   229458488.
  7. Novak, Roman; Rugelj, Joz̆e; Kandus, Gorazd (1 October 2001). "A note on distributed multicast routing in point-to-point networks". Computers & Operations Research. 28 (12): 1149–1164. doi:10.1016/S0305-0548(00)00029-0. ISSN   0305-0548.
  8. Klimm, Florian; Toledo, Enrique M.; Monfeuga, Thomas; Zhang, Fang; Deane, Charlotte M.; Reinert, Gesine (2 November 2020). "Functional module detection through integration of single-cell RNA sequencing data with protein–protein interaction networks". BMC Genomics. 21 (1): 756. doi: 10.1186/s12864-020-07144-2 . ISSN   1471-2164. PMC   7607865 . PMID   33138772.
  9. Vazirani (2003), pp. 27–28.
  10. 1 2 Byrka et al. (2010).
  11. Chlebík & Chlebíková (2008).
  12. Berman, Karpinski & Zelikovsky (2009).
  13. Karpinski & Zelikovsky (1998).
  14. Smith & Winter (1995), p. 361.
  15. Kerivin, Hervé; Mahjoub, A. Ridha (2005). "Design of Survivable Networks: A survey". Networks. 46 (1): 1–21. doi:10.1002/net.20072. ISSN   0028-3045. S2CID   8165318.
  16. Paolini & Stepanov (2012).
  17. Kou, Markowsky & Berman (1981).
  18. Takahashi & Matsuyama (1980).
  19. Wu, Widmayer & Wong (1986).
  20. Dreyfus & Wagner (1971).
  21. Levin (1971).
  22. Fuchs et al. (2007).
  23. Björklund et al. (2007).
  24. Lokshtanov & Nederlof (2010).
  25. Fomin et al. (2015).
  26. Cygan et al. (2016).
  27. Dom, Lokshtanov & Saurabh (2014).
  28. Lokshtanov, Daniel; Panolan, Fahad; Ramanujan, M. S.; Saurabh, Saket (19 June 2017). "Lossy kernelization". Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing (PDF). STOC 2017. New York, NY, USA: Association for Computing Machinery. pp. 224–237. doi:10.1145/3055399.3055456. ISBN   978-1-4503-4528-6. S2CID   14599219.
  29. 1 2 Dvořák, Pavel; Feldmann, Andreas E.; Knop, Dušan; Masařík, Tomáš; Toufar, Tomáš; Veselý, Pavel (1 January 2021). "Parameterized Approximation Schemes for Steiner Trees with Small Number of Steiner Vertices". SIAM Journal on Discrete Mathematics. 35 (1): 546–574. arXiv: 1710.00668 . doi:10.1137/18M1209489. ISSN   0895-4801. S2CID   3581913.
  30. Ganley (2004).
  31. The New York Times, 30 Oct 1990, reported that a proof had been found, and that Ronald Graham, who had offered $500 for a proof, was about to mail a check to the authors.
  32. Ivanov & Tuzhilin (2012).
  33. Hwang (1976).

Related Research Articles

<span class="mw-page-title-main">Independent set (graph theory)</span> Unrelated vertices in graphs

In graph theory, an independent set, stable set, coclique or anticlique is a set of vertices in a graph, no two of which are adjacent. That is, it is a set of vertices such that for every two vertices in , there is no edge connecting the two. Equivalently, each edge in the graph has at most one endpoint in . A set is independent if and only if it is a clique in the graph's complement. The size of an independent set is the number of vertices it contains. Independent sets have also been called "internally stable sets", of which "stable set" is a shortening.

<span class="mw-page-title-main">Vertex cover</span> Subset of a graphs vertices, including at least one endpoint of every edge

In graph theory, a vertex cover of a graph is a set of vertices that includes at least one endpoint of every edge of the graph.

In computer science and operations research, approximation algorithms are efficient algorithms that find approximate solutions to optimization problems with provable guarantees on the distance of the returned solution to the optimal one. Approximation algorithms naturally arise in the field of theoretical computer science as a consequence of the widely believed P ≠ NP conjecture. Under this conjecture, a wide class of optimization problems cannot be solved exactly in polynomial time. The field of approximation algorithms, therefore, tries to understand how closely it is possible to approximate optimal solutions to such problems in polynomial time. In an overwhelming majority of the cases, the guarantee of such algorithms is a multiplicative one expressed as an approximation ratio or approximation factor i.e., the optimal solution is always guaranteed to be within a (predetermined) multiplicative factor of the returned solution. However, there are also many approximation algorithms that provide an additive guarantee on the quality of the returned solution. A notable example of an approximation algorithm that provides both is the classic approximation algorithm of Lenstra, Shmoys and Tardos for scheduling on unrelated parallel machines.

<span class="mw-page-title-main">Euclidean minimum spanning tree</span> Shortest network connecting points

A Euclidean minimum spanning tree of a finite set of points in the Euclidean plane or higher-dimensional Euclidean space connects the points by a system of line segments with the points as endpoints, minimizing the total length of the segments. In it, any two points can reach each other along a path through the line segments. It can be found as the minimum spanning tree of a complete graph with the points as vertices and the Euclidean distances between points as edge weights.

<i>k</i>-minimum spanning tree

The k-minimum spanning tree problem, studied in theoretical computer science, asks for a tree of minimum cost that has exactly k vertices and forms a subgraph of a larger graph. It is also called the k-MST or edge-weighted k-cardinality tree. Finding this tree is NP-hard, but it can be approximated to within a constant approximation ratio in polynomial time.

In graph theory, the metric dimension of a graph G is the minimum cardinality of a subset S of vertices such that all other vertices are uniquely determined by their distances to the vertices in S. Finding the metric dimension of a graph is an NP-hard problem; the decision version, determining whether the metric dimension is less than a given value, is NP-complete.

<span class="mw-page-title-main">Dominating set</span> Subset of a graphs nodes such that all other nodes link to at least one

In graph theory, a dominating set for a graph G is a subset D of its vertices, such that any vertex of G is either in D, or has a neighbor in D. The domination numberγ(G) is the number of vertices in a smallest dominating set for G.

<span class="mw-page-title-main">Feedback arc set</span> Edges that hit all cycles in a graph

In graph theory and graph algorithms, a feedback arc set or feedback edge set in a directed graph is a subset of the edges of the graph that contains at least one edge out of every cycle in the graph. Removing these edges from the graph breaks all of the cycles, producing an acyclic subgraph of the given graph, often called a directed acyclic graph. A feedback arc set with the fewest possible edges is a minimum feedback arc set and its removal leaves a maximum acyclic subgraph; weighted versions of these optimization problems are also used. If a feedback arc set is minimal, meaning that removing any edge from it produces a subset that is not a feedback arc set, then it has an additional property: reversing all of its edges, rather than removing them, produces a directed acyclic graph.

In graph theory, a connected dominating set and a maximum leaf spanning tree are two closely related structures defined on an undirected graph.

In computer science, a kernelization is a technique for designing efficient algorithms that achieve their efficiency by a preprocessing stage in which inputs to the algorithm are replaced by a smaller input, called a "kernel". The result of solving the problem on the kernel should either be the same as on the original input, or it should be easy to transform the output on the kernel to the desired output for the original problem.

In graph theory and theoretical computer science, the longest path problem is the problem of finding a simple path of maximum length in a given graph. A path is called simple if it does not have any repeated vertices; the length of a path may either be measured by its number of edges, or by the sum of the weights of its edges. In contrast to the shortest path problem, which can be solved in polynomial time in graphs without negative-weight cycles, the longest path problem is NP-hard and the decision version of the problem, which asks whether a path exists of at least some given length, is NP-complete. This means that the decision problem cannot be solved in polynomial time for arbitrary graphs unless P = NP. Stronger hardness results are also known showing that it is difficult to approximate. However, it has a linear time solution for directed acyclic graphs, which has important applications in finding the critical path in scheduling problems.

<span class="mw-page-title-main">Maximum cut</span> Problem of finding a maximum cut in a graph

In a graph, a maximum cut is a cut whose size is at least the size of any other cut. That is, it is a partition of the graph's vertices into two complementary sets S and T, such that the number of edges between S and T is as large as possible. Finding such a cut is known as the max-cut problem.

In computational geometry and computer science, the minimum-weight triangulation problem is the problem of finding a triangulation of minimal total edge length. That is, an input polygon or the convex hull of an input point set must be subdivided into triangles that meet edge-to-edge and vertex-to-vertex, in such a way as to minimize the sum of the perimeters of the triangles. The problem is NP-hard for point set inputs, but may be approximated to any desired degree of accuracy. For polygon inputs, it may be solved exactly in polynomial time. The minimum weight triangulation has also sometimes been called the optimal triangulation.

In mathematics, the minimum k-cut is a combinatorial optimization problem that requires finding a set of edges whose removal would partition the graph to at least k connected components. These edges are referred to as k-cut. The goal is to find the minimum-weight k-cut. This partitioning can have applications in VLSI design, data-mining, finite elements and communication in parallel computing.

In network theory, the Wiener connector is a means of maximizing efficiency in connecting specified "query vertices" in a network. Given a connected, undirected graph and a set of query vertices in a graph, the minimum Wiener connector is an induced subgraph that connects the query vertices and minimizes the sum of shortest path distances among all pairs of vertices in the subgraph. In combinatorial optimization, the minimum Wiener connector problem is the problem of finding the minimum Wiener connector. It can be thought of as a version of the classic Steiner tree problem, where instead of minimizing the size of the tree, the objective is to minimize the distances in the subgraph.

<span class="mw-page-title-main">Odd cycle transversal</span>

In graph theory, an odd cycle transversal of an undirected graph is a set of vertices of the graph that has a nonempty intersection with every odd cycle in the graph. Removing the vertices of an odd cycle transversal from a graph leaves a bipartite graph as the remaining induced subgraph.

The vertex k-center problem is a classical NP-hard problem in computer science. It has application in facility location and clustering. Basically, the vertex k-center problem models the following real problem: given a city with facilities, find the best facilities where to build fire stations. Since firemen must attend any emergency as quickly as possible, the distance from the farthest facility to its nearest fire station has to be as small as possible. In other words, the position of the fire stations must be such that every possible fire is attended as quickly as possible.

<span class="mw-page-title-main">Cutwidth</span> Property in graph theory

In graph theory, the cutwidth of an undirected graph is the smallest integer with the following property: there is an ordering of the vertices of the graph, such that every cut obtained by partitioning the vertices into earlier and later subsets of the ordering is crossed by at most edges. That is, if the vertices are numbered , then for every , the number of edges with and is at most .

A parameterized approximation algorithm is a type of algorithm that aims to find approximate solutions to NP-hard optimization problems in polynomial time in the input size and a function of a specific parameter. These algorithms are designed to combine the best aspects of both traditional approximation algorithms and fixed-parameter tractability.

The small set expansion hypothesis or small set expansion conjecture in computational complexity theory is an unproven computational hardness assumption. Under the small set expansion hypothesis it is assumed to be computationally infeasible to distinguish between a certain class of expander graphs called "small set expanders" and other graphs that are very far from being small set expanders. This assumption implies the hardness of several other computational problems, and the optimality of certain known approximation algorithms.

References