Efficient algorithms for Steiner Tree Problem Jie Meng.
-
date post
21-Dec-2015 -
Category
Documents
-
view
244 -
download
4
Transcript of Efficient algorithms for Steiner Tree Problem Jie Meng.
![Page 1: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/1.jpg)
Efficient algorithms for
Steiner Tree Problem
Jie Meng
![Page 2: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/2.jpg)
The Steiner Problem in Graphs, by S.E.Dreyfus and R.A. Wagner,
Networks, 1972 A Faster Algorithm for the Steiner Tree
Problem, By D. Molle, S. Richter and P.Rossmanith,
STACS06, 2006
![Page 3: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/3.jpg)
Definitions and Backgroud
Given a weighted graph G=(V, E, ), weight on edges, and a steiner set ;
A steiner graph of S is a connected subgraph of G which contains all nodes in S;
The Steiner Tree problem is to find a steiner graph of S with minimum weight.
This problem is quite important in industrial applications.
VS
![Page 4: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/4.jpg)
The Steiner Tree problem is NP-Complete(By Karp, 1971).
Approximatable within 1.55 ratio, but APX-complete.
Solvable in Improved up to
Definitions and Backgroud
)3( 2nO k
)1
ln1
()2(
Ok n
![Page 5: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/5.jpg)
Definitions and Background
Why Steiner Tree problem is Hard?
Spanning Tree VS. Steiner Tree
![Page 6: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/6.jpg)
Definitions and Background
Theorem: Let T be an optimal steiner tree for S, q be an inner node in T; If we break down T into several subtrees T1, T2 … in q, Ti are optimal for ;
This can be proved by contradiction.
qSTV i )(
![Page 7: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/7.jpg)
Definition and Background
q
![Page 8: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/8.jpg)
Definition and Background
q
![Page 9: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/9.jpg)
Definition and Background
q
![Page 10: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/10.jpg)
Definition and Background
q
![Page 11: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/11.jpg)
Dreyfus-Wagner’s Algorithm
Two Phrases: Computing the optimal steiner trees containing
D and p, where ; Computing the optimal steiner tree for S;
Let OPT(D, p) denote the optimal steiner tree for D and p, SP(u, v) denote the shortest path between u and v in G;
VpSD ,
![Page 12: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/12.jpg)
Dreyfus-Wagner’s Algorithm
Computing the optimal steiner trees for D and p; If |D|<3, w.l.o.g. let D={d1, d2}, so
)},(),(),({min),( 21 qpSPqdSPqdSPpDOPTVq
d1
d2
pq
![Page 13: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/13.jpg)
Dreyfus-Wagner’s Algorithm
Computing the optimal steiner trees for D and p; If |D| 3, then
),(),(),({min),(,
qEDOPTqEOPTqpSPpDOPTDEVq
qp
E
![Page 14: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/14.jpg)
Dreyfus-Wagner’s Algorithm
Computing the optimal steiner tree for S;
),(),({min)(,
qDSOPTqDOPTSOPTSDVq
qD
![Page 15: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/15.jpg)
Dreyfus-Wagner’s Algorithm
Time Complexity: Phrase 1, time=
Phrase 2, time=
Total Dreyfus-Wagner’s algorithm takes time O(3kn2).
22
3
32 nni
k kik
i
22 nk
![Page 16: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/16.jpg)
MRR’s algorithmMRR’s algorithm
The most time-consume part of The most time-consume part of Dreyfus-Wagner algorithm is phrase Dreyfus-Wagner algorithm is phrase 1, we have to enumerate all possible 1, we have to enumerate all possible subsets of every subset of S;subsets of every subset of S;
Can we reduce the cost of this part?Can we reduce the cost of this part?
![Page 17: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/17.jpg)
MRR’s algorithmMRR’s algorithm
Break down the optimal steiner tree Break down the optimal steiner tree only in steiner node;only in steiner node;
Enumerate subset only of size <t;Enumerate subset only of size <t;
![Page 18: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/18.jpg)
MRR’s AlgorithmMRR’s Algorithm
![Page 19: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/19.jpg)
MRR’s AlgorithmMRR’s Algorithm
![Page 20: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/20.jpg)
MRR’s algorithmMRR’s algorithm
)}()({min)(
||,qEDOPTEOPTDOPT
DqtEDE
For all subset D of S:
![Page 21: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/21.jpg)
MRR’s algorithmMRR’s algorithmIn some cases, this procedure may fail, In some cases, this procedure may fail,
simply because all steiner nodes simply because all steiner nodes have already become leaves, and the have already become leaves, and the tree is still not small enough.tree is still not small enough.
![Page 22: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/22.jpg)
MRR’s algorithmMRR’s algorithmExtend the steiner set
![Page 23: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/23.jpg)
MRR’s algorithmMRR’s algorithm
![Page 24: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/24.jpg)
MRR’s algorithmMRR’s algorithm
Lemma Let T be an optimal steiner Lemma Let T be an optimal steiner tree for S, t is an integer, we can add tree for S, t is an integer, we can add at most |S|/(t-1) many non-steiner at most |S|/(t-1) many non-steiner nodes into S such that T can be nodes into S such that T can be divided into several subtrees of size divided into several subtrees of size no larger than t, and all nodes in S no larger than t, and all nodes in S are leaves in those subtree.are leaves in those subtree.
![Page 25: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/25.jpg)
MRR’s algorithmMRR’s algorithm
Let t= c |S|;Let t= c |S|; Enumerate all possible subset of V of Enumerate all possible subset of V of
size |S|/(t-1), add this set into S;size |S|/(t-1), add this set into S; For all subsets D of S of size less than For all subsets D of S of size less than
t, call Dreyfus-Wagner algorithm to t, call Dreyfus-Wagner algorithm to compute the optimal steiner tree for compute the optimal steiner tree for D;D;
For all subsets D of S of size no less For all subsets D of S of size no less than t, than t,
)}()({min)(
||,qEDOPTEOPTDOPT
DqtEDE
![Page 26: Efficient algorithms for Steiner Tree Problem Jie Meng.](https://reader034.fdocuments.in/reader034/viewer/2022042507/56649d5f5503460f94a405f6/html5/thumbnails/26.jpg)
MRR’s algorithmMRR’s algorithm
The running time of this algorithm is The running time of this algorithm is
)1
ln1
()2(
Ok n
Question?