Abstract

In this paper we consider the classic matroid intersection problem: given two matroids M_1=(V, I_1) and M_2=(V, I_2) defined over a common ground set V, compute a set S∊I_1 ∩ I_2 of largest possible cardinality, denoted by r. We consider this problem both in the setting where each M_i is accessed through an independence oracle, i.e. a routine which returns whether or not a set S ∊ I_i in T_ind time, and the setting where each M_i is accessed through a rank oracle, i.e. a routine which returns the size of the largest independent subset of S in M_i in T_rank time. In each setting we provide faster exact and approximate algorithms. Given an independence oracle, we provide an exact O(nr log r⋅T_ind) time algorithm. This improves upon previous best known running times of O(nr^1.5⋅T_ind) due to Cunningham in 1986 and O(n^2⋅T_ind+n^3) due to Lee, Sidford, and Wong in 2015. We also provide two algorithms which compute a (1-e)-approximate solution to matroid intersection running in times O(n^1.5/e^1.5⋅T_ind) and O((n^2r^-1e^-2+r^1.5e^-4.5)⋅T_ind), respectively. These results improve upon the O(nr/e⋅T_ind) -time algorithm of Cunningham (noted recently by Chekuri and Quanrud). Given a rank oracle, we provide algorithms with even better dependence on n and r. We provide an O(n√rlog n⋅T_rank) -time exact algorithm and an O(ne^-1 log n⋅T_rank) -time algorithm which obtains a (1-e) -approximation to the matroid intersection problem. The former result improves over the O(nr⋅T_rank+n^3) -time algorithm by Lee, Sidford, and Wong. The rank oracle is of particular interest as the matroid intersection problem with this oracle is a special case (via Edmond's minimax characterization of matroid intersection) of the submodular function minimization (SFM) problem with an evaluation oracle, and understanding SFM query complexity is an outstanding open question.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call