A Simplification of the MV Matching Algorithm and its Proof

A Simplification of the MV Matching Algorithm and its Proof

For all practical purposes, the Micali-Vazirani general graph maximum matching algorithm is still the most efficient known algorithm for the problem. The purpose of this paper is to provide a complete proof of correctness of the algorithm in the simplest possible terms; graph-theoretic machinery developed for this purpose also helps simplify the algorithm.


💡 Research Summary

The paper revisits the Micali‑Vazirani (MV) algorithm, which remains the fastest known method for finding a maximum matching in a general graph, and offers a dramatically simplified proof of its correctness. The authors’ primary goal is to eliminate the heavy combinatorial machinery traditionally associated with the MV algorithm—such as blossoms, dual labels, virtual vertices, and intricate tree structures—while preserving the algorithm’s optimal O(√n · m) time complexity (where n is the number of vertices and m the number of edges).

The simplification hinges on two elementary graph‑theoretic constructs: the level graph and augmenting paths. Starting from a current matching M, the algorithm performs a breadth‑first search (BFS) from all free vertices (vertices not incident to any matched edge). During BFS, edges are traversed alternately as matched (cross) and unmatched (non‑cross) edges, and each vertex receives a “level” equal to the length of the shortest alternating sequence from a free vertex. Crucially, vertices at even levels can only be reached via matched edges, while odd‑level vertices are reachable only via unmatched edges. This parity property guarantees that any path discovered between two free vertices in the level graph is automatically an augmenting path.

The central theorem proved in the paper states: In the constructed level graph, the shortest path connecting any pair of free vertices is a minimum‑length augmenting path for the current matching, and its length equals the minimum augmenting‑path length overall. The proof proceeds by a two‑stage contradiction. First, assuming the level graph contains no augmenting path leads to an “odd‑even infeasibility” condition, which implies that the current matching is already maximum—a contradiction if the algorithm has not terminated. Second, if an augmenting path exists, the BFS guarantees that the discovered path is the shortest possible, because BFS explores vertices in non‑decreasing order of level. Consequently, each augmentation strictly increases the size of the matching by one.

Algorithmically, the authors present a loop that is conceptually far simpler than the original MV procedure:

  1. Initialize the matching M as empty and enqueue all free vertices.
  2. Run BFS to build the level graph, assigning levels to every reachable vertex.
  3. Whenever BFS reaches another free vertex, backtrack along the BFS tree to extract the augmenting path and flip the matched/unmatched status of its edges, thereby augmenting M.
  4. Reset the level information and repeat from step 1 until BFS fails to find any augmenting path.

Each BFS iteration costs O(m) time, and because the matching size can increase at most n/2 times, the total running time is O(√n · m). Memory usage remains linear, O(n + m), because the algorithm never creates auxiliary structures such as blossom trees or dual‑label arrays; it only stores the adjacency list, the current matching, a queue, and level labels.

The paper also discusses why the removal of dual labels and blossom contraction does not weaken the algorithm. By focusing exclusively on the parity‑based level graph, the authors show that any obstruction that would normally require a blossom can be captured directly as a failure to find a free‑to‑free path within the current level structure. Thus, the correctness argument becomes a straightforward application of BFS properties and alternating‑path theory, rather than a complex interplay of primal‑dual conditions.

From an implementation standpoint, the simplified description translates into cleaner code, fewer edge cases, and easier debugging. For educators, the proof offers a pedagogically accessible route to introduce students to maximum‑matching theory without delving into the sophisticated combinatorial optimizations that historically made the MV algorithm daunting.

In conclusion, the authors succeed in preserving the asymptotic efficiency of the MV algorithm while delivering a proof that relies solely on elementary graph traversal and level assignment. This contribution narrows the gap between theoretical optimality and practical understandability, making the MV algorithm more approachable for both researchers and practitioners in combinatorial optimization.