|
|
Line 1: |
Line 1: |
| {{Use dmy dates|date=February 2013}}
| | Eusebio Stanfill is what's indicated on my birth records although it is certainly not the name on the little birth certificate. Idaho is our [https://www.Google.com/search?hl=en&gl=us&tbm=nws&q=birth+install birth install]. I work as an pay for clerk. As a man what When i really like is coming off as but [https://Www.Google.com/search?hl=en&gl=us&tbm=nws&q=I%27m+thinking&btnI=lucky I'm thinking] on top of starting something new. You is likely to find my website here: http://circuspartypanama.com<br><br>Also visit my web blog ... [http://circuspartypanama.com clash of clans cheat gems] |
| [[File:Steiner 3 points.svg|thumb|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''.]]
| |
| [[File:Steiner 4 points.svg|thumb|Solution for four points—note that there are two Steiner points, ''S''<sub>1</sub> and ''S''<sub>2</sub>]]
| |
| | |
| The '''Steiner tree problem''', or the '''minimum Steiner tree problem''', named after [[Jakob Steiner]], is a problem in [[combinatorial optimization]], which may be formulated in a number of settings, with the common part being that it is required to find the shortest interconnect for a given set of objects.
| |
| | |
| The Steiner tree problem is superficially similar to the [[minimum spanning tree]] problem: given a set ''V'' of points (vertices), interconnect them by a network ([[Graph (mathematics)|graph]]) of shortest length, where the length is the sum of the lengths of all edges. The difference between the Steiner tree problem and the minimum spanning tree problem is that, in the Steiner tree problem, extra intermediate vertices and edges may be added to the graph in order to reduce the length of the spanning tree. These new vertices introduced to decrease the total length of connection are known as [[Steiner points]] or '''Steiner vertices'''. It has been proved that the resulting connection is a [[Tree (graph theory)|tree]], known as the '''Steiner tree'''. There may be several Steiner trees for a given set of initial vertices.
| |
| | |
| The Steiner tree problem has applications in [[electrical network|circuit]] layout or [[network design]]. Most versions of the Steiner tree problem are [[NP-complete]]. In fact, one of these was among [[Karp's 21 NP-complete problems|Karp's original 21 NP-complete problems]]. Some restricted cases can be solved in [[polynomial time]]. In practice, [[heuristics]] are used.
| |
| | |
| ==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 (geometry)|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 segment]]s either directly or via other [[Point (geometry)|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.
| |
| | |
| For the Euclidean Steiner problem, points added to the graph (Steiner points) must have a [[Degree (graph theory)|degree]] of three, and the three edges incident to such a point must form three 120 degree angles{{Citation needed|date=February 2011}}. 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 [[Optimization problem|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.<ref>{{Cite web
| |
| | last1=Crescenzi | first1=Pierluigi
| |
| | last2=Kann | first2=Viggo
| |
| | last3=Halldórsson | first3=Magnús
| |
| | last4=Karpinski | first4=Marek | authorlink4=Marek Karpinski
| |
| | last5=Woeginger | first5=Gerhard
| |
| | title=A Compendium of NP Optimization Problems
| |
| | contribution=Minimum geometric Steiner tree
| |
| | url=http://www.nada.kth.se/~viggo/wwwcompendium/node79.html
| |
| | year=2000
| |
| | ref=harv
| |
| | postscript=<!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}
| |
| }}.</ref> Note that 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== | |
| {{main|Rectilinear Steiner tree}}
| |
| | |
| The minimum rectilinear Steiner tree problem (MRST) 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 (electronics)|physical design]] of [[electronic design automation]]. In [[VLSI circuit]]s, [[wire routing]] is carried out by wires running only in vertical and horizontal directions, due to high [[computational complexity]] of the task<ref name=sher>Naveed Sherwani, "Algorithms for VLSI Physical Design Automation"</ref> and manufacturing constraints.
| |
| | |
| ==Generalization of minimum Steiner tree==
| |
| Steiner trees have also been studied in the context of [[weighted graph]]s. In the general '''Steiner tree problem''' ('''Steiner tree in graphs'''), we are given an edge-weighted graph ''G'' = (''V'', ''E'', ''w'') and a subset ''S'' ⊆ ''V'' of required vertices. A Steiner tree is a tree in ''G'' that spans all vertices of ''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]], we are given a value ''k'' and the task is to determine whether a Steiner tree of total weight at most ''k'' exists. The decision problem was one of [[Karp's 21 NP-complete problems]]; hence the optimization problem is [[NP-hard]].
| |
| | |
| 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.<ref>{{harvnb|Vazirani|2003|pp=27–28}}.</ref>
| |
| | |
| While the Euclidean version admits a PTAS, it is known that the metric Steiner tree problem is [[APX-complete]], i.e., it is believed that arbitrarily good approximation ratios cannot in general be achieved in polynomial time. There is a polynomial-time algorithm that finds a factor-(ln(4)+ε)=factor-1.386... [[Approximation algorithm|approximation]] of a minimum Steiner tree<ref>{{cite journal|last1=Byrka|first1=J.|last2=Grandoni|first2=F.|last3=Rothvoß|first3=T.|last4=Sanita|first4=L.|year=2010|title=An Improved LP-based Approximation for Steiner Tree|doi=10.1145/1806689.1806769|journal = [[Proceedings of the 42nd ACM symposium on Theory of computing ]]|pages= 583–592 }}</ref>
| |
| while approximating within a factor 96/95=1.0105... is NP-hard.
| |
| <ref>{{cite journal|last1=Chlebík|first1=Miroslav|last2=Chlebíková|first2=Janka|year=2008|title=The Steiner tree problem on graphs: Inapproximability results|doi=10.1016/j.tcs.2008.06.046|journal=[[Theoretical Computer Science (journal)|Theoretical Computer Science]]|url=http://www.sciencedirect.com/science/article/pii/S0304397508004660}}</ref>
| |
| | |
| In a special case of the graph problem, the Steiner tree problem for [[quasi-bipartite graph]]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]], wide and narrow cones, and others.<ref>{{cite book |author=Dingzhu Du, Frank Hwang |title=Computing in Euclidean geometry |publisher=World Scientific Publishing Co |place=River Edge, NJ |year=1995 |isbn=981-02-1876-1 |series=[[Lecture Notes of Computing]] |volume=4 | edition=2nd}}, p. 361</ref>
| |
| | |
| Another 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.
| |
| | |
| Recently, the Steiner problem has been stated in the general setting of metric spaces and for possibly infinitely many points (see {{cite journal|last1=Paolini|first1=E. |last2=Stepanov|first2=E.|title=Existence and regularity results for the Steiner problem|journal=Calc. Var. Partial Diff. Equations|year=2012|doi=10.1007/s00526-012-0505-4}}).
| |
| | |
| ==Steiner ratio==
| |
| A minimum spanning tree is a feasible but not usually optimal solution to the Steiner tree problem. The '''Steiner ratio''' is the supremum of the ratio of the total length of a minimum spanning tree to the total length of a minimum Steiner tree as the vertex set varies.<ref>{{Cite book | first=Joseph L. | last=Ganley | url=http://www.nist.gov/dads/HTML/steinerratio.html | contribution=Steiner ratio | title=Dictionary of Algorithms and Data Structures | editor-first=Paul E. | editor-last=Black | publisher=U.S. National Institute of Standards and Technology | year=2004 | accessdate=2012-05-24 | ref=harv | postscript=<!-- Bot inserted parameter. Either remove it; or change its value to "." for the cite to end in a ".", as necessary. -->{{inconsistent citations}}}}.</ref>
| |
| | |
| In a metric Steiner tree problem, the Steiner ratio is always bounded by 2. Therefore an algorithm that finds a minimum spanning tree is a polynomial-time factor-2 [[approximation algorithm]] for the metric Steiner tree problem.
| |
| | |
| In the Euclidean Steiner tree problem, the Steiner ratio is conjectured to be <math>\frac{2}{\sqrt{3}}</math>. Despite earlier claims of a proof,<ref>The New York Times, Oct 30, 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.</ref> the conjecture is still open.<ref>{{cite journal|last=Ivanov|first=A. O.|coauthors=A. A. Tuzhilin|title=The Steiner Ratio Gilbert–Pollak Conjecture Is Still Open: Clarification Statement|journal=Algorithmica|year=2012|volume=62|issue=1-2|pages=630–632|doi=10.1007/s00453-011-9508-3|url=http://www.springerlink.com/content/4433031487u14777/|accessdate=1 March 2012}}</ref>
| |
| In the Rectilinear Steiner tree problem, the Steiner ratio is <math>\frac{3}{2}</math>.
| |
| | |
| ==See also==
| |
| *[[Opaque forest problem]]
| |
| | |
| ==Notes==
| |
| <references />
| |
| | |
| ==References==
| |
| * {{Garey-Johnson}}, p. 208–209, problems ND12 and ND13.
| |
| * {{cite book |author=F. K. Hwang, D. S. Richards, P. Winter |title=The Steiner Tree Problem |publisher=[[Elsevier]] |place=[[North-Holland]] |year=1992 |isbn=0-444-89098-X |series=[[Annals of Discrete Mathematics]] |volume=53}}
| |
| * {{cite book |author=A. O. Ivanov, A. A. Tuzhilin |title=Minimal Networks: The Steiner Problem and Its Generalizations |publisher=[[CRC Press]] |place=N.W., Boca Raton, Florida |year=1994 |isbn=978-0-8493-8642-8}}
| |
| * {{cite book |author=A. O. Ivanov, A. A. Tuzhilin |title=Branching solutions to one-dimensional variational problems |publisher=[[World Scientific]] |place=Singapore-New Jersey-London-Hong Kong |year=2000 |isbn=978-981-02-4060-8}}
| |
| * {{cite book |author=A. O. Ivanov, A. A. Tuzhilin |title=Extreme Networks Theory |place=Moscow-Izhevsk |publisher=Institute of Computer Investigations |year=2003 |language=Russian |isbn=5-93972-292-X}}
| |
| *{{cite book
| |
| | last1=Korte | first1=Bernhard
| |
| | last2=Vygen | first2=Jens
| |
| | title=Combinatorial Optimization: Theory and Algorithms
| |
| | publisher=[[Springer Science+Business Media|Springer]]
| |
| | year=2006
| |
| | edition=3rd
| |
| | isbn=3-540-25684-9
| |
| | chapter=Section 20.1
| |
| }}
| |
| *{{cite book
| |
| | last = Vazirani | first = Vijay V. | authorlink = Vijay Vazirani
| |
| | title = Approximation Algorithms
| |
| | publisher = Springer
| |
| | year = 2003
| |
| | place = Berlin
| |
| | isbn = 3-540-65367-8
| |
| }}
| |
| | |
| *{{cite journal
| |
| |last1= Berman |first1= Piotr
| |
| |last2= Karpinski |first2= Marek | authorlink2 = Marek Karpinski
| |
| |last3= Zelikovsky |first3= Alexander
| |
| |year= 2009
| |
| |title= 1.25-Approximation Algorithm for Steiner Tree Problem with Distances 1 and 2
| |
| |journal= Lecture Notes in Computer Science
| |
| |volume= 5664
| |
| |pages= 86–97
| |
| |url=
| |
| |doi=10.1007/978-3-642-03367-4_8
| |
| |postscript= .
| |
| |issue=
| |
| |ref=
| |
| }}
| |
| | |
| *{{cite book
| |
| | last1=Wu | first1=Bang Ye
| |
| | last2=Chao | first2=Kun-Mao
| |
| | title=Spanning Trees and Optimization Problems
| |
| | publisher=Chapman & Hall/CRC
| |
| | year=2004
| |
| | isbn=1-58488-436-3
| |
| | chapter=Chapter 7
| |
| }}
| |
| *{{cite journal
| |
| |last1= Bern
| |
| |first1= Marshall W.
| |
| |last2= Graham
| |
| |first2= Ronald L.
| |
| |year= 1989
| |
| |title= The Shortest-Network Problem
| |
| |journal= Scientific American
| |
| |volume= 260
| |
| |pages= 84–89
| |
| |url=
| |
| |doi=10.1038/scientificamerican0189-84
| |
| |postscript= .
| |
| |issue=1
| |
| |ref= harv
| |
| }}
| |
| *{{cite book |author=Dietmar Cieslik |title=Steiner Minimal Trees |year=1998 |isbn=0-7923-4983-0 |pages=319}}
| |
| | |
| ==External links==
| |
| {{Commons category|Steiner tree problem}}
| |
| *{{springer|title=Steiner tree problem|id=s/s110270|last=Hazewinkel|first=M.}}
| |
| *[http://theory.cs.uni-bonn.de/info5/steinerkompendium/ M. Hauptmann, M. Karpinski (2013): A Compendium on Steiner Tree Problems]
| |
| *[http://www.cs.sunysb.edu/~algorith/implement/geosteiner/implement.shtml GeoSteiner] (Steiner tree solver, Source available, for non commercial use)
| |
| *[http://www.archive.org/details/RonaldLG1988 http://www.archive.org/details/RonaldLG1988] (Movie: Ronald L Graham: The Shortest Network Problem (1988)
| |
| *[http://nuclear.llnl.gov/CNP/apt/apt/aptsver.html Fortran subroutine] for finding the Steiner vertex of a triangle (i.e., [[Fermat point]]), its distances from the triangle vertices, and the relative vertex weights.
| |
| *[http://phylomurka.sf.net Phylomurka] (Solver for the Steiner tree problem in networks)
| |
| | |
| [[Category:NP-complete problems]]
| |
| [[Category:Trees (graph theory)]]
| |
| [[Category:Computational problems in graph theory]]
| |
| [[Category:Geometric algorithms]]
| |
| [[Category:Geometric graphs]]
| |