Exact Algorithms for the Steiner Tree Problem
Total Page:16
File Type:pdf, Size:1020Kb
Exact Algorithms for the Steiner Tree Problem Xinhui Wang The research presented in this dissertation was funded by the Netherlands Organization for Scientific Research (NWO) grant 500.30.204 (exact algo- rithms) and carried out at the group of Discrete Mathematics and Mathe- matical Programming (DMMP), Department of Applied Mathematics, Fac- ulty of Electrical Engineering, Mathematics and Computer Science of the University of Twente, the Netherlands. Netherlands Organization for Scientific Research NWO Grant 500.30.204 Exact algorithms. UT/EWI/TW/DMMP Enschede, the Netherlands. UT/CTIT Enschede, the Netherlands. The financial support from University of Twente for this research work is gratefully acknowledged. The printing of this thesis is also partly supported by CTIT, University of Twente. The thesis was typeset in LATEX by the author and printed by W¨ohrmann Printing Service, Zutphen. Copyright c Xinhui Wang, Enschede, 2008. ISBN 978-90-365-2660-9 ISSN 1381-3617 (CTIT Ph.D. thesis Series No. 08-116) All rights reserved. No part of this work may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior permis- sion from the copyright owner. EXACT ALGORITHMS FOR THE STEINER TREE PROBLEM DISSERTATION to obtain the degree of doctor at the University of Twente, on the authority of the rector magnificus, prof. dr. W. H. M. Zijm, on account of the decision of the graduation committee, to be publicly defended on Wednesday 25th of June 2008 at 15.00 hrs by Xinhui Wang born on 11th of February 1978 in Henan, China. This dissertation has been approved by the promoter, prof. dr. Gerhard J. Woeginger and the assistant promoter, dr. Walter Kern. Contents List of Figures v List of Tables ix 1 Introduction 1 1.1 TheSteinertreeproblem . .. .. .. .. .. 1 1.1.1 History of the Steiner tree problem . 2 1.1.2 Relatedproblems. .. .. .. .. .. 3 1.2 NP -hardness .......................... 5 1.2.1 Definitions and notions . 5 1.2.2 The class NP ...................... 6 1.3 Algorithms for the Steiner tree problem . 8 1.3.1 Exactalgorithm .................... 8 1.3.2 Approximation algorithm . 11 1.4 ESTproblemandRSTproblem. 12 1.4.1 Algorithms for the EST problem . 13 1.4.2 Algorithms for the RST problem . 15 1.5 Overview and contributions . 16 2 Exact algorithm for the rectilinear Steiner tree 19 2.1 Introduction........................... 19 2.1.1 Definitions and notions . 19 2.1.2 Canonicaltree ..................... 21 2.2 The properties of a full component . 22 2.2.1 Hwang’s theorem . 22 2.2.2 Empty region conditions . 25 ii CONTENTS 2.2.3 Upperboundsfortheshortleg . 29 2.3 Anexactalgorithm....................... 31 2.3.1 Generation of full components . 31 2.3.2 Construction of the optimal tree . 32 3 Exact algorithms for the Steiner tree problem 35 k 3.1 The algorithm in time O∗(2.684 )............... 35 3.1.1 Introduction ...................... 35 3.1.2 Improvement of Dreyfus-Wagner algorithm . 36 3.1.3 The rectilinear case . 43 3.1.4 Concludingremarks . 45 k 3.2 The algorithm in time O∗(2 + δ) ............... 45 3.2.1 Improving the exponential time bound . 46 3.2.2 Improving the polynomial factor . 50 3.3 Conclusion ........................... 53 4 Tree star and candidate component 55 4.1 Introduction........................... 55 4.2 Treestar............................. 57 4.3 Thenumberoftreestars. 61 4.3.1 Theupperbound.................... 62 4.3.2 Thelowerbound .................... 69 4.3.3 Remarks......................... 70 4.4 The number of candidate components . 71 4.4.1 Forbiddencase1 .................... 71 4.4.2 Forbiddencase2 .................... 78 4.4.3 Monotone candidate components . 82 4.4.4 The number of candidate components . 86 4.4.5 Remarks......................... 90 4.5 Two conditions for the candidate component . 90 4.5.1 T -branchescondition. 90 4.5.2 Two-layer tree . 92 4.6 Conclusion ........................... 99 Conclusion 101 CONTENTS iii A Optimum structure for a monotone tree star 103 A.1 Forbiddencases.. .. .. .. .. .. .. 103 A.2 Optimum topological structure of an MTS . 114 Summary 123 Bibliography 125 Acknowledgements 135 About the Author 137 List of Figures 2.1 Exampleofsliding ....................... 20 2.2 Exampleofflipping....................... 21 2.3 Fullcomponent:type1 . .. .. .. .. .. 22 2.4 Fullcomponent:type2 . .. .. .. .. .. 22 2.5 Proof of Hwang’s theorem: case 1 . 24 2.6 Proof of Hwang’s theorem: case 2 . 24 2.7 Labelling the nodes in a component. 25 2.8 Diamondsmustbeempty. 26 2.9 Rectangles must be empty. 26 2.10 Anonemptyrectangle. 27 2.11 Trianglesmustbeempty. 28 2.12 Weak triangle condition. 28 2.13 ProofofLemma2.2.5. 29 2.14 ProofofLemma2.2.6. 30 2.15 ProofofLemma2.2.7 . .. .. .. .. .. 30 3.1 3-Splits ............................. 42 3.2 3-Splitssubtrees ........................ 42 3.3 Spliting the optimum tree into components . 46 3.4 Subtrees............................. 46 3.5 ASCalgorithm ......................... 47 4.1 Hwangtree ........................... 56 4.2 Terminals in a component. 57 4.3 Diamonds ............................ 58 4.4 Rectangles............................ 58 vi LIST OF FIGURES 4.5 Triangles ............................ 59 4.6 T + e. .............................. 60 4.7 Triangle condition: case 1 . 61 4.8 Triangle condition: case 2 . 61 4.9 Emptycircles........................... 62 4.10 Terminals above and below the chain. 62 4.11 11 is forbidden for yiyj. .................... 63 4.12 10 is forbidden for yiyi+1. ................... 64 4.13 Illustration of Lemma 4.3.3. 64 4.14 Feasible regions for yi and yi′.................. 65 4.15 A tight worst case example. 70 4.16 Treestarinforbiddencase1. 72 4.17 Subtree T inforbiddencase1 . 72 4.18 Subtree T ∗ inforbiddencase1 .. .. .. .. .. 73 4.19 yiyi+1yi+2yi+3 = 1001 is allowed . 73 4.20 yi+1yi+2yi+3yi+4 = 1001 is allowed . 74 4.21 yi+2yi+3yi+4yi+5 = 1001 is allowed . 75 4.22 yi+3yi+4yi+5yi+6 = 1001 is allowed . 76 4.23 yi+5yi+6yi+7yi+8 = 1001 is allowed . 76 4.24 Treestarinforbiddencase2. 79 4.25 Subtree T inforbiddencase2 . 79 4.26 Subtree T ∗ inforbiddencase2 .. .. .. .. .. 80 4.27 yiyi+1yi+2yi+3 = 1001 is allowed . 80 4.28 yi+1yi+2yi+3yi+4 = 1001 is allowed . 81 4.29 yi+2yi+3yi+4yi+5 = 1001 is allowed . 81 4.30 Structuretree:case1 . 84 4.31 Structuretree:case2 . 85 4.32 Structuretree:case3.1 . 85 4.33 Structuretree:case3.2 . 86 4.34 The case with di′ > di′+1 .................... 87 4.35 Localmaximalpoint . 87 4.36 Localminimalpoint . 88 4.37 The case with yj =0...................... 88 4.38 Local minimal point and local maximal point . 89 4.39 The case with j i +2 .................... 90 ≤ 4.40 T in T -branchcondition . 91 LIST OF FIGURES vii 4.41 T ∗ in T -branchcondition . 91 4.42 yj isthemaximumone..................... 92 4.43 yj isthemiddleone ...................... 92 4.44 T intheexample ........................ 93 4.45 T ∗ intheexample ....................... 93 4.46 Subtree of a monotone tree star . 94 4.47 Above layer and below layer . 94 4.48 Connection to the left subtree . 95 4.49 Forbidden connection . 95 4.50 Possible connections . 96 4.51 yi directly connects to yi′ .................... 97 A.1 Monotonetreestar . 105 A.2 One possible case of path p .................. 105 A.3 The case j < i ......................... 106 A.4 The case j > i +2 ....................... 107 A.5 yiyi+2 isforbidden ....................... 107 A.6 yi+1 directly connects to yi+2 ................. 107 A.7 Horizontal segment . 108 A.8 mn is above the original chain . 108 A.9 yi′ directly connects to yj′ with j > i ............. 109 A.10 yi′ directly connects to yj′ with j < i ............. 109 A.11 The path is over yi 1 ...................... 110 − A.12 mn isabovethechain . .. .. .. .. .. 111 A.13 mn isbelowthechain . .. .. .. .. .. 111 A.14 p is over yi+1 .......................... 112 A.15 p is below yi′ ........................... 113 A.16 p is between yi and yi′+1 .................... 113 A.17 yi directly connects to yi′ 2 .................. 114 − A.18 yi directly connects to yi′ .................... 115 A.19 The forbidden of yi directly connecting to yi′ ......... 116 A.20 yi directly connects to yi+1 .................. 116 A.21 Topological structure of yi directly connecting to yi+1 . 117 A.22 yi directly connects to yi′ and yi+1 .............. 117 A.23 yi directly connects to yi′ and yi+1 .............. 118 A.24 yi directly connects to yi 1 and yi′ .............. 118 − A.25 yiyi′ 1 isforbidden ....................... 119 − viii LIST OF FIGURES A.26 yi directly connects to yi′ 1,yi 1 and yi′ ............ 119 − − A.27 yi directly connects to yi′ 1,yi 1 and yi′ ............ 119 − A.28Thepossiblestructure .− . 120 A.29 yi,yi′,yi+1,yi 1 and yi′ 1 are a part of a tree star . 120 − − A.30 yi,yi′,yi+1,yi 1 and yi′ 1 contain a tree star . 120 − A.31Optimalstructure .− . 121 List of Tables 3.1 The complexity of computing subsets . 37 3.2 Polynomial bound and exponential bound . 43 p 1 1 3.3 O(ǫ − ) and ǫ .......................... 53 4.1 Thenumberofcandidatesets.. 71 Chapter 1 Introduction The definitions and the algorithms for the Steiner tree problem will be introduced in this chapter. 1.1 The Steiner tree problem After more than 26 years of war, emperor Qinshi Huangdi finally con- quered the other six Chinese countries and built the first powerful central- ized state in 221 BC. In order to consolidate and strengthen the empire, the emperor wanted to build a road-network which would connect some main cities of the seven countries. From the economic view, the newly es- tablished road-network should be as short as possible and be built on the basis of existing roads. However, which roads should be selected then? It was a big problem for Qingshi Huangdi in his time. Actually, Qinshi Huangdi’s problem can be transformed to a problem on an undirected graph G = (V,E,w), where V is the vertex set, E is the edge set, and w vector of edge weight.