Faster Matroid Intersection

Abstract

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∈12 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 ∈dep 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(nr r ∈dep) time algorithm. This improves upon the running time of O(nr1.5 ∈dep) due to Cunningham in 1986 and O(n2 ∈dep+n3) 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 O(n1.5/1.5 ∈dep) and O((n2r-1ε-2+r1.5ε-4.5) ∈dep), respectively. These results improve upon the O(nr/ ∈dep)-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(nr n )-time exact algorithm and an O(nε-1 n )-time algorithm which obtains a (1-)-approximation to the matroid intersection problem. The former result improves over the O(nr +n3)-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.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…