Matching polytope
In graph theory, the matching polytope of a given graph is a geometric object representing the possible matchings in the graph. It is a convex polytope each of whose corners corresponds to a matching. It has great theoretical importance in the theory of matching.
Preliminaries
Incidence vectors and matrices
Let G = be a graph with n = |V| nodes and m = |E| edges.For every subset U of vertices, its incidence vector 1U is a vector of size n, in which element v is 1 if node v is in U, and 0 otherwise. Similarly, for every subset F of edges, its incidence vector 1F is a vector of size m, in which element e is 1 if edge e is in F, and 0 otherwise.
For every node v in V, the set of edges in E adjacent to v is denoted by E. Therefore, the vector 1E is a 1-by-m vector in which element e is 1 if edge e is adjacent to v, and 0 otherwise. The incidence matrix of the graph, denoted by AG, is an n-by-m matrix in which each row v is the incidence vector 1E. In other words, each element v,e in the matrix is 1 if node v is adjacent to edge e, and 0 otherwise.
Below are three examples of incidence matrices: the triangle graph, a square graph, and the complete graph on 4 vertices.
Linear programs
For every subset F of edges, the dot product 1E · 1F represents the number of edges in F that are adjacent to v. Therefore, the following statemens are equivalent:- A subset F of edges represents a matching in G;
- For every node v in V: 1E · 1F ≤ 1.
- AG · 1F ≤ 1V.
Maximize 1E · x
Subject to: x in m
__________ AG · x ≤ 1V.
Fractional matching polytope
The fractional matching polytope of a graph G, denoted FMP, is the polytope defined by the relaxation of the above linear program, in which each x may be a fraction and not just an integer:Maximize 1E · xThis is a linear program. It has m "at-least-0" constraints and n "less-than-one" constraints. The set of its feasible solutions is a convex polytope. Each point in this polytope is a fractional matching. For example, in the triangle graph there are 3 edges, and the corresponding linear program has the following 6 constraints:
Subject to: x ≥ 0E
__________ AG · x ≤ 1V.
Maximize x1+x2+x3This set of inequalities represents a polytope in R3 - the 3-dimensional Euclidean space.
Subject to: x1≥0, x2≥0, x3≥0.
__________ x1+x2≤1, x2+x3≤1, x3+x1≤1.
The polytope has five corners. These are the points that attain equality in 3 out of the 6 defining inequalities. The corners are,,,, and. The first corner represents the trivial matching. The next three corners,, represent the three matchings of size 1. The fifth corner does not represent a matching - it represents a fractional matching in which each edge is "half in, half out". Note that this is the largest fractional matching in this graph - its weight is 3/2, in contrast to the three integral matchings whose size is only 1.
As another example, in the 4-cycle there are 4 edges. The corresponding LP has 4+4=8 constraints. The FMP is a convex polytope in R4. The corners of this polytope are,,,,,,. Each of the last 2 corners represents matching of size 2, which is a maximum matching. Note that in this case all corners have integer coordinates.
Integral matching polytope
The integral matching polytope of a graph G, denoted MP, is a polytope whose corners are the incidence vectors of the integral matchings in G.MP is always contained in FMP. In the above examples:
- The MP of the triangle graph is strictly contained in its FMP, since the MP does not contain the non-integral corner.
- The MP of the 4-cycle graph is identical to its FMP, since all the corners of the FMP are integral.
The matching polytopes in a bipartite graph
G is a bipartite graph if-and-only-if MP = FMP if-and-only-if all corners of FMP have only integer coordinates.This theorem can be proved in several ways.
Proof using matrices
When G is bipartite, its incidence matrix AG is totally unimodular - every square submatrix of it has determinant 0, +1 or 1. The proof is by induction on k - the size of the submatrix. The base k = 1 follows from the definition of AG - every element in it is either 0 or 1. For k>1 there are several cases:- If K has a column consisting only of zeros, then det K = 0.
- If K has a column with a single 1, then det K can be expanded about this column and it equals either +1 or -1 times a determinant of a by matrix, which by the induction assumption is 0 or +1 or −1.
- Otherwise, each column in K has two 1s. Since the graph is bipartite, the rows can be partitioned into two subsets, such that in each column, one 1 is in the top subset and the other 1 is in the bottom subset. This means that the sum of the top subset and the sum of the bottom subset are both equal to 1E minus a vector of |E| ones. This means that the rows of K are linearly dependent, so det K = 0.
Each corner of FMP satisfies a set of m linearly-independent inequalities with equality. Therefore, to calculate the corner coordinates we have to solve a system of equations defined by a square submatrix of AG. By Cramer's rule, the solution is a rational number in which the denominator is the determinant of this submatrix. This determinant must by +1 or −1; therefore the solution is an integer vector. Therefore all corner coordinates are integers.
By the n "less-than-one" constraints, the corner coordinates are either 0 or 1; therefore each corner is the incidence vector of an integral matching in G. Hence FMP = MP.
Proof using the definition of extreme points
A corner of a polytope is, by definition, a point that is not the mid-point of any two different points of the polytope. Let x be a non-integral point of FMP. Let xe be some non-integral element of it. It is possible to increase xe by some small number ε, decrease edges of adjacent vertices by ε, increase edges of adjacent vertices by ε, etc., such that we modify the weights of all edges in a cycle. Since G is bipartite, the cycle has even length, and therefore the total weight near each vertex of the cycle has not changed. Thus we get a new point x+ which is the same as x up to adding/removing ε from edges of an even cycle. Similarly, by inverting the sign of the additions, we get a new point x-. Now, x is the midpoint of x+ and x-, so it cannot be a corner.The facets of the matching polytope
A facet of a polytope is the set of its points which satisfy an essential defining inequality of the polytope with equality. If the polytope is d-dimensional, then its facets are -dimensional. For any graph G, the facets of MP are given by the following inequalities:- x ≥ 0E
- 1E · x ≤ 1 .
- 1E · x ≤ /2
Perfect matching polytope
1E · x = n/2.