In
combinatorial optimization
Combinatorial optimization is a subfield of mathematical optimization that consists of finding an optimal object from a finite set of objects, where the set of feasible solutions is discrete or can be reduced to a discrete set. Typical combi ...
, the matroid intersection problem is to find a largest common independent set in two
matroid
In combinatorics, a branch of mathematics, a matroid is a structure that abstracts and generalizes the notion of linear independence in vector spaces. There are many equivalent ways to define a matroid axiomatically, the most significant being ...
s 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 matching
Maximum cardinality matching is a fundamental problem in graph theory.
We are given a graph , and the goal is to find a matching containing as many edges as possible; that is, a maximum cardinality subset of the edges such that each vertex is ad ...
s and
maximum weight matching
In computer science and graph theory, the maximum weight matching problem is the problem of finding, in a weighted graph, a matching in which the sum of weights is maximized.
A special case of it is the assignment problem, in which the input is ...
s in
bipartite graph
In the mathematical field of graph theory, a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets U and V, that is every edge connects a vertex in U to one in V. Vertex sets U and V ar ...
s and finding
arborescences in
directed graph
In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is made up of a set of vertices connected by directed edges, often called arcs.
Definition
In formal terms, a directed graph is an ordered pai ...
s.
The matroid intersection theorem, due to
Jack Edmonds
Jack R. Edmonds (born April 5, 1934) is an American-born and educated computer scientist and mathematician who lived and worked in Canada for much of his life. He has made fundamental contributions to the fields of combinatorial optimization, pol ...
,
[. Reprinted in M. Jünger et al. (Eds.): Combinatorial Optimization (Edmonds Festschrift), LNCS 2570, pp. 1126, Springer-Verlag, 2003.] 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
Matroid partitioning is a problem arising in the mathematical study of matroids and in the design and analysis of algorithms. Its goal is to partition the elements of a matroid into as few independent sets as possible. An example is the problem of ...
algorithms.
Examples
Let ''G'' = (''U'',''V'',''E'') be a
bipartite graph
In the mathematical field of graph theory, a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets U and V, that is every edge connects a vertex in U to one in V. Vertex sets U and V ar ...
. One may define a
partition matroid ''M
U'' 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 ''M
V'' 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 ''M
U'' and ''M
V'' 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 ''M
U'' and ''M
V'' is a
maximum matching
Maximum cardinality matching is a fundamental problem in graph theory.
We are given a graph , and the goal is to find a matching containing as many edges as possible; that is, a maximum cardinality subset of the edges such that each vertex is ad ...
in ''G''.
Similarly, if each edge has a weight, then the maximum-weight independent set of ''M
U'' and ''M
V'' is a
Maximum weight matching
In computer science and graph theory, the maximum weight matching problem is the problem of finding, in a weighted graph, a matching in which the sum of weights is maximized.
A special case of it is the assignment problem, in which the input is ...
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
- 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
In mathematics and computer science, a matroid oracle is a subroutine through which an algorithm may access a matroid, an abstract combinatorial structure that can be used to describe the Linear independence, linear dependencies between vectors in ...
, and
- the number of elements in the intersection (in case we want to find an intersection of a specific size
).
*
Edmonds Edmonds may refer to:
* Edmonds (surname), a surname (including a list of people with the surname)
* Edmonds, Washington, a city in Washington, US
** Edmonds station (Washington), a passenger train station in Washington, US
* Edmonds station (SkyTra ...
' algorithm uses linear programming and polyhedra.
*
Lawler's algorithm.
* Iri and Tomizawa's algorithm
*
Andras Frank's algorithm uses
arithmetic opreations.
*
Orlin and Vande-Vate's algorithm.
* Cunningham's algorithm requires
operations on general matroids, and
operations on
linear matroid
In the mathematical theory of matroids, a matroid representation is a family of vectors whose linear independence relation is the same as that of a given matroid. Matroid representations are analogous to group representations; both types of repre ...
, for two ''r''-by-''n'' matrices.
* Brezovec, Cornuejos and Glover
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 Kakiyama 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 study the run-time complexity of matroid intersection in the
parallel computing model.
* Berczi, Kirali, Yamaguchi and Yokoi present strongly polynomial-time algorithms for weighted matroid intersection using more restricted oracles.
Extensions
Maximizing weight subject to cardinality
In a variant of weighted matroid intersection, called "(P
k)", 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.
Three matroids
The matroid intersection problem becomes
NP-hard
In computational complexity theory, NP-hardness ( non-deterministic polynomial-time hardness) is the defining property of a class of problems that are informally "at least as hard as the hardest problems in NP". A simple example of an NP-hard pr ...
when three matroids are involved, instead of only two.
One proof of this hardness result uses a
reduction from the
Hamiltonian path
In the mathematical field of graph theory, a Hamiltonian path (or traceable path) is a path in an undirected or directed graph that visits each vertex exactly once. A Hamiltonian cycle (or Hamiltonian circuit) is a cycle that visits each vertex ...
problem in
directed graph
In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is made up of a set of vertices connected by directed edges, often called arcs.
Definition
In formal terms, a directed graph is an ordered pai ...
s. 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
In the mathematical theory of matroids, a graphic matroid (also called a cycle matroid or polygon matroid) is a matroid whose independent sets are the forests in a given finite undirected graph. The dual matroids of graphic matroids are called c ...
of the
undirected graph
In discrete mathematics, and more specifically in graph theory, a graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense "related". The objects correspond to mathematical abstractions called '' v ...
formed by forgetting the edge orientations in ''G'', ensuring that the selected edge set has no cycles.
Matroid parity
Another computational problem on matroids, the
matroid parity problem
In combinatorial optimization, the matroid parity problem is a problem of finding the largest independent set of paired elements in a matroid. The problem was formulated by as a common generalization of graph matching and matroid intersection ...
, was formulated by Lawler as a common generalization of matroid intersection and non-bipartite graph matching. However, although it can be solved in polynomial time for
linear matroid
In the mathematical theory of matroids, a matroid representation is a family of vectors whose linear independence relation is the same as that of a given matroid. Matroid representations are analogous to group representations; both types of repre ...
s, it is NP-hard for other matroids, and requires exponential time in the
matroid oracle
In mathematics and computer science, a matroid oracle is a subroutine through which an algorithm may access a matroid, an abstract combinatorial structure that can be used to describe the linear dependencies between vectors in a vector space or th ...
model.
Valuated matroids
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
In the mathematical field of graph theory, a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets U and V, that is every edge connects a vertex in U to one in V. Vertex sets U and V ar ...
''G'' = (''X''+''Y'', ''E'') and two valuated matroids, one on ''X'' with bases set ''B
X'' and valuation ''v
X'', and one on ''Y'' with bases ''B
Y'' and valuation ''v
Y'', the valuated independent assignment problem is the problem of finding a matching ''M'' in ''G'', such that ''M
X'' (the subset of ''X'' matched by ''M'') is a base in ''B
X'' , ''M
Y'' is a base in ''B
Y'' , 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 ''M
X'' is a base in ''B
X'' and ''M
Y'' is a base in ''B
Y'' ''.'' Murota presents a polynomial-time algorithm for this problem.
See also
*
Matroid partitioning
Matroid partitioning is a problem arising in the mathematical study of matroids and in the design and analysis of algorithms. Its goal is to partition the elements of a matroid into as few independent sets as possible. An example is the problem of ...
- a related problem.
References
Further reading
*.
*.
*{{citation, last1=Gabow, first1=Harold N., author1-link = Harold N. Gabow, last2=Tarjan, first2=Robert E., author2-link=Robert Tarjan, title=Efficient algorithms for a family of matroid intersection problems, journal=Journal of Algorithms, doi=10.1016/0196-6774(84)90042-7, volume=5, issue=1, year=1984, pages=80–131..
Combinatorial optimization
Intersection
In mathematics, the intersection of two or more objects is another object consisting of everything that is contained in all of the objects simultaneously. For example, in Euclidean geometry, when two lines in a plane are not parallel, thei ...