Nomenclature:
NOTE: In the drawings, the blue edges are the ones in the matching, while the orange ones are not.
- Matching: a subset of edges such that each node is incident (“touches”) at most 1 edge in .
- Perfect matching: if the number of edges in is exactly half of all possible edges.
- Maximum cardinality matching: maximizes the number of edges in the
- Weighted matching: maximizes the weights in the
- Exposed node: no edge in is incident (“touches”) to this node.

- Alternating path: A path composed of alternating edges in the matching and ones that are not.

- Augmented path: An alternating path that starts and ends with two different exposed nodes.

- Matching augmentation: edge in the matching are exchanged with edges not in the matching, a matching augmentation is only valid if the number of edges in the matching increases aferword (otherwise is useless)

- Blossom: cycle with () edges → edges will belong to the matching.

- Shrinking of a blossom:

Mathematical Formulation
- Variables:
: boolean, if belongs to , otherwise.
- Objective function:
- Constraints:
Edmonds’s Algorithm

Complexity: operations.
- : number of nodes
- : number of arcs