Matroid parity problem

Last updated
An instance of the matroid parity problem on a graphic matroid: given a graph with colored edges, having exactly two edges per color, find as large a forest as possible that again has exactly two edges per color. Graphic matroid parity.svg
An instance of the matroid parity problem on a graphic matroid: given a graph with colored edges, having exactly two edges per color, find as large a forest as possible that again has exactly two edges per color.

In combinatorial optimization, the matroid parity problem is a problem of finding the largest independent set of paired elements in a matroid. [1] The problem was formulated by Lawler (1976) as a common generalization of graph matching and matroid intersection. [1] [2] It is also known as polymatroid matching, or the matchoid problem. [3]

Contents

Matroid parity can be solved in polynomial time for linear matroids. However, it is NP-hard for certain compactly-represented matroids, and requires more than a polynomial number of steps in the matroid oracle model. [1] [4]

Applications of matroid parity algorithms include finding large planar subgraphs [5] and finding graph embeddings of maximum genus. [6] These algorithms can also be used to find connected dominating sets and feedback vertex sets in graphs of maximum degree three. [7]

Formulation

A matroid can be defined from a finite set of elements and from a notion of what it means for subsets of elements to be independent, subject to the following constraints:

Examples of matroids include the linear matroids (in which the elements are vectors in a vector space, with linear independence), the graphic matroids (in which the elements are edges in an undirected graph, independent when they contain no cycle), and the partition matroids (in which the elements belong to a family of disjoint sets, and are independent when they contain at most one element in each set). Graphic matroids and partition matroids are special cases of linear matroids. [1]

In the matroid parity problem, the input consists of a matroid together with a pairing on its elements, so that each element belongs to one pair. The goal is to find a subset of the pairs, as large as possible, so that the union of the pairs in the chosen subset is independent. [1] [2] Another seemingly more general variation, in which the allowable pairs form a graph rather than having only one pair per element, is equivalent: an element appearing in more than one pair could be replaced by multiple copies of the element, one per pair. [8]

Algorithms

The matroid parity problem for linear matroids can be solved by a randomized algorithm in time , where is the number of elements of the matroid, is its rank (the size of the largest independent set), and is the exponent in the time bounds for fast matrix multiplication. [1] In particular, using a matrix multiplication algorithm of Le Gall, [9] it can be solved in time . Without using fast matrix multiplication, the linear matroid parity problem can be solved in time . [1]

These algorithms are based on a linear algebra formulation of the problem by Geelen & Iwata (2005). Suppose that an input to the problem consists of pairs of -dimensional vectors (arranged as column vectors in a matrix of size ). Then the number of pairs in the optimal solution is

where is a block diagonal matrix whose blocks are submatrices of the form

for a sequence of variables . [10] The Schwartz–Zippel lemma can be used to test whether this matrix has full rank or not (that is, whether the solution has size or not), by assigning random values to the variables and testing whether the resulting matrix has determinant zero. By applying a greedy algorithm that removes pairs one at a time by setting their indeterminates to zero as long as the matrix remains of full rank (maintaining the inverse matrix using the Sherman–Morrison formula to check the rank after each removal), one can find a solution whenever this test shows that it exists. Additional methods extend this algorithm to the case that the optimal solution to the matroid parity problem has fewer than pairs. [1]

For graphic matroids, more efficient algorithms are known, with running time on graphs with vertices and edges. [11] For simple graphs, is , but for multigraphs, it may be larger, so it is also of interest to have algorithms with smaller or no dependence on and worse dependence on . In these cases, it is also possible to solve the graphic matroid parity problem in randomized expected time , or in time when each pair of edges forms a path. [1]

Although the matroid parity problem is NP-hard for arbitrary matroids, it can still be approximated efficiently. Simple local search algorithms provide a polynomial-time approximation scheme for this problem, and find solutions whose size, as a fraction of the optimal solution size, is arbitrarily close to one. The algorithm starts with the empty set as its solution, and repeatedly attempts to increase the solution size by one by removing at most a constant number of pairs from the solution and replacing them by a different set with one more pair. When no more such moves are possible, the resulting solution is returned as the approximation to the optimal solution. To achieve an approximation ratio of , it suffices to choose to be approximately . [8]

