Cardinality-maximal matching

From Algowiki
Revision as of 10:02, 21 November 2014 by Weihe (talk | contribs) (Created page with "== Basic definitions == # Basic graph definitions # Matchings in graphs == Definition == '''Input:''' An undirected graph <math>G=(V,E)</math>. '''Output:''' A mat...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Basic definitions

  1. Basic graph definitions
  2. Matchings in graphs

Definition

Input: An undirected graph [math]\displaystyle{ G=(V,E) }[/math].

Output: A matching [math]\displaystyle{ M }[/math] in [math]\displaystyle{ G }[/math] such that [math]\displaystyle{ |M'|\leq|M| }[/math] for any other matching [math]\displaystyle{ M' }[/math] in [math]\displaystyle{ G }[/math].

Known algorithms:

  1. Maximum matching by Edmonds
  2. Classical bipartite cardinality matching (bipartite graphs [math]\displaystyle{ G }[/math] only)

Berge's theorem

Statement: A matching [math]\displaystyle{ M }[/math] in an undirected graph [math]\displaystyle{ G=(V,E) }[/math] is cardinality-maximal if, and only if, [math]\displaystyle{ M }[/math] admits no augmenting path.

Proof: Clearly, if [math]\displaystyle{ M }[/math] admits an augmenting path, [math]\displaystyle{ M }[/math] is not cardinality-maximal. So consider the case that [math]\displaystyle{ M }[/math] is not cardinality-maximal. We have to show that [math]\displaystyle{ M }[/math] admits an augmenting path.

By assumption, there is a matching [math]\displaystyle{ M' }[/math] in [math]\displaystyle{ G }[/math] such that [math]\displaystyle{ |M'|\gt |M| }[/math]. The symmetric difference, <math>\Delta