Published on

10-Jul-2016View

212Download

0

Embed Size (px)

Transcript

<ul><li><p>Theory Comput Syst (2010) 46: 723736DOI 10.1007/s00224-009-9215-5</p><p>Simple and Improved Parameterized Algorithmsfor Multiterminal Cuts</p><p>Mingyu Xiao</p><p>Published online: 8 May 2009 Springer Science+Business Media, LLC 2009</p><p>Abstract Given a graph G = (V ,E) with n vertices and m edges, and a sub-set T of k vertices called terminals, the Edge (respectively, Vertex) Multitermi-nal Cut problem is to find a set of at most l edges (non-terminal vertices), whoseremoval from G separates each terminal from all the others. These two prob-lems are NP-hard for k 3 but well-known to be polynomial-time solvable fork = 2 by the flow technique. In this paper, based on a notion farthest minimumisolating cut, we design several simple and improved algorithms for Multitermi-nal Cut. We show that Edge Multiterminal Cut can be solved in O(2lkT (n,m))time and Vertex Multiterminal Cut can be solved in O(klT (n,m)) time, whereT (n,m) = O(min(n2/3,m1/2)m) is the running time of finding a minimum (s, t)cut in an unweighted graph. Furthermore, the running time bounds of our algo-rithms can be further reduced for small values of k: Edge 3-Terminal Cut can besolved in O(1.415lT (n,m)) time, and Vertex {3,4,5,6}-Terminal Cuts can be solvedin O(2.059lT (n,m)), O(2.772lT (n,m)), O(3.349lT (n,m)) and O(3.857lT (n,m))time respectively. Our results on Multiterminal Cut can also be used to obtain fasteralgorithms for Multicut: O((min(</p><p>2k, l) + 1)2k2lT (n,m))-time algorithm for Edge</p><p>Multicut and O((2k)k+l/2T (n,m))-time algorithm for Vertex Multicut.</p><p>Keywords Graph algorithm Parameterized algorithm Multiterminal cut Multicut</p><p>A preliminary version of this paper was presented at the 3rd International Computer ScienceSymposium in Russia (CSR 2008), and appeared in [1].The work was supported in part by UESTC Youth Science Funds and Earmarked Research Grant410206 of the Research Grants Council of Hong Kong SAR. Most of the work was done when theauthor was a Ph.D. student in Department of Computer Science and Engineering, the ChineseUniversity of Hong Kong.</p><p>M. Xiao ()School of Computer Science and Engineering, University of Electronic Science and Technologyof China, Chengdu 610054, Peoples Republic of Chinae-mail: myxiao@gmail.com</p></li><li><p>724 Theory Comput Syst (2010) 46: 723736</p><p>1 Introduction</p><p>Given a graph G = (V ,E) with |V | = n vertices and |E| = m edges, positive integersk and l, and a set T V of k vertices, called terminals, the Edge (respectively, Ver-tex) Multiterminal Cut problem is to find a subset S of at most l edges (non-terminalvertices) such that all terminals in T are in different components of G S. Thesetwo Multiterminal Cut problems are fundamental network design problems and haveapplications in VLSI system design, parallel computing, distributed computing, clus-tering, and many others [24].</p><p>Dahlhaus et al. [2] initiated the study of Edge Multiterminal Cut by establish-ing its NP-hardness for each fixed k 3 and giving a polynomial-time (2 2/k)-approximation algorithm. Later Calinescu et al. [5] used a novel geometric relax-ation to obtain a polynomial-time (1.5 1/k)-approximation algorithm for EdgeMultiterminal Cut, and the current best approximation algorithm is the polynomial-time (1.3438 k)-approximation algorithm developed by Karger et al. [6]. Further-more, Garg et al. [7] obtained a polynomial-time (2 2/k)-approximation algorithmfor Vertex Multiterminal Cut, and Naor and Zosin [8] gave a polynomial-time 2-approximation algorithm for the Multiterminal Cut problem in directed graphs. Interms of exact algorithms, Edge/Vertex Multiterminal Cuts for k = 2 degenerate tothe well-known Minimum Edge/Vertex Cut problems and can be solved in polynomialtime by the flow technique and some other techniques. For k 3, Dahlhaus et al. [2]gave an O((4k)kn(2k1) logn)-time algorithm for solving Edge Multiterminal Cut inplanar graphs, which was later improved to O(k4kn2k4 logn) by Hartvigsen [9].Yeh [3] also gave an O(kk(n k)2kn log(n k))-time algorithm for Planar EdgeMultiterminal Cut. Chen and Wu [10] obtained an O(k3n+ kn logn)-time algorithmfor planar graphs where all the terminals are on the boundary of a face. Marx [11]obtained a 4l3nO(1)-time algorithm for Vertex Multiterminal Cut in general graphs.Recently, Chen et al. [12] and Guillemot [13] improved Marxs result to 4lnO(1) re-spectively.</p><p>In this paper, we concentrate on exact algorithms for Multiterminal Cut. To makethem tractable, we put much attention to the scenarios where the size l of the multiter-minal cut is small. This point of view has drawn much attention in NP-hard problemsrecently, such as Feige and Mahdians work [14] on finding small balanced cuts,and so on. Those who are familiar with Parameterized Complexity [1517] will findour results positive on the fixed-parameter tractability of finding minimum multiter-minal cuts. The running time bounds of most of our algorithms are in the form off (l)|I |O(1), where f (l) is a computable function and |I | is the input size of the prob-lem, which implies that our problems are fixed-parameter tractable when l is takenas a parameter. A fixed-parameter tractable algorithm is also called a parameterizedalgorithm.</p><p>We show that Edge Multiterminal Cut can be solved in O(2k2k1 lkT (n,m)) time,</p><p>which implies that Edge Multiterminal Cut can be solved in polynomial timewhen l is O(logn). For Vertex Multiterminal Cut, we obtain an O(klT (n,m))-time algorithm. We also prove better running time bounds for small values of k:O(2.059lT (n,m)), O(2.772lT (n,m)), O(3.349lT (n,m)) and O(3.857lT (n,m))-time algorithms for Vertex {3,4,5,6}-Terminal Cuts respectively. Our algorithms for</p></li><li><p>Theory Comput Syst (2010) 46: 723736 725</p><p>Edge Multiterminal Cut and Vertex {3,4,5,6}-Terminal Cuts are the fastest para-meterized algorithms so far. Furthermore, our algorithms for Multiterminal Cut canbe easily applied to another famous problemthe Multicut problem, in which weare required to separate k given pairs of terminals by deleting at most l edges or ver-tices. We show that Edge Multicut can be solved in O((min(</p><p>2k, l)+1)2k2lT (n,m))</p><p>time and Vertex Multicut can be solved in O((2k)k+l/2T (n,m)) time. In particular,Edge Multicut and Vertex Multicut for k 5 can be solved in O(1.415lT (n,m)) andO(2.059lT (n,m)) time respectively. For most cases, our results improve the previ-ously known result of 2kl4l3nO(1) [11] on Multicut.</p><p>Our algorithms are based on some important properties of the farthest minimumisolating cut of a terminal (see the definition in Sect. 2.3) and a simple observationthat each element (an edge, or a vertex for the vertex version) in the farthest minimumisolating cut of a terminal is either in the solution or not. We arbitrarily choose oneelement and branch on it by either including it in the solution or excluding it fromthe solution. In the former branch, the size of the current solution increases by 1; andin the latter branch, we can get an equivalent graph, in which the size of the farthestminimum isolating cut of the same terminal will increase. When a solution exists, thesize of the solution and all the minimum isolating cuts are bounded by l, and thus wecan build a bounded search tree to solve both Edge and Vertex Multiterminal Cuts.</p><p>The rest of this paper is organized as follows:In Sect. 2, we first introduce some basic techniques and present some structural</p><p>properties of optimal cut problems. Farthest minimum isolating cut is a frequentlyused notion in our algorithms. Based on it, we can identify a small set of edges(vertices) in various ways to branch upon in enumerating possible minimum mul-titerminal cuts. In Sect. 3, we present an O(2</p><p>k2k1 lkT (n,m))-time algorithm for Edge</p><p>Multiterminal Cut (see Theorem 1). That algorithm only works for the edge ver-sion, since it will use a 2-approximation property and this property does not hold inthe vertex version. In Sect. 4, we show that Vertex Multiterminal Cut can be solvedin O(klT (n,m)) time (see Theorem 3) and faster algorithms for small values of k:O(2.059lT (n,m)), O(2.772lT (n,m)), O(3.349lT (n,m)) and O(3.857lT (n,m))-time algorithms for Vertex {3,4,5,6}-Terminal Cuts respectively (see Theorem 2).In Sect. 5, we give a reduction from Multicut to Multiterminal Cut, which leads toimprovements on Multicut.</p><p>2 Definitions and Structural Properties</p><p>2.1 Different Problem Versions</p><p>It is easy to transform an Edge Multiterminal Cut instance to a Vertex Multiter-minal Cut instance in polynomial time by using some standard techniques. But nopolynomial-time reduction in the opposite direction is found, which implies that theedge version might be easier than the vertex version. In this paper our algorithms forthe edge version are also faster than those for the vertex version. There are certainrelations between those two versions as they have similar definitions and properties,and our algorithms for the vertex version are still applicable to the edge version.</p></li><li><p>726 Theory Comput Syst (2010) 46: 723736</p><p>Considering their similarities, we will not discuss two versions separately. In the fol-lowing sections, if no explicit statement is given, the defined terms are applicable forboth the edge and vertex versions. For the vertex version cut problems, some papers[18, 19] also discuss the case that terminals can be added to the solution. They call itunrestricted vertex version when terminals are allowed to be removed, and restrictedvertex version when terminals are not allowed to be removed. An Unrestricted VertexMultiterminal Cut instance can be reduced to a restricted vertex version instance sim-ply by adding, for each terminal ti , a new terminal t i adjacent only to ti . With somemodifications our algorithms for the restricted vertex version are still applicable forthe unrestricted vertex version. In this paper, we do not discuss the unrestricted ver-tex version problem individually, and vertex version always means restricted vertexversion.</p><p>2.2 Basic Definitions</p><p>In this paper, l always denotes the upper bound of the solution size, k the num-ber of terminals (or the number of terminal pairs in the Multicut problem), T ={t1, t2, . . . , tk} the terminal set, and Ti = T {ti} the set of terminals except ti . E(G)and V (G) denote the edge set and vertex set of graph G respectively. N(v) denotesthe set of neighbors of vertex v. For a set V of vertices, N(V ) = vV N(v) V is called the neighbor set of V . For a subgraph G in G, an edge e is incident withG if e has exactly one endpoint in V (G), and a vertex v is adjacent to G if v hasat least one neighbor in V (G) and v / V (G). We call an edge (non-terminal vertex)subset an edge (vertex) multiterminal cut, if its removal separates all the terminals.Among all the multiterminal cuts, those with the minimum size are called minimummultiterminal cuts. A minimal multiterminal cut is a multiterminal cut in case thatany of its proper subsets is not a multiterminal cut.</p><p>We call a subset Ci of edges (vertices) an isolating cut of terminal ti , if its removalseparates ti from all other terminals Ti . A minimum isolating cut of ti is an isolatingcut of ti with the minimum size. A minimum isolating cut, which may not be unique,can be found by using the methods for the Minimum (s, t) Cut problem. Let S be anarbitrary minimum multiterminal cut in G. We consider the connected componentsof the graph obtained by removing S. Let CPi be the component that contains ter-minal ti . We will use Si S to denote all the edges incident with (vertices adjacentto) CPi in G (i = 1,2, . . . , k). In Fig. 1, dash-dot lines indicate S1. Obviously, Si isthe minimum isolating cut of ti contained in S. Readers will see that the algorithmfor Edge Multiterminal Cut in Sect. 3 will use some properties of Si s and the vertexversion has no such good properties.</p><p>In our algorithms, we often branch on an edge (vertex) by either including orexcluding it in the solution. To exclude an edge (vertex) from the solution, we canshrink the edge (dissolve the vertex). Shrinking an edge means that we identify thetwo endpoints of it and keep all edges, including possible parallel edges, incidentwith the two endpoints, and delete self-loops. To dissolve a vertex we will deletethis vertex and all the edges incident with it, and add an edge between every pair ofnonadjacent vertices in its neighborhood. When a vertex to be dissolved is adjacentto a terminal, then we can simply implement the dissolving by shrinking the edge</p></li><li><p>Theory Comput Syst (2010) 46: 723736 727</p><p>Fig. 1 Illustration for Si</p><p>Fig. 2 Shrinking and dissolving</p><p>between this vertex and the terminal.1 We use G e to denote the graph after e shrinks(dissolves) in G. See Fig. 2 for an illustration for these two operations. Sometimeswe will contract a subgraph into a single vertex, i.e., we replace this subgraph witha single vertex, and keep all the edges incident with it (including parallel edges), anddelete self-loops.</p><p>2.3 Farthest Minimum Isolating Cuts</p><p>First, we introduce the notion of farthest minimum isolating cut, which leads to adeep understanding about the structure of cut problems and forms the foundation ofour algorithms. A minimum isolating cut Ci of terminal ti separates the graph intotwo components. One that contains ti is called the residual of Ci and denoted by Ri .The other one is the remaining part that contains Ti , and it is called the outsideof Ci . The farthest minimum isolating cut of terminal ti is the minimum isolating cutthat maximizes the cardinality of the residual Ri . Here we use the minimum isolatingcut as opposed to a minimum isolating cut, since the farthest minimum isolating cutof a given terminal is unique. The uniqueness is discussed and used in the literature[2, 2022]. It can be easily derived from the Max flow/Min cut theorem [20]. Howfast we can find the farthest minimum isolating cut is directly related to the runningtime of our algorithms since finding the farthest minimum isolating cut is a subroutinein our algorithms. In fact, many algorithms for the Minimum (s, t) Cut problem justfind the farthest minimum isolating cut of s or t . The farthest minimum isolating cutof ti can be found in linear time if a maximum flow from ti to Ti is given. Thereare many fast algorithms for computing maximum flows in the literature. Reader can</p><p>1When a vertex dissolves, the number of edges may increase, which will not cause trouble in our proofs.In our algorithms, the vertices to be dissolved are adjacent to a terminal. Therefore, we can implement thedissolving in the simpler way without increasing the problem size.</p></li><li><p>728 Theory Comput Syst (2010) 46: 723736</p><p>refer to [23] as a survey. In this paper, we will use Dinics O(min(n2/3,m1/2)m)-timealgorithm [24] for finding maximum flows in unweighted graphs to compute farthestminimum isolating cuts. We will also use Ci to denote the farthest minimum isolatingcut of ti , when there is no confusion.</p><p>Lemma 1 The farthest minimum isolating cut of terminal ti will not change in thegraph after e shrinks (dissolves...</p></li></ul>