A matching in a graph is a subset whose edges have pairwise disjoint endpoints. It is a perfect matching when every vertex is incident to exactly one edge in .
Use Tutte's theorem on perfect matchings: a finite graph has a perfect matching if and only if, for every , the number of connected components of a graph of odd integer order in is at most .
First, the handshaking lemma gives , so is an even integer. Fix . For each connected component of a graph of odd integer order in , let count its edges to . Counting vertex degrees inside gives
Thus is an odd integer; it is positive because is a connected graph. If , its unique outgoing edge is a bridge. Distinct such components yield distinct bridges, so there are at most two of them. Every other such component has . Therefore
The last inequality holds because each vertex of has vertex degree three. Furthermore,
since components of even integer order do not affect parity, and is an even integer. If , this parity forces , contradicting the bound .
For , the only component is the whole connected graph, of even integer order, so . Thus every satisfies the criterion, and has a perfect matching. This proves the perfect matching theorem for a cubic graph with at most two bridges directly from Tutte's theorem on perfect matchings.
Choose a perfect matching from (i). Every vertex has exactly two incident edges in , so this spanning subgraph is a disjoint union of graph cycles. Orient each graph cycle cyclically, and let be the next vertex after along its oriented graph cycle.
For each , take the three-edge sequence
Its four vertices are distinct. Each and because the graph is a simple graph. Also and , since belongs to , rather than . Finally because the successor map is a bijection on the disjoint graph cycles. Thus this is a graph path of length exactly three.
Every edge of is used once as a middle edge. Every edge of is used once as the outgoing edge of its tail, whose unique edge of determines which graph path contains it. Hence these graph paths are pairwise edge-disjoint and cover . This is the three-edge path decomposition from a perfect matching.
Figure 1.
On a triangular prism, orient the two remaining graph cycles and extend each perfect matching edge by its endpoints' outgoing edges; the three colors partition all nine edges into length-three graph paths
. Details.
The maximum-weight matching problem asks for a matching in a graph maximizing its total weight:
The requirement is on weight; a maximum cardinality matching need not solve this optimization problem.
The sharp approximation algorithm factor is . Charge each edge of an optimal maximum-weight matching to an edge of the greedy matching . If , charge it to itself. Otherwise it was rejected because a previously selected edge shared an endpoint; charge to one such . Since the scan is in nonincreasing weight order, .
Each receives at most two charges, since each of its two endpoints meets at most one edge of the matching in a graph . If , only its own charge is possible. Thus
This inequality also covers the edgeless graph, for which both weights are zero and the displayed ratio in the question is undefined.
For tightness, take a four-vertex path graph with weights in order, where . The greedy matching chooses only the middle edge, of weight , whereas the optimal matching in a graph chooses both outer edges, of total weight . Hence
To obtain infinitely many different sizes, for each take disjoint copies with . Their weights add, so their ratio is . All weights are strictly positive, and the middle edge is uniquely heaviest in each copy. With all three weights equal to , a permitted tie order selecting each middle edge first attains ratio exactly. The greedy two-approximation for maximum-weight matching is therefore best possible.
Figure 1.
A uniquely heavier middle edge gives a greedy matching of weight , while the two outer edges give a maximum-weight matching of weight
. Details.
Assume has no isolated vertex; otherwise an edge cover does not exist. In particular, a one-vertex connected graph is an excluded degenerate case of the statement.
Let be a maximum cardinality matching, of size , and let be its unmatched vertices in a matching. There is no edge joining two vertices of , since adding it would enlarge . Choose one incident edge for each . These chosen edges are distinct and outside , so together they form an edge cover of size
Consequently .
For the opposite bound, let be a minimum-cardinality edge cover. It is inclusion-minimal. Every selected edge has an endpoint of vertex degree one in : otherwise deleting that edge would leave both endpoints covered. Each connected component of a graph of is therefore a star graph. To see this, a component can have at most one vertex of vertex degree greater than one; a shortest graph path between two such vertices would contain an edge whose endpoints both have vertex degree greater than one. A component with no such vertex is a single edge, also a star graph.
If there are such star graphs, each has one fewer edge than vertices, so . Select one edge from each component to get a matching in a graph of size . Hence , proving the edge cover and matching identity
First test for an isolated vertex, reporting infeasibility if one exists. Otherwise compute a maximum cardinality matching using a general-graph polynomial-time algorithm, then add one arbitrary incident edge for each unmatched vertex in a matching. The proof in (i) shows that the resulting edge cover has minimum cardinality .
The final scan takes time with adjacency lists; the maximum cardinality matching computation is polynomial. One may obtain it from a general-graph maximum-weight matching routine with every weight equal to one.[ref]
Use minimum-weight edge cover by matching savings. Reject inputs with an isolated vertex. For every vertex , choose a cheapest incident edge and write . Define a baseline and a saving for each edge by
Compute a maximum-weight matching using as its weights, allowing the empty matching in a graph and imposing no maximum-cardinality condition. Negative savings may be ignored. Return
This is an edge cover. Since original weights are nonnegative, removing duplicate appearances of an edge cannot increase the total, and hence
To prove optimality, take a minimum-weight edge cover and remove redundant edges until it is inclusion-minimal. Nonnegative weights ensure that its weight does not increase, so it remains optimal. As proved in (i), its components are star graphs. Choose one edge from each star graph, forming a matching in a graph .
In a star graph with center , selected leaf , and other leaves , this choice contributes to . Each other leaf has its edge available, so . Thus this contribution is at most the weight of that star graph. Summing over components yields
Since maximizes saving, , and consequently
All inequalities are equalities. Therefore is a minimum-weight edge cover. This proof also handles zero weights and duplicate cheapest-edge choices.
Finding all and constructing takes time. A general-graph maximum-weight matching polynomial-time algorithm supplies the only substantial step; the documented routine runs in arithmetic time. Exact rational or integer weights avoid floating-point comparisons affecting optimality.[ref]

Articles by others on the same topic (0)

There are currently no matching articles.