Variations of the Prize- Collecting Steiner Tree Problem Olena Chapovska and Abraham P. Punnen Networks 2006 Reporter: Cheng-Chung Li 2006/08/28
162 Outline Introduction Polynomial Algorithms A linear Algorithm for P(4) NP-Hard Problems Conclusion
163 Introduction to PCSTP Let G be an undirected graph with node set V(G) and edge set E(G) Let F be the family of all trees in G For each edge e E(G), a nonnegative cost c e is prescribed; for each node i V(G), a nonnegative weight w i is also prescribed Then the prize collecting Steiner tree problem(PCSTP) is to –Minimize –Subject to T F PCSTP=10
164 About PCSTP PCSTP has applications in the design of fiber-optic networks PCSTP was first considered by Goemans and Williamson in 1995 If w i =M, a large number for all i V(G), PCSTP reduces to the minimum spanning tree However, PCSTP in general is NP-hard, since the Steiner tree problem is a particular case of it Some people developed polynomial time approximation algorithms to solve PCSTP with guaranteed performance bound
165 In This Paper The paper considers seven new variations of the PCSTP. The ith problem P(i), 1 i 7, in this class can be defined as –P(i): Minimize f i (T) –Subject to T F The objective function of problems P(1) to P(7) can be given as follows: O(m+nlogn) NP-hard
166 Related to Other Problems If w i =M, for all i V(G), P(1), P(2), P(3), and P(4) reduce to the bottleneck spanning tree problem(BSP) Let V* V(G) be a set of prescribed nodes in G. Choose wi=M for all i V* and wi=0 for all i V(G)\V*, P(1), P(2), P(3), and P(4) reduce to the bottleneck Steiner tree problem(BSTP)
167 Polynomial Algorithms Let S be a subtree of V(G) and T be a spanning tree of G. A subtree T ’ of T is said to be cover S if S V(T ’ ). A subtree T ’’ of T that covers S is minimal, if there is no subtree T ’’’ of T that covers S such that V(T ’’’ ) V(T ’’ ) Let T 0 be a tree in G containing at least one edge and T* be a minimal spanning tree of G. Let T ^ be a minimal subtree of T* that covers V(T 0 ). Note that V(T 0 ) V(T ^ ) and V(T ^ )\V(T 0 ) may or may not be empty
168 Polynomial Algorithms Lemma 1: max e T0 {c e } max e T^ {c e } –Choose an edge e d T^ such that c ed = max e T^ {c e }, if e d T 0, the result follows immediately. –Otherwise, let P[a,b](respectively, [a,b]) be the unique path of node a, b in T^(respectively, T 0 ). There exists two nodes u and v in V(T 0 ) such that e d P[u,v] but e d [u,v], i.e., P[u,v] [u,v] –So P[u,v] [u,v] u v
169 Polynomial Algorithms Theorem 2: Let T* be a minimum spanning tree of G. Then, there exists an optimal solution to P(i), i=1,2,3,4 which is a subtree of T* –We first prove the case for i=1 –Suppose no subtree of T* is an optimal solution to P(1) and let T 0 be an optimal solution to P(1). Let T ^ be the minimal subtree of T* covering V(T 0 ). By lemma 1, max e T0 {c e } max e T^ {c e } –Because V(T 0 ) V(T ^ ) and w i 0, sum_{i\nin V(T^0)}\geq \sum_{i\nin V(T^0)} –So, f 1 (T ^ ) f 1 (T 0 ) and hence, T ^ is also an optimal solution to P(1). This contradicts the fact that no subtree of T* is an optimal solution to P(1) –Also, V(G)/V(T ^ ) V(G)/V(T 0 ), P(2), P(3), P(4) follows using similar arguments.
1610 Greedy Algorithm for P(1) Let T* be a minimum spanning tree of G and t 1 <t 2 < … <t |E| be an ascending arrangement of all distinct edge costs of T* Initially, consider isolated nodes as “ current forest ” and designate it F*; Choose a node with largest weight in T* and designate it as the “ best solution sofar ” Introduce the edges that cost t 1 <t 2 < … <t |E to F*, update F* and the “ best solution sofar ” (if necessary) The process is continued until F* becomes T*
1611 The Time Complexity of Algorithm Once T* is given, the greedy algorithm can be implemented in O(nlogn) using appropriate data structures. Thus P(1) can be solved in O( (m,n)+nlogn), where (m,n) is the complexity of computing the minimum spanning tree Note that a minimum spanning tree of G can be identified in O(m+nlogn) time, and hence, P(1) can be solved in O(m+nlogn) time. Of course, it is possible to incorporate the above greedy algorithm within the minimum spanning tree computations itself, without explicitly computing a minimum spanning tree first.
1612 NP-hard Problems Theorem P(5) and P(7) are NP-hard –Let V ’ V(G). By choosing each nodes in V ’ have weight M, and nodes in V(G)/V ’ have weight 0 –So, an optimal solution to P(5) solves the Steiner tree problem on G and the Steiner tree problem is NP-hard –A similar proof can be given for the case of P(7)
1613 NP-hard Problems Theorem P(6) is NP-hard –We consider the PARTITION problem first: Given n numbers a 1,a 2, …,a n, the PARTITION problem is to find a partition S 1,S 2 of {1,2, … n} such that \sum_{j S 1 }a j =\sum{j S 2 }a j or declare that no such partition exists –It can be verified that optimal objective funcation value of P(6) on this instance is ½ \sum_{i=1}^{n}a i precisely when the required partition exists –Because PARTITION is NP-hard, P(6) is NP-hard too v1v1 v2v2 vnvn v0v0 a1a1 a2a2 anan
1614 NP-hard Problems Theorem P(1) and P(3) are NP-hard for arbitrary node weights
1615 NP-hard Problems W first consider P(1) and reduce the node-weighted Steiner tree problem (NWSTP) to it. The NWSTP can be defined as follows –Let G ’ be a graph and for each i G ’ a weight x i is prescribed. Let V ’ be a given subset of V(G ’ ). Then the NWSTP is to find a tree T ’ in G ’ with V ’ V(T ’ ) such that \sum_{i V(T ’ )\V ’ }x i is minimized. Choose G=G ’ and w i =M for all i V ’. Set c(e)=1 for all e E(G) and w i =-x i for each i V(G)-V ’. It can be verified that an optimal solution to this instance of P(1) will solve NWSTP Using similar arguments, it can be shown that P(3) is NP- hard for arbitrary node weights
16 Conclusion P(1)~P(4), O(m+nlogn) P(5)~P(7), NP-hard In problems P(1) to P(7) if trees are replaced by s- t paths of G, the resulting problems are NP-hard. It follows from the fact that by choosing wi=M for all i V(G) where M is a large number, optimal s-t paths are forced to include all nodes of G and hence solving the Hamiltonian path problem on G