In combinatorial optimization, the matroid intersection problem is to find a largest common independent set in two matroids over the same ground set. If the elements of the matroid are assigned real weights, the weighted matroid intersection problem is to find a common independent set with the maximum possible weight. These problems generalize many problems in graph theory and combinatorial optimization including finding maximum matchings and maximum weight matchings in bipartite graphs and finding arborescences in directed graphs. The matroid intersection theorem, due to Jack Edmonds, says that for any two matroids M 1 = ( E , I 1 ) {\displaystyle M_{1}=(E,{\mathcal {I}}_{1})} and M 2 = ( E , I 2 ) {\displaystyle M_{2}=(E,{\mathcal {I}}_{2})} we have
max I ∈ I 1 ∩ I 2 | I | = min A ⊆ E ( r 1 ( A ) + r 2 ( E ∖ A ) ) {\displaystyle \max _{I\in {\mathcal {I}}_{1}\cap {\mathcal {I}}_{2}}|I|=\min _{A\subseteq E}(r_{1}(A)+r_{2}(E\setminus A))}
where r 1 {\displaystyle r_{1}} and r 2 {\displaystyle r_{2}} are the respective rank functions of M 1 {\displaystyle M_{1}} and M 2 {\displaystyle M_{2}} . In other words, there is always a simple upper bound proof, consisting of a partitioning of the ground set amongst the two matroids, whose value (the sum of the respective ranks) equals the size of a maximum common independent set. Based on this theorem, the matroid intersection problem for two matroids can be solved in polynomial time using matroid partitioning algorithms.
Examples Let G = (U,V;E) be a bipartite graph. One may define a partition matroid MU on the ground set E, in which a set of edges is independent if no two of the edges have the same endpoint in U. Similarly one may define a matroid MV in which a set of edges is independent if no two of the edges have the same endpoint in V. Any set of edges that is independent in both MU and MV has the property that no two of its edges share an endpoint; that is, it is a matching. Thus, the largest common independent set of MU and MV is a maximum matching in G. Similarly, if each edge has a weight, then the maximum-weight independent set of MU and MV is a Maximum weight matching in G.
Algorithms There are several polynomial-time algorithms for weighted matroid intersection, with different run-times. The run-times are given in terms of n {\displaystyle n} - the number of elements in the common base-set, r {\displaystyle r} - the maximum between the ranks of the two matroids, T {\displaystyle T} - the number of operations required for a circuit-finding oracle, and k {\displaystyle k} - the number of elements in the intersection (in case we want to find an intersection of a specific size k {\displaystyle k} ).
… excerpt ends here. Continue reading the full article.
