Faster Matroid Intersection

11/25/2019
by   Deeparnab Chakrabarty, et al.
0

In this paper we consider the classic matroid intersection problem: given two matroids _1=(V,_1) and _2=(V,_2) defined over a common ground set V, compute a set S∈_1∩_2 of largest possible cardinality, denoted by r. We consider this problem both in the setting where each _i is accessed through an independence oracle, i.e. a routine which returns whether or not a set S∈_i in time, and the setting where each _i is accessed through a rank oracle, i.e. a routine which returns the size of the largest independent subset of S in _i in time. In each setting we provide faster exact and approximate algorithms. Given an independence oracle, we provide an exact O(nrlog r ) time algorithm. This improves upon the running time of O(nr^1.5) due to Cunningham in 1986 and Õ(n^2+n^3) due to Lee, Sidford, and Wong in 2015. We also provide two algorithms which compute a (1-ϵ)-approximate solution to matroid intersection running in times Õ(n^1.5/^1.5) and Õ((n^2r^-1ϵ^-2+r^1.5ϵ^-4.5) ), respectively. These results improve upon the O(nr/)-time algorithm of Cunningham as 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√(r)log n )-time exact algorithm and an O(nϵ^-1log n )-time algorithm which obtains a (1-)-approximation to the matroid intersection problem. The former result improves over the Õ(nr +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 of the submodular function minimization problem with an evaluation oracle.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset

Sign in with Google

×

Use your Google Account to sign in to DeepAI

×

Consider DeepAI Pro