Steiner Tree
   HOME

TheInfoList



OR:

In
combinatorial mathematics Combinatorics is an area of mathematics primarily concerned with counting, both as a means and an end in obtaining results, and certain properties of finite structures. It is closely related to many other areas of mathematics and has many appl ...
, the Steiner tree problem, or minimum Steiner tree problem, named after
Jakob Steiner Jakob Steiner (18 March 1796 – 1 April 1863) was a Swiss mathematician who worked primarily in geometry. Life Steiner was born in the village of Utzenstorf, Canton of Bern. At 18, he became a pupil of Heinrich Pestalozzi and afterwards st ...
, is an
umbrella term In linguistics, semantics, general semantics, and ontologies, hyponymy () is a semantic relation between a hyponym denoting a subtype and a hypernym or hyperonym (sometimes called umbrella term or blanket term) denoting a supertype. In other wor ...
for a class of problems in
combinatorial optimization Combinatorial optimization is a subfield of mathematical optimization that consists of finding an optimal object from a finite set of objects, where the set of feasible solutions is discrete or can be reduced to a discrete set. Typical combi ...
. 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 In mathematical optimization and decision theory, a loss function or cost function (sometimes also called an error function) is a function that maps an event or values of one or more variables onto a real number intuitively representing some "cos ...
. 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 In discrete mathematics, and more specifically in graph theory, a graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense "related". The objects correspond to mathematical abstractions called '' v ...
with non-negative edge weights and a subset of vertices, usually referred to as terminals, the Steiner tree problem in graphs requires a
tree In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are ...
of minimum weight that contains all terminals (but may include additional vertices). Further well-known variants are the ''Euclidean Steiner tree problem'' and the '' rectilinear minimum Steiner tree problem''. 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 In graph theory, the shortest path problem is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is minimized. The problem of finding the shortest path between tw ...
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 In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
, the decision variant of the Steiner tree problem in graphs is
NP-complete In computational complexity theory, a problem is NP-complete when: # it is a problem for which the correctness of each solution can be verified quickly (namely, in polynomial time) and a brute-force search algorithm can find a solution by tryi ...
(which implies that the optimization variant is
NP-hard In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
); 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 Network planning and design is an iterative process, encompassing topological design, network-synthesis, and network-realization, and is aimed at ensuring that a new telecommunications network or service meets the needs of the subscriber and op ...
. 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 In computer science (specifically computational complexity theory), the worst-case complexity measures the resources (e.g. running time, memory) that an algorithm requires given an input of arbitrary size (commonly denoted as in asymptotic notati ...
, 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.


Euclidean Steiner tree

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 Plane(s) most often refers to: * Aero- or airplane, a powered, fixed-wing aircraft * Plane (geometry), a flat, 2-dimensional surface Plane or planes may also refer to: Biology * Plane (tree) or ''Platanus'', wetland native plant * ''Planes' ...
, 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 segment In geometry, a line segment is a part of a straight line that is bounded by two distinct end points, and contains every point on the line that is between its endpoints. The length of a line segment is given by the Euclidean distance between ...
s 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 A star network is an implementation of a spoke–hub distribution paradigm in computer networks. In a star network, every host is connected to a central hub. In its simplest form, one central hub acts as a conduit to transmit messages. The ...
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 Johann Carl Friedrich Gauss (; german: Gauß ; la, Carolus Fridericus Gauss; 30 April 177723 February 1855) was a German mathematician and physicist who made significant contributions to many fields in mathematics and science. Sometimes refer ...
, its first serious treatment was in a 1934 paper written in Czech by
Vojtěch Jarník Vojtěch Jarník (; 1897–1970) was a Czech mathematician who worked for many years as a professor and administrator at Charles University, and helped found the Czechoslovak Academy of Sciences. He is the namesake of Jarník's algorithm for ...
and . 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. For the Euclidean Steiner problem, points added to the graph ( Steiner points) must have a
degree Degree may refer to: As a unit of measurement * Degree (angle), a unit of angle measurement ** Degree of geographical latitude ** Degree of geographical longitude * Degree symbol (°), a notation used in science, engineering, and mathematics ...
of three, and the three edges incident to such a point must form three 120 degree angles (see
Fermat point In Euclidean geometry, the Fermat point of a triangle, also called the Torricelli point or Fermat–Torricelli point, is a point such that the sum of the three distances from each of the three vertices of the triangle to the point is the smallest ...
). 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 In Euclidean geometry, the Fermat point of a triangle, also called the Torricelli point or Fermat–Torricelli point, is a point such that the sum of the three distances from each of the three vertices of the triangle to the point is the smallest ...
; 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 In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
, and hence it is not known whether an
optimal solution In mathematics, computer science and economics, an optimization problem is the problem of finding the ''best'' solution from all feasible solutions. Optimization problems can be divided into two categories, depending on whether the variables ...
can be found by using a
polynomial-time algorithm In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by t ...
. However, there is a
polynomial-time approximation scheme In computer science (particularly algorithmics), a polynomial-time approximation scheme (PTAS) is a type of approximation algorithm for optimization problems (most often, NP-hard optimization problems). A PTAS is an algorithm which takes an insta ...
(PTAS) for Euclidean Steiner trees, i.e., a ''near-optimal'' solution can be found in polynomial time. 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 In mathematics, the Euclidean distance between two points in Euclidean space is the length of a line segment between the two points. It can be calculated from the Cartesian coordinates of the points using the Pythagorean theorem, therefor ...
is replaced with the
rectilinear distance A taxicab geometry or a Manhattan geometry is a geometry whose usual distance function or metric of Euclidean geometry is replaced by a new metric in which the distance between two points is the sum of the absolute differences of their Cartesian co ...
. The problem arises in the physical design of
electronic design automation Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD), is a category of software tools for designing Electronics, electronic systems such as integrated circuits and printed circuit boards. The tools wo ...
. In
VLSI circuit Very large-scale integration (VLSI) is the process of creating an integrated circuit (IC) by combining millions or billions of MOS transistors onto a single chip. VLSI began in the 1970s when MOS integrated circuit (Metal Oxide Semiconductor) c ...
s,
wire routing In electronic design, wire routing, commonly called simply routing, is a step in the design of printed circuit boards (PCBs) and integrated circuits (ICs). It builds on a preceding step, called placement, which determines the location of each ...
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.


