Efficient Algorithms for Graphic Matroid Intersection and Parity
Total Page:16
File Type:pdf, Size:1020Kb
\ 194 - 1 \ Automata, Languages and ~rogrammlng 1 , verifying Concurrent Processes Using 12th Colloquium 18 pages.1982, Nafplion, Greece, July 15-19,1985 iomatisingthe ~ogicof Computer Program- 182. s.Proceedings, 1881. Edited by 0. Kozen. ;iw Techniques I- Requirement6 and Logical 3, 1978, Edited by S.B.Yao, S.B. Navathe, .nit. V. 227 pages, 1982. Design Techniques 11: Proceedings, 1979. T.L.Kunii.V, 229-399 pages. 1992. cificalion. Proceedings, 1981. Edited by J. 366.1982. X2ProgiammingLogic.X,292 pages.108 ~age8.1982. Edited by Wilfried Brauer I on Automated Deduciion, Proceedings veland.VII. 389 pages. 1982. sopoulou. G. Per8ch.G. Goos, M. Daismann rchgassner, An Attribute Grammar lor the ida. IX, 511 pages. 1982. guages and programming.Edited by M. Niel- VII, 614 pages, 1982. 3. Hun, â Zimmermann. GAG: A Practical ', 156 pages. 1982. Springer-Verlag Berlin Heidelberg New York Tokyo Efficient Algorithms for Graphic Matroid Intersection and Parity s (Extended Abstract) algori by shorte impro Harold N.Gabow ' Matthias Stallmanu s Department of Computer Science Department of Computer Science O(n 1 University of Colorado North Carolina State University and c Boulder, CO 80309 Raleigh, NC 27695-8206 for s USA USA well- A Abstract matrc An algorithm for matmid intersection, baaed on the phase approach of Dinic for \ network flow and Hopcmft and Karp for matching, is presented. An implementation for the b graphic matmids uses time O(n1P m) if m is Of# fg n), and similar expressions indep otherwise. An implementation to find k edge-disjoint spanning trees on a graph uses eleme time O(VP nlP m) if m is 0(n lg n) and a similar expression otherwise; when m is main 0(fD I@) this improves the previous bound, 0(t? p2). hpmved algorithms for other undir problems are obtained, including maintaining a minimum spanning tree on a planar graph ( subject to changing edge coats, and finding shortest pairs of disjoint paths in a network. two, An algorithm for graphic matmid parity is presented that runs in time O(n m (a6 n). a pal This improves the previous bound of 0(n2 m). if an, The probl = 0, 1. Introduction. Matroid parity generalizes a broad class of combinatorial optimization problems that ! For i includes network flow and matching [La]. Yet it can still be solved efficiently [Lo,SG]. This paper presents more efficient algorithms for several cases of the parity problem. Section 2 develops a phase algorithm for matroid intersection, the "bipartite" parity 3. T problem. This generalizes the phase algorithms of Dinic for network flow, Hopcmft and Karp for matching, and Even and Tarjan for 0-1 network flow [D,HK,ETL It is shown inter that a phase algorithm for matroid intersection reduces to four matroid problems, the recei static-base/dynamic-base cycle/cocycle problems. Some of the results in Section 2 for 1 overlap recent work of Tovey and Trick [TT), and even more recently Cunningham [C]. inter The overlap (indicated precisely in Section 2) is not adequate to achieve the time bounds for I of this paper. equil An efficient implementation of the intersection algorithm for graphic matmids is presented in Sections 3-5. Section 3 gives an overview and timing analysis. The time is cone 0(n112 m) if m is O(n3fl Ig n). This is identical to the Hopcroft-Karp bound for matching, a special case of graphic matmid intersection. The four matroid problems Defu mentioned above make other cases more difficult. The time is O(n m213 1$13 n) if m is ¡1 a fl(n Ig n) and a similar expression otherwise. f Planar graphs can be handled more efficiently because of duality. Section 3 gives a f bound of 0(n3I2 fg n). The approach also gives an algorithm for maintaining a minimum all t spanning tree on a planar graph subject to changing edge costs. The time is 0(lg n) per update, improving the O(Ig2 n) bound of Frederickson IF]. ace Section 3 also givw an implementation of the intersection algorithm to find k Not6 edge-disjoint spanning trees on a graph. It uses time 0(i31? n1D m) if m is Q(n lg n) and that a similar expression otherwise. When m is O(kIl? nap) this improves the bound of folio O(* n2) due to Roskind and Tarjan [RT]. The, ' This work was supported in part by NSF Grant #MCS-8302648. 21s. Parity Section 4 solves the static-tree cocycle problem used in the graphic intersection algorithm. The solution also speeds an algorithm of Suurballe and Tarjan for finding shortest pairs of disjoint paths in a network [Su TI. The time bound is O(m + n Ig n), improved from 0(m lg^,^ n). Section 6 solves the dynamic-tree cocycle problem. mann Section 6 presents an efficient graphic matroid parity algorithm. The time bound is 1 Com~uterScience 0(n m If n), improving the bound of O(n2 m) of [SG]. In the parity problem the cycle a. State University and cocycle problems involve pairs of edges. This seems to make traditional techniques !7695-8206 for solving cycle and cocycle problems inapplicable. We reduce the problem to a well-studied problem of computational geometry, range searching. Many of the ideas of this paper apply to other matroids, such as job scheduling matroids [GT84] and linear matroids. We will discuss these extensions in a future paper. iroach of Dinic for We close this section with some terminology. The reader is assumed familiar with implementation for the basic notions of matroids (see, e.g., [A, La, W]). It e is an element and B a base (or similar expressions independent set), C(e,Sf denotes the fundamental cycle of e in B. The span of a set of H on a graph uses elements A is denoted q(A). If T C S are seta of elements then S / T denotes the ; when m is matroid restricted to S, with T contracted. A graphic matroid is derived from an ' ilgorithms for other undirected graph; its independent sets are the forests. on a planar graph Consider a matroid M over a set of elements E that is partitioned into blocks of size ~athsin a network. two, called parity pairs. Thus each element e has a mate, denoted 2, such that {e, 2) is time 0(n m If n). a parity pair. A matching M is an independent set consisting of parity pairs, i.e., e â M if and only if s  M. A maximum matching has the greatest number of pairs possible. The (cardinality) parity problem is to find a maximum matching. The matroid intersection problem is the "bipartite" version: M is the direct sum of matroids Mi on elements E', i = 0,1, and every parity pair contains one element from each matroid. T: ;ation problems that Sections 4-6 use these terms for a tree \T\ denotes the number of vertices in T. For edge w of T, v'a subtree is the tree of w containing v. 1 efficiently [Lo,SGL T - jarity problem. ie "bipartite" parity 3. The phane algorithm for matroid htenection. now, ~op~roftand This section derives results that are needed for a phase algorithm for matroid K,ET]. It is shown intersection. It concludes by sketching the algorithm. Some of the results have been itroid problems, the recently obtained using different methods. Tovey and' Trick [TT]derive a phase algorithm esults in Section 2 for polymatroidal network flow. This problem, which generalizes network flow and matroid ly Cunningham [C]. intersection, was introduced by Lawler and Martel [LM], who prove much of the theory eve the time bounds for the phase algorithm. Our Corollary 2.1 is similar to [TT]. Cunningham [C] derives equivalents of our Corollaries 2.1-2.2. graphic matroids is We begin with some facts that apply to the matroid parity problem. The basic lalysis. The time is concept is the augmenting path: >ft-Karp bound for r matroid problems Definition 2.1. An augmenting path for a matching M consists of distinct elements $I3 Iglls n) if m is , B, f M, 0 5 i 5 k, b,, 6. â M, 0 < i 5 k, such that the sets Mf=(M+\)+a,+a,- 6,-8 ,...- ti++(0$i5k),and Section 3 gives a Mi=(M+#,)+a,+a,-b,-8 +~,-~-b,(O<iS.b) staining a minimum ,... all have the same span, sp(M % \)- An diemating path for At is defined similarly, time is 0(lg n) per + + except that the last element may be a, (as in an augmenting path), or a, or b,. lgorithm to ficd k Note that in an augmenting path, Mf is a matching of rank IAfl + 2. In [SG] it is shown ' m is 0(n lg n) and that a nonmaximum matching has an augmenting path. This can be strengthened as ;be bound of follows. Theorem 2.1. In a matroid parity problem, let hi and N be matchings, with IN = IAfl + 2k Then there is a sequence of paths P, ,..., Pi such that Pi is an augmenting path for =M9PI9... 9~.l,q-MCN-M,qnMCM-N,andallpathsPi Suppose i Â¥ are disjoint. by induction ai Proof. For kl, modify N to a matching contained in M U N whose span includes '(e,+,) 5 i t 2, sp(fvf). Then use a swapping argument, as in [SG]. For k>1 use induction. ' Next supy ~~(ff~,~~).by The rest of thii section is restricted to the matroid intersection problem. Recall that in matroid intersection the ground set E is the disjoint union of qronnd sets Ei i = 0.1.