Applications

Many other optimization problems can be formulated as linear matroid parity problems, and solved in polynomial time using this formulation.

Graph matching
A maximum matching in a graph is a subset of edges, no two sharing an endpoint, that is as large as possible. It can be formulated as a matroid parity problem in a partition matroid that has an element for each vertex-edge incidence in the graph. In this matroid, two elements are paired if they are the two incidences for the same edge as each other. A subset of elements is independent if it has at most one incidence for each vertex of the graph. The pairs of elements in a solution to the matroid parity problem for this matroid are the incidences between edges in a maximum matching and their endpoints. [2]
Matroid intersection
An instance of the matroid intersection problem consists of two matroids on the same set of elements; the goal is to find a subset of the elements that is as large as possible and is independent in both matroids. To formulate matroid intersection as a matroid parity problem, construct a new matroid whose elements are the disjoint union of two copies of the given elements, one for each input matroid. In the new matroid, a subset is independent if its restriction to each of the two copies is independent in each of the two matroids, respectively. Pair the elements of the new matroid so that each element is paired with its copy. The pairs of elements in a solution to the matroid parity problem for this matroid are the two copies of each element in a solution to the matroid intersection problem. [2]
Large planar subgraphs

In an arbitrary graph, the problem of finding the largest set of triangles in a given graph, with no cycles other than the chosen triangles, can be formulated as a matroid parity problem on a graphic matroid whose elements are edges of the graph, with one pair of edges per triangle (duplicating edges if necessary when they belong to more than one triangle). The pairs of elements in a solution to the matroid parity problem for this matroid are the two edges in each triangle of an optimal set of triangles. The same problem can also be described as one of finding the largest Berge-acyclic sub-hypergraph of a 3-uniform hypergraph. In the hypergraph version of the problem, the hyper-edges are the triangles of the given graph. [3]

A cactus graph is a graph in which each two cycles have at most one vertex in common. As a special case, the graphs in which each cycle is a triangle are necessarily cactus graphs. The largest triangular cactus in the given graph can then be found by adding additional edges from a spanning tree, without creating any new cycles, so that the resulting subgraph has the same connected components as the original graph. Cactus graphs are automatically planar graphs, and the problem of finding triangular cactus graphs forms the basis for the best known approximation algorithm to the problem of finding the largest planar subgraph of a given graph, an important step in planarization. The largest triangular cactus always has at least 4/9 the number of edges of the largest planar subgraph, improving the 1/3 approximation ratio obtained by using an arbitrary spanning tree. [5]

Combinatorial rigidity
A framework of rigid bars in the Euclidean plane, connected at their endpoints at flexible joints, can be fixed into a single position in the plane by pinning some of its joints to points of the plane. The minimum number of joints that need to be pinned to fix the framework is called its pinning number. It can be computed from a solution to an associated matroid parity problem. [3]
Maximum-genus embeddings
A Xuong tree Xuong tree.svg
A Xuong tree

A cellular embedding of a given graph onto a surface of the maximum possible genus can be obtained from a Xuong tree of the graph. This is a spanning tree with the property that, in the subgraph of edges not in the tree, the number of connected components with an odd number of edges is as small as possible.

To formulate the problem of finding a Xuong tree as a matroid parity problem, first subdivide each edge of the given graph into a path, with the length of the path equal to the number of other edges incident to . Then, pair the edges of the subdivided graph, so that each pair of edges in the original graph is represented by a single pair of edges in the subdivided graph, and each edge in the subdivided graph is paired exactly once. Solve a matroid parity problem with the paired edges of the subdivided graph, using its cographic matroid (a linear matroid in which a subset of edges is independent if its removal does not separate the graph). Any spanning tree of the original graph that avoids the edges used in the matroid parity solution is necessarily a Xuong tree. [6]

