Faster Matroid Partition Algorithms
In the matroid partitioning problem, we are given k matroids ℳ_1 = (V, ℐ_1), … , ℳ_k = (V, ℐ_k) defined over a common ground set V of n elements, and we need to find a partitionable set S ⊆ V of largest possible cardinality, denoted by p. Here, a set S ⊆ V is called partitionable if there exists a partition (S_1, … , S_k) of S with S_i ∈ℐ_i for i = 1, …, k. In 1986, Cunningham presented a matroid partition algorithm that uses O(n p^3/2 + k n) independence oracle queries, which was the previously known best algorithm. This query complexity is O(n^5/2) when k ≤ n. Our main result is to present a matroid partition algorithm that uses Õ(k^1/3 n p + k n) independence oracle queries, which is Õ(n^7/3) when k ≤ n. This improves upon previous Cunningham's algorithm. To obtain this, we present a new approach edge recycling augmentation, which can be attained through new ideas: an efficient utilization of the binary search technique by Nguyen and Chakrabarty-Lee-Sidford-Singla-Wong and a careful analysis of the number of independence oracle queries. Our analysis differs significantly from the one for matroid intersection algorithms, because of the parameter k. We also present a matroid partition algorithm that uses Õ((n + k) √(p)) rank oracle queries.
READ FULL TEXT