Matroid intersection
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 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,[1] says that there is always a simple upper bound certificate, consisting of a partitioning of the ground set amongst the two matroids, whose value (sum of 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
[edit]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
[edit]There are several polynomial-time algorithms for weighted matroid intersection, with different run-times. The run-times are given in terms of - the number of elements in the common base-set, - the maximum between the ranks of the two matroids, - the number of operations required for a circuit-finding oracle, and - the number of elements in the intersection (in case we want to find an intersection of a specific size ).
- Edmonds' algorithm uses linear programming and polyhedra.[1]
- Lawler's algorithm.[2]
- Iri and Tomizawa's algorithm[3]
- Andras Frank's algorithm[4] uses arithmetic operations.
- Orlin and Vande-Vate's algorithm.[5]
- Cunningham's algorithm[6] requires operations on general matroids, and operations on linear matroid, for two r-by-n matrices.
- Brezovec, Cornuejos and Glover[7] present two algorithms for weighted matroid intersection.
- The first algorithm requires that all weights be integers, and finds an intersection of cardinality in time .
- The second algorithm runs in time .
- Huang, Kakimura and Kamiyama[8] show that the weighted matroid intersection problem can be solved by solving W instances of the unweighted matroid intersection problem, where W is the largest given weight, assuming that all given weights are integral. This algorithm is faster than previous algorithms when W is small. They also present an approximation algorithm that finds an e-approximate solution by solving instances of the unweighted matroid intersection problem, where r is the smaller rank of the two input matroids.
- Ghosh, Gurjar and Raj[9] study the run-time complexity of matroid intersection in the parallel computing model.
- Bérczi, Király, Yamaguchi and Yokoi[10] present strongly polynomial-time algorithms for weighted matroid intersection using more restricted oracles.
Extensions
[edit]Maximizing weight subject to cardinality
[edit]In a variant of weighted matroid intersection, called "(Pk)", the goal is to find a common independent set with the maximum possible weight among all such sets with cardinality k, if such a set exists. This variant, too, can be solved in polynomial time.[7]
Three matroids
[edit]The matroid intersection problem becomes NP-hard when three matroids are involved, instead of only two.
One proof of this hardness result uses a reduction from the Hamiltonian path problem in directed graphs. Given a directed graph G with n vertices, and specified nodes s and t, the Hamiltonian path problem is the problem of determining whether there exists a simple path of length n − 1 that starts at s and ends at t. It may be assumed without loss of generality that s has no incoming edges and t has no outgoing edges. Then, a Hamiltonian path exists if and only if there is a set of n − 1 elements in the intersection of three matroids on the edge set of the graph: two partition matroids ensuring that the in-degree and out-degree of the selected edge set are both at most one, and the graphic matroid of the undirected graph formed by forgetting the edge orientations in G, ensuring that the selected edge set has no cycles.[11]
Matroid parity
[edit]Another computational problem on matroids, the matroid parity problem, was formulated by Lawler[12] as a common generalization of matroid intersection and non-bipartite graph matching. However, although it can be solved in polynomial time for linear matroids, it is NP-hard for other matroids, and requires exponential time in the matroid oracle model.[13]
Valuated matroids
[edit]A valuated matroid is a matroid equipped with a value function v on the set of its bases, with the following exchange property: for any two distinct bases and , if , then there exists an element such that both and are bases, and :.
Given a weighted bipartite graph G = (X+Y, E) and two valuated matroids, one on X with bases set BX and valuation vX, and one on Y with bases BY and valuation vY, the valuated independent assignment problem is the problem of finding a matching M in G, such that MX (the subset of X matched by M) is a base in BX , MY is a base in BY , and subject to this, the sum is maximized. The weighted matroid intersection problem is a special case in which the matroid valuations are constant, so we only seek to maximize subject to MX is a base in BX and MY is a base in BY .[14] Murota presents a polynomial-time algorithm for this problem.[15]
See also
[edit]- Matroid partitioning - a related problem.
References
[edit]- ^ a b Edmonds, Jack (1970), "Submodular functions, matroids, and certain polyhedra", in R. Guy; H. Hanam; N. Sauer; J. Schonheim (eds.), Combinatorial structures and their applications (Proc. 1969 Calgary Conference), Gordon and Breach, New York, pp. 69–87. Reprinted in M. Jünger et al. (Eds.): Combinatorial Optimization (Edmonds Festschrift), LNCS 2570, pp. 1126, Springer-Verlag, 2003.
- ^ Lawler, Eugene L. (1975), "Matroid intersection algorithms", Mathematical Programming, 9 (1): 31–56, doi:10.1007/BF01681329, S2CID 206801650
- ^ Iri, Masao; Tomizawa, Nobuaki (1976). "An Algorithm for Finding an Optimal "Independent Assignment"". 日本オペレーションズ・リサーチ学会論文誌. 19 (1): 32–57. doi:10.15807/jorsj.19.32.
- ^ Frank, András (1981), "A weighted matroid intersection algorithm", Journal of Algorithms, 2 (4): 328–336, doi:10.1016/0196-6774(81)90032-8
- ^ Orlin, James B.; VandeVate, John (1983). On a "primal" matroid intersection algorithm (Sloan School of Management Working Paper #1446-83). hdl:1721.1/2050.
- ^ Cunningham, William H. (1986-11-01). "Improved Bounds for Matroid Partition and Intersection Algorithms". SIAM Journal on Computing. 15 (4): 948–957. doi:10.1137/0215066. ISSN 0097-5397.
- ^ a b Brezovec, Carl; Cornuéjols, Gérard; Glover, Fred (1986), "Two algorithms for weighted matroid intersection", Mathematical Programming, 36 (1): 39–53, doi:10.1007/BF02591988, S2CID 34567631
- ^ Huang, Chien-Chung; Kakimura, Naonori; Kamiyama, Naoyuki (2019-09-01). "Exact and approximation algorithms for weighted matroid intersection". Mathematical Programming. 177 (1): 85–112. doi:10.1007/s10107-018-1260-x. hdl:2324/1474903. ISSN 1436-4646. S2CID 254138118.
- ^ Ghosh, Sumanta; Gurjar, Rohit; Raj, Roshan (2022-01-01), "A Deterministic Parallel Reduction from Weighted Matroid Intersection Search to Decision", Proceedings of the 2022 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), Proceedings, Society for Industrial and Applied Mathematics, pp. 1013–1035, doi:10.1137/1.9781611977073.44, ISBN 978-1-61197-707-3, S2CID 245799113, retrieved 2022-11-28
- ^ Bérczi, Kristóf; Király, Tamás; Yamaguchi, Yutaro; Yokoi, Yu (2022-09-28). "Matroid Intersection under Restricted Oracles". arXiv:2209.14516 [cs.DS].
- ^ Welsh, D. J. A. (2010) [1976], Matroid Theory, Courier Dover Publications, p. 131, ISBN 9780486474397.
- ^ Lawler, Eugene L. (1976), "Chapter 9: The Matroid Parity Problem", Combinatorial Optimization: Networks and Matroids, New York: Holt, Rinehart and Winston, pp. 356–367, MR 0439106.
- ^ Jensen, Per M.; Korte, Bernhard (1982), "Complexity of matroid property algorithms", SIAM Journal on Computing, 11 (1): 184–190, doi:10.1137/0211014, MR 0646772.
- ^ Murota, Kazuo (1996-11-01). "Valuated Matroid Intersection I: Optimality Criteria". SIAM Journal on Discrete Mathematics. 9 (4): 545–561. doi:10.1137/S0895480195279994. ISSN 0895-4801.
- ^ Murota, Kazuo (November 1996). "Valuated Matroid Intersection II: Algorithms". SIAM Journal on Discrete Mathematics. 9 (4): 562–576. doi:10.1137/S0895480195280009. ISSN 0895-4801.
Further reading
[edit]- Aigner, Martin; Dowling, Thomas (1971), "Matching theory for combinatorial geometries", Transactions of the American Mathematical Society, 158 (1): 231–245, doi:10.1090/S0002-9947-1971-0286689-5.
- Frederickson, Greg N.; Srinivas, Mandayam A. (1989), "Algorithms and data structures for an expanded family of matroid intersection problems" (PDF), SIAM Journal on Computing, 18 (1): 112–138, doi:10.1137/0218008, archived from the original on September 22, 2017.
- Gabow, Harold N.; Tarjan, Robert E. (1984), "Efficient algorithms for a family of matroid intersection problems", Journal of Algorithms, 5 (1): 80–131, doi:10.1016/0196-6774(84)90042-7..