Faster Matroid Intersection
Total Page:16
File Type:pdf, Size:1020Kb
2019 IEEE 60th Annual Symposium on Foundations of Computer Science (FOCS) Faster Matroid Intersection Deeparnab Chakrabarty Yin Tat Lee Aaron Sidford Dartmouth College University of Washington Stanford University [email protected] Microsoft Research [email protected] [email protected] Sahil Singla Sam Chiu-wai Wong Princeton University Microsoft Research Institute for Advanced Study [email protected] [email protected] Abstract—In this paper we consider the classic matroid I. Matroids are fundamental objects in combinatorics, and intersection problem: given two matroids M1 =(V,I1) and the abstract definition above generalizes a wide range of M V,I V 2 =( 2) defined over a common ground set , compute concepts ranging from acyclic graphs to linearly independent a set S ∈I1 ∩I2 of largest possible cardinality, denoted by r. We consider this problem both in the setting where each matrices. M V,I M V,I Mi is accessed through an independence oracle, i.e. a routine Given two matroids 1 =( 1) and 2 =( 2) which returns whether or not a set S ∈Ii in Tind time, and over the same ground set, the matroid intersection problem is Mi the setting where each is accessed through a rank oracle, to find a set I ∈I1 ∩I2 with the largest cardinality |I|. This i.e. a routine which returns the size of the largest independent problem generalizes many important combinatorial opti- subset of S in Mi in Trank time. mization problems such as bipartite matching, arborescences In each setting we provide faster exact and approximate in digraphs, and packing spanning trees. Unsurprisingly, algorithms. Given an independence oracle, we provide an exact this problem has applications in areas such as electrical O(nr log r ·Tind) time algorithm. This improves upon previous 1.5 best known running times of O(nr ·Tind) due to Cunningham engineering [4], [5] and network coding [6], [7], [8]. 2 3 in 1986 and O˜(n ·Tind + n ) due to Lee, Sidford, and Wong To define the problem algorithmically, one needs to spec- in 2015. We also provide two algorithms which compute a ify access to these matroids. In the literature it is common (1 − )-approximate solution to matroid intersection running in 1.5 1.5 2 −1 −2 1.5 −4.5 to assume access to an independence oracle which takes as times O˜(n / ·Tind) and O˜((n r + r ) ·Tind), S ⊆ V S ∈I O nr/ ·T input a subset and returns whether or not. respectively. These results improve upon the ( ind)- T time algorithm of Cunningham (noted recently by Chekuri We use ind to denote the maximum time taken by such an and Quanrud). oracle to answer a single query. This raises an algorithmic Given a rank oracle, we provide algorithms√ with even better question: in how few queries can the matroid intersection dependence on n and r. We provide an O(n r log n ·Trank)- problem be solved? −1 time exact algorithm and an O(n log n ·Trank)-time algo- Starting from the work of Edmonds [9], many polynomial − rithm which obtains a (1 )-approximation to the matroid time algorithms [10], [11], [1], [12], [13], [2] have been intersection problem. The former result improves over the 3 proposed for the matroid intersection problem. The previous O˜(nr ·Trank + n )-time algorithm by Lee, Sidford, and Wong. The rank oracle is of particular interest as the matroid state-of-the-art captured by two works. One is a classic 1.5 intersection problem with this oracle is a special case (via O(nr ·Tind) time combinatorial algorithm by Cunning- Edmond’s minimax characterization of matroid intersection) ham [1] where r is the cardinality of the largest common of the submodular function minimization (SFM) problem with independent set of the two matroids. The second algorithm an evaluation oracle, and understanding SFM query complexity O˜ n2 ·T n3 is an outstanding open question. is an ( ind + )-time algorithm by Lee, Sidford, and Wong [2] based on fast algorithms implementing the Keywords -Matroids; Combinatorial Optimization; Submod- ellipsoid method. Note that this pays a higher overhead ular Functions than Cunningham’s result and makes many more queries if r n2/3. This raises the important question, “Is there an I. INTRODUCTION algorithm which obtains the best of both results?” Our first A matroid M =(V,I) is an abstract set system defined result answers this affirmatively (restated as Theorem 18 in over a finite ground set (universe) V of size n where the the main body). collection I⊆2V of independent sets satisfy two properties: Theorem 1. There is an O(nr log r ·T )-time algorithm to (a) A ∈I implies every subset B ⊆ A is also independent, ind solve the matroid intersection problem exactly. i.e., B ∈I, and (b) for any two sets A, B ∈Iwith |A| < |B|, there exists an element e ∈ B \ A such that A + e ∈ Our next result looks at approximate matroid intersection. 2575-8454/19/$31.00 ©2019 IEEE 1146 DOI 10.1109/FOCS.2019.00072 Due to both theoretical and practical reasons, there has been Another reason is that our main ideas with independence extensive recent work [14], [15], [16], [17], [18], [3], [19], oracle arose out of understanding the question with rank [20], [21] in trying to obtain faster (1 ± )-approximation oracle, and so rank oracle forms a good warm-up. In this algorithms for problems which already have polynomial paper we provide the following results on solving matroid time exact algorithms. A (1 − )-approximate algorithm for intersection (both approximately and exactly with a rank 3 matroid intersection would return a set I ∈I1 ∩I2 with oracle), improving over the O˜(nr·Trank +n )-time algorithm |I|≥(1 − )r for r being the cardinality of largest common by Lee, Sidford, and Wong [2]. Later in the paper these are independent set. restated as Theorem 16 and Theorem 17. For matroid intersection, in fact Cunningham’s [1] al- √ Theorem 4. There is an O(n r log n·T )-time algorithm gorithm already gives a (1 − )-approximate solution in rank to exactly solve the matroid intersection problem. There is O(nr/ ·T ) time. This observation was made explicit − ind an O(n 1 log n ·T )-time algorithm to obtain a (1 − )- in a recent paper by Chekuri and Quanrud [3]. Given our rank approximation to the matroid intersection problem. exact algorithm result above, it is natural to wonder if one can obtain faster approximation algorithms. In particular, A. Our Techniques can there be subquadratic approximation algorithms for the matroid intersection algorithm problem? Our second result At a high level our algorithms build upon existing combi- gives an affirmative answer (restated as Theorem 21 in the natorial algorithms, a la Edmonds [9] and Cunningham [1]. main body). We extend these algorithms leveraging the following key √ ideas: the binary search idea which allows fast explo- O n1.5 r/1.5 ·T Theorem 2. There is an ( log ind)-time ration through the exchange graph, the augmenting sets − algorithm to obtain a (1 )-approximation to the matroid methodology which allows multiple parallel augmentations intersection problem. in the exchange graph, and first-order methods which allow efficient sparsification of the ground set. In this section we The above theorem√ has no significant dependence on r, and indeed when r n, as it stands, it is better to use the explain each idea in greater depth, leaving the full details to subsequent sections. We begin with a refresher and a high- exact algorithm. However, we can get a better result√ (restated as Theorem 55 in the main body) in the regime n r level overview of existing combinatorial algorithms. n ; concretely, assume r =Θ(nc) where 1 <c<1. The Exchange Graph and Algorithms of Edmonds and 2 Cunningham.: The key object behind almost all combina- ˜ n2 r1.5 Theorem 3. There is an O r2 + 4.5 ·Tind -time al- torial algorithms for matroid intersection is the exchange S ∈I ∩I gorithm to obtain a (1 − )-approximation to the matroid graph. Given a current solution 1 2, the exchange G S intersection problem. graph ( ) is a directed bipartite graph where the endpoints of arcs correspond to valid exchanges in respective matroids The Rank Oracle.: Another common model for access- depending on the direction. There is a source s and sink t. ing matroids is a rank oracle. Given a subset S ⊆ V , the The source is connected to all vertices in V \S which can be rank oracle outputs rank(S), i.e., the size of the maximum freely added in one matroid, and the sink is connected from S T cardinality independent subset of .Welet rank denote all vertices in V \ S which can be freely added to the other the maximum time taken by the rank oracle to answer any matroid. Much as in network flow theory, an improvement in query. The rank oracle is clearly at least as powerful as the the size of S arises on finding shortest augmenting source- independence oracle. sink paths in this exchange graph. At a very high level, Similar to the independence oracle, Lee, Sidford, and there are O(nr) possible edges in the graph (since |S|≤r), Wong [2] also gave an algorithm for the rank oracle with each edge can be constructed with O(1) independence oracle 3 a runtime of O˜(nr ·Trank + n ). This suggests that perhaps queries, and in at most r-augmentations one obtains the matroid intersection can be solved strictly faster in the rank maximum sized common independent set. This gives an 2 oracle model.