Faster Matroid Intersection (1911.10765v1)
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\in\I_{1}\cap\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\in\I_{i}$ in $\indep$ 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 $\rank$ time. In each setting we provide faster exact and approximate algorithms. Given an independence oracle, we provide an exact $O(nr\log r \indep)$ time algorithm. This improves upon the running time of $O(nr{1.5} \indep)$ due to Cunningham in 1986 and $\tilde{O}(n{2} \indep+n{3})$ due to Lee, Sidford, and Wong in 2015. We also provide two algorithms which compute a $(1-\epsilon)$-approximate solution to matroid intersection running in times $\tilde{O}(n{1.5}/\eps{1.5} \indep)$ and $\tilde{O}((n{2}r{-1}\epsilon{-2}+r{1.5}\epsilon{-4.5}) \indep)$, respectively. These results improve upon the $O(nr/\eps \indep)$-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\sqrt{r}\log n \rank)$-time exact algorithm and an $O(n\epsilon{-1}\log n \rank)$-time algorithm which obtains a $(1-\eps)$-approximation to the matroid intersection problem. The former result improves over the $\tilde{O}(nr \rankt+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.