Connected domination
A connected dominating set in a graph is a subset of vertices whose induced subgraph is connected, adjacent to all other vertices. It is NP-hard to find the smallest connected dominating set in arbitrary graphs, but can be found in polynomial time for graphs of maximum degree three. In a cubic graph, one can replace each vertex by a two-edge path connected to the ends of its three endpoints, and formulate a matroid parity problem on the pairs of edges generated in this way, using the cographic matroid of the expanded graph. The vertices whose paths are not used in the solution form a minimum connected dominating set. In a graph of maximum degree three, some simple additional transformations reduce the problem to one on a cubic graph. [7]
Feedback vertex set
A feedback vertex set in a graph is a subset of vertices that touches all cycles. In cubic graphs, there is a linear equation relating the number of vertices, cyclomatic number, number of connected components, size of a minimum connected dominating set, and size of a minimum feedback vertex set. [12] It follows that the same matroid parity problem used to find connected dominating sets can also be used to find feedback vertex sets in graphs of maximum degree three. [7]

Hardness

The clique problem, of finding a -vertex complete subgraph in a given -vertex graph , can be transformed into an instance of matroid parity as follows. Construct a paving matroid on elements, paired up so that there is one pair of elements per pair of vertices. Define a subset of these elements to be independent if it satisfies any one of the following three conditions:

Then there is a solution to the matroid parity problem for this matroid, of size , if and only if has a clique of size . Since finding cliques of a given size is NP-complete, it follows that determining whether this type of matrix parity problem has a solution of size is also NP-complete. [13]

This problem transformation does not depend on the structure of the clique problem in any deep way, and would work for any other problem of finding size- subsets of a larger set that satisfy a computable test. By applying it to a randomly-permuted graph that contains exactly one clique of size , one can show that any deterministic or randomized algorithm for matroid parity that accesses its matroid only by independence tests needs to make an exponential number of tests. [4]

Related Research Articles

In graph theory, a perfect matching in a graph is a matching that covers every vertex of the graph. More formally, given a graph G =, a perfect matching in G is a subset M of E, such that every vertex in V is adjacent to exactly one edge in M.

Bipartite graph Graph divided into two independent sets

In the mathematical field of graph theory, a bipartite graph is a graph whose vertices can be divided into two disjoint and independent sets and , that is every edge connects a vertex in to one in . Vertex sets and are usually called the parts of the graph. Equivalently, a bipartite graph is a graph that does not contain any odd-length cycles.

Component (graph theory) Maximal subgraph whose vertices can reach each other

In graph theory, a component of an undirected graph is a connected subgraph that is not part of any larger connected subgraph. The components of any graph partition its vertices into disjoint sets, and are the induced subgraphs of those sets. A graph that is itself connected has exactly one component, consisting of the whole graph. Components are sometimes called connected components.

This is a glossary of graph theory. Graph theory is the study of graphs, systems of nodes or vertices connected in pairs by lines or edges.

Spanning tree Tree which includes all vertices of a graph

In the mathematical field of graph theory, a spanning treeT of an undirected graph G is a subgraph that is a tree which includes all of the vertices of G. In general, a graph may have several spanning trees, but a graph that is not connected will not contain a spanning tree. If all of the edges of G are also edges of a spanning tree T of G, then G is a tree and is identical to T.

In the mathematical discipline of graph theory, a matching or independent edge set in an undirected graph is a set of edges without common vertices. Finding a matching in a bipartite graph can be treated as a network flow problem.

Edge coloring Problem of coloring a graphs edges such that meeting edges do not match

In graph theory, an edge coloring of a graph is an assignment of "colors" to the edges of the graph so that no two incident edges have the same color. For example, the figure to the right shows an edge coloring of a graph by the colors red, blue, and green. Edge colorings are one of several different types of graph coloring. The edge-coloring problem asks whether it is possible to color the edges of a given graph using at most k different colors, for a given value of k, or with the fewest possible colors. The minimum required number of colors for the edges of a given graph is called the chromatic index of the graph. For example, the edges of the graph in the illustration can be colored by three colors but cannot be colored by two colors, so the graph shown has chromatic index three.