Steiner tree in graphs and variants

Steiner trees have been extensively studied in the context of
weighted graph This is a glossary of graph theory. Graph theory is the study of graphs, systems of nodes or vertices connected in pairs by lines or edges. Symbols A B ...
s. The prototype is, arguably, the Steiner tree problem in 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 In mathematics, computer science and economics, an optimization problem is the problem of finding the ''best'' solution from all feasible solutions. Optimization problems can be divided into two categories, depending on whether the variables ...
associated with Steiner trees, the task is to find a minimum-weight Steiner tree; in the
decision problem In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question of the input values. An example of a decision problem is deciding by means of an algorithm whethe ...
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 In mathematics, the natural numbers are those numbers used for counting (as in "there are ''six'' coins on the table") and ordering (as in "this is the ''third'' largest city in the country"). Numbers used for counting are called ''Cardinal n ...
''k''. The decision problem is one of
Karp's 21 NP-complete problems In computational complexity theory, Karp's 21 NP-complete problems are a set of computational problems which are NP-complete. In his 1972 paper, "Reducibility Among Combinatorial Problems", Richard Karp used Stephen Cook's 1971 theorem that the bo ...
; hence the optimization problem is
NP-hard In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
. Steiner tree problems in graphs are applied to various problems in research and industry, including multicast routing and bioinformatics. A special case of this problem is when ''G'' is a
complete graph In the mathematical field of graph theory, a complete graph is a simple undirected graph in which every pair of distinct vertices is connected by a unique edge. A complete digraph is a directed graph in which every pair of distinct vertices is c ...
, each vertex ''v'' ∈ ''V'' corresponds to a point in a
metric space In mathematics, a metric space is a set together with a notion of ''distance'' between its elements, usually called points. The distance is measured by a function called a metric or distance function. Metric spaces are the most general settin ...
, 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 In mathematics, the triangle inequality states that for any triangle, the sum of the lengths of any two sides must be greater than or equal to the length of the remaining side. This statement permits the inclusion of degenerate triangles, but ...
. 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. While the Euclidean version admits a PTAS, it is known that the metric Steiner tree problem is APX-complete, i.e., unless
P = NP The P versus NP problem is a major unsolved problem in theoretical computer science. In informal terms, it asks whether every problem whose solution can be quickly verified can also be quickly solved. The informal term ''quickly'', used abov ...
, 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 \ln(4) + \varepsilon\approx1.386; however, approximating within a factor 96/95\approx 1.0105 is NP-hard. For the restricted case of Steiner Tree problem with distances 1 and 2, a 1.25-approximation algorithm is known. Karpinski and Alexander Zelikovsky constructed PTAS for the dense instances of Steiner Tree problems. In a special case of the graph problem, the Steiner tree problem for
quasi-bipartite graph In the mathematical field of graph theory, an instance of the Steiner tree problem (consisting of an undirected graph ''G'' and a set ''R'' of terminal vertices that must be connected to each other) is said to be quasi-bipartite if the non-terminal ...
s, ''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 In mathematics, a projective plane is a geometric structure that extends the concept of a plane. In the ordinary Euclidean plane, two lines typically intersect in a single point, but there are some pairs of lines (namely, parallel lines) that do ...
, wide and narrow cones, and others. 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. The Steiner problem has also been stated in the general setting of metric spaces and for possibly infinitely many points.


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. 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 In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
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. 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. 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 Kruskal's algorithm finds a minimum spanning forest of an undirected edge-weighted graph. If the graph is connected, it finds a minimum spanning tree. (A minimum spanning tree of a connected graph is a subset of the edges that forms a tree that i ...
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 Dijkstra's algorithm ( ) is an algorithm for finding the shortest paths between nodes in a graph, which may represent, for example, road networks. It was conceived by computer scientist Edsger W. Dijkstra in 1956 and published three years ...
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) In computer science, a heap is a specialized tree-based data structure which is essentially an almost complete tree that satisfies the heap property: in a ''max heap'', for any given node C, if P is a parent node of C, then the ''key'' (the ''v ...
to implement the priority queue and a
disjoint-set data structure In computer science, a disjoint-set data structure, also called a union–find data structure or merge–find set, is a data structure that stores a collection of disjoint (non-overlapping) sets. Equivalently, it stores a partition of a set ...
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, Jaroslaw Byrka et al. proved an \ln(4) + \varepsilon \le 1.39 approximation using a linear programming relaxation and a technique called iterative, randomized rounding.


Parameterized complexity of Steiner tree

The general graph Steiner tree problem is known to be
fixed-parameter tractable In computer science, parameterized complexity is a branch of computational complexity theory that focuses on classifying computational problems according to their inherent difficulty with respect to ''multiple'' parameters of the input or output. T ...
, with the number of terminals as a parameter, by the Dreyfus-Wagner algorithm. The running time of the Dreyfus-Wagner algorithm is 3^ \text(n), where n is the number of vertices of the graph and S is the set of terminals. Faster algorithms exist, running in c^ \text(n) time for any c > 2 or, in the case of small weights, 2^ \text(n) W time, where W is the maximum weight of any edge. A disadvantage of the aforementioned algorithms is that they use exponential space; there exist polynomial-space algorithms running in 2^ \text(n) W time and (7.97)^ \text(n) \log W time. It is known that the general graph Steiner tree problem does not have a parameterized algorithm running in 2^ \text(n) time for any \epsilon < 1, where t is the number of edges of the optimal Steiner tree, unless the
Set cover problem The set cover problem is a classical question in combinatorics, computer science, operations research, and complexity theory. It is one of Karp's 21 NP-complete problems shown to be NP-complete in 1972. Given a set of elements (called the univ ...
has an algorithm running in 2^ \text(m) time for some \epsilon < 1, where n and m are the number of elements and the number of sets, respectively, of the instance of the set cover problem. Furthermore, it is known that the problem does not admit a
polynomial kernel In machine learning, the polynomial kernel is a kernel function commonly used with support vector machines (SVMs) and other kernelized models, that represents the similarity of vectors (training samples) in a feature space over polynomials of th ...
unless \text \subseteq \text, even parameterized by the number of edges of the optimal Steiner tree and if all edge weights are 1.


Steiner ratio

The Steiner ratio is the
supremum In mathematics, the infimum (abbreviated inf; plural infima) of a subset S of a partially ordered set P is a greatest element in P that is less than or equal to each element of S, if such an element exists. Consequently, the term ''greatest l ...
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. In the Euclidean Steiner tree problem, the Steiner ratio is conjectured to be \tfrac\approx 1.1547, the ratio that is achieved by three points in an
equilateral triangle In geometry, an equilateral triangle is a triangle in which all three sides have the same length. In the familiar Euclidean geometry, an equilateral triangle is also equiangular; that is, all three internal angles are also congruent to each othe ...
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,''The New York Times'', 30 Oct 1990, reported that a proof had been found, and that
Ronald Graham Ronald Lewis Graham (October 31, 1935July 6, 2020) was an American mathematician credited by the American Mathematical Society as "one of the principal architects of the rapid development worldwide of discrete mathematics in recent years". He ...
, who had offered $500 for a proof, was about to mail a check to the authors.
the conjecture is still open. The best widely accepted
upper bound In mathematics, particularly in order theory, an upper bound or majorant of a subset of some preordered set is an element of that is greater than or equal to every element of . Dually, a lower bound or minorant of is defined to be an element ...
for the problem is 1.2134, by . For the rectilinear Steiner tree problem, the Steiner ratio is exactly \tfrac, 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. More precisely, for L_1 distance the square should be tilted at 45^ with respect to the coordinate axes, while for L_ distance the square should be axis-aligned.


See also

* Opaque forest problem *
Travelling salesman problem The travelling salesman problem (also called the travelling salesperson problem or TSP) asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each cit ...


Notes


References

* * * * * * * * * * * * * * * , pp. 208–209, problems ND12 and ND13. * * * * * * * * * * * * * * * * * * * * *


External links

*
M. Hauptmann, M. Karpinski (2013): A Compendium on Steiner Tree Problems

GeoSteiner
(Euclidean and rectilinear Steiner tree solver; Source available, for non commercial use)
SCIP-Jack
(Solver for the Steiner tree problem in graphs and 14 variants, e.g., prize-collecting Steiner tree problem; Source available, free for academic use)
https://archive.org/details/RonaldLG1988
(Movie: Ronald L Graham: The Shortest Network Problem (1988)

for finding the Steiner vertex of a triangle (i.e.,
Fermat point In Euclidean geometry, the Fermat point of a triangle, also called the Torricelli point or Fermat–Torricelli point, is a point such that the sum of the three distances from each of the three vertices of the triangle to the point is the smallest ...
), its distances from the triangle vertices, and the relative vertex weights.
Phylomurka
(Solver for small-scale Steiner tree problems in graphs)
https://www.youtube.com/watch?v=PI6rAOWu-Og
(Movie: solving the Steiner tree problem with water and soap) * {{Citation , url = https://www.researchgate.net/publication/316921061 , title = DCCast: Efficient Point to Multipoint Transfers Across Datacenters , contribution = Using Steiner Trees to Minimize Average Completion Times of Bulk Data Transfers , publisher = USENIX Association, last1 = Noormohammadpour , first1 = Mohammad , last2 = Raghavendra , first2 = Cauligi S. , last3 = Rao , first3 = Sriram , last4 = Kandula , first4 = Srikanth , year = 2017 , arxiv = 1707.02096 NP-complete problems Trees (graph theory) Computational problems in graph theory Geometric algorithms Geometric graphs