In the mathematical theory of matroids, a graphic matroid is a matroid whose independent sets are the forests in a given finite undirected graph. The dual matroids of graphic matroids are called co-graphic matroids or bond matroids. A matroid that is both graphic and co-graphic is sometimes called a planar matroid ; these are exactly the graphic matroids formed from planar graphs.

Circuit rank Fewest graph edges whose removal breaks all cycles

In graph theory, a branch of mathematics, the circuit rank, cyclomatic number, cycle rank, or nullity of an undirected graph is the minimum number of edges that must be removed from the graph to break all its cycles, making it into a tree or forest. It is equal to the number of independent cycles in the graph. Unlike the corresponding feedback arc set problem for directed graphs, the circuit rank r is easily computed using the formula

Maximal independent set

In graph theory, a maximal independent set (MIS) or maximal stable set is an independent set that is not a subset of any other independent set. In other words, there is no vertex outside the independent set that may join it because it is maximal with respect to the independent set property.

Feedback arc set Edges that hit all cycles in a graph

In graph theory and graph algorithms, a feedback arc set or feedback edge set in a directed graph is a subset of the edges of the graph that contains at least one edge out of every cycle in the graph. Removing these edges from the graph breaks all of the cycles, producing a directed acyclic graph, an acyclic subgraph of the given graph. The feedback arc set with the fewest possible edges is the minimum feedback arc set and its removal leaves the maximum acyclic subgraph; weighted versions of these optimization problems are also used. If a feedback arc set is minimal, meaning that removing any edge from it produces a subset that is not a feedback arc set, then it has an additional property: reversing all of its edges, rather than removing them, produces a directed acyclic graph.

The arboricity of an undirected graph is the minimum number of forests into which its edges can be partitioned. Equivalently it is the minimum number of spanning forests needed to cover all the edges of the graph. The Nash-Williams theorem provides necessary and sufficient conditions for when a graph is k-arboric.

In graph theory, a connected graph is k-edge-connected if it remains connected whenever fewer than k edges are removed.

Hypercube graph Graphs formed by a hypercubes edges and vertices

In graph theory, the hypercube graphQn is the graph formed from the vertices and edges of an n-dimensional hypercube. For instance, the cube graph Q3 is the graph formed by the 8 vertices and 12 edges of a three-dimensional cube. Qn has 2n vertices, 2n – 1n edges, and is a regular graph with n edges touching each vertex.

Factor-critical graph Graph of n vertices with a perfect matching for every subgraph of n-1 vertices

In graph theory, a mathematical discipline, a factor-critical graph is a graph with n vertices in which every subgraph of n − 1 vertices has a perfect matching.

Handshaking lemma Every graph has evenly many odd vertices

In graph theory, a branch of mathematics, the handshaking lemma is the statement that, in every finite undirected graph, the number of vertices that touch an odd number of edges is even. In more colloquial terms, in a party of people some of whom shake hands, the number of people who shake an odd number of other people's hands is even. The handshaking lemma is a consequence of the degree sum formula, also sometimes called the handshaking lemma, according to which the sum of the degrees equals twice the number of edges in the graph. Both results were proven by Leonhard Euler (1736) in his famous paper on the Seven Bridges of Königsberg that began the study of graph theory.

Cactus graph

In graph theory, a cactus is a connected graph in which any two simple cycles have at most one vertex in common. Equivalently, it is a connected graph in which every edge belongs to at most one simple cycle, or in which every block is an edge or a cycle.

Pseudoforest Graph with one cycle per component

In graph theory, a pseudoforest is an undirected graph in which every connected component has at most one cycle. That is, it is a system of vertices and edges connecting pairs of vertices, such that no two cycles of consecutive edges share any vertex with each other, nor can any two cycles be connected to each other by a path of consecutive edges. A pseudotree is a connected pseudoforest.

In the mathematics of structural rigidity, a rigidity matroid is a matroid that describes the number of degrees of freedom of an undirected graph with rigid edges of fixed lengths, embedded into Euclidean space. In a rigidity matroid for a graph with n vertices in d-dimensional space, a set of edges that defines a subgraph with k degrees of freedom has matroid rank dn − k. A set of edges is independent if and only if, for every edge in the set, removing the edge would increase the number of degrees of freedom of the remaining subgraph.

In the mathematical theory of matroids, the rank of a matroid is the maximum size of an independent set in the matroid. The rank of a subset S of elements of the matroid is, similarly, the maximum size of an independent subset of S, and the rank function of the matroid maps sets of elements to their ranks.

References

  1. 1 2 3 4 5 6 7 8 9 10 Cheung, Ho Yee; Lau, Lap Chi; Leung, Kai Man (2014), "Algebraic algorithms for linear matroid parity problems" (PDF), ACM Transactions on Algorithms , 10 (3): 10:1–10:26, CiteSeerX   10.1.1.194.604 , doi:10.1145/2601066, MR   3233690, S2CID   894004
  2. 1 2 3 4 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
  3. 1 2 3 Lovász, L. (1980), "Matroid matching and some applications", Journal of Combinatorial Theory , Series B, 28 (2): 208–236, doi: 10.1016/0095-8956(80)90066-0 , MR   0572475
  4. 1 2 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
  5. 1 2 Călinescu, Gruia; Fernandes, Cristina G.; Finkler, Ulrich; Karloff, Howard (1998), "A better approximation algorithm for finding planar subgraphs", Journal of Algorithms, 27 (2): 269–302, CiteSeerX   10.1.1.47.4731 , doi:10.1006/jagm.1997.0920, MR   1622397, S2CID   8329680 .
  6. 1 2 Furst, Merrick L.; Gross, Jonathan L.; McGeoch, Lyle A. (1988), "Finding a maximum-genus graph imbedding", Journal of the ACM , 35 (3): 523–534, doi:10.1145/44483.44485, MR   0963159, S2CID   17991210
  7. 1 2 3 Ueno, Shuichi; Kajitani, Yoji; Gotoh, Shin'ya (1988), "On the nonseparating independent set problem and feedback set problem for graphs with no vertex degree exceeding three", Proceedings of the First Japan Conference on Graph Theory and Applications (Hakone, 1986), Discrete Mathematics , 72 (1–3): 355–360, doi: 10.1016/0012-365X(88)90226-9 , MR   0975556
  8. 1 2 Lee, Jon; Sviridenko, Maxim; Vondrák, Jan (2013), "Matroid matching: the power of local search", SIAM Journal on Computing , 42 (1): 357–379, CiteSeerX   10.1.1.600.4878 , doi:10.1137/11083232X, MR   3033132
  9. Le Gall, François (2014), "Powers of tensors and fast matrix multiplication", Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation (ISSAC 2014), New York: ACM, pp. 296–303, doi:10.1145/2608628.2608664, ISBN   9781450325011, MR   3239939, S2CID   2597483
  10. Geelen, James; Iwata, Satoru (2005), "Matroid matching via mixed skew-symmetric matrices", Combinatorica , 25 (2): 187–215, CiteSeerX   10.1.1.702.5431 , doi:10.1007/s00493-005-0013-7, MR   2127610, S2CID   18576135
  11. Gabow, Harold N.; Stallmann, Matthias (1985), "Efficient algorithms for graphic matroid intersection and parity (extended abstract)", in Brauer, Wilfried (ed.), 12th International Colloquium on Automata, Languages, and Programming (ICALP), Nafplion, Greece, July 15–19, 1985, Lecture Notes in Computer Science, vol. 194, Berlin: Springer, pp. 210–220, doi:10.1007/BFb0015746, ISBN   978-3-540-15650-5, MR   0819256
  12. Speckenmeyer, E. (1986), "Bounds on feedback vertex sets of undirected cubic graphs", Algebra, Combinatorics and Logic in Computer Science, Vol. I, II (Győr, 1983), Colloquia Mathematica Societatis János Bolyai, vol. 42, Amsterdam: North-Holland, pp. 719–729, MR   0875903
  13. Soto, José A. (2014), "A simple PTAS for weighted matroid matching on strongly base orderable matroids", Discrete Applied Mathematics , 164 (part 2): 406–412, arXiv: 1102.3491 , doi:10.1016/j.dam.2012.10.019, MR   3159127