Matchings in graphs: Difference between revisions
Jump to navigation
Jump to search
Line 29: | Line 29: | ||
# '''Bipartite matching:''' The graph <math>G=(V,E)</math> is [[Basic graph definitions#Bipartite and k-partite graphs|bipartite]]. | # '''Bipartite matching:''' The graph <math>G=(V,E)</math> is [[Basic graph definitions#Bipartite and k-partite graphs|bipartite]]. | ||
# '''Perfect matching:''' A variant on the cardinality-maximal matching problem, in which <math>|V|</math> is even and the output is void if the maximal cardinality of any matching is strictly smaller than the upper bound <math>|V|/2</math>. So the output is | # '''Perfect matching:''' A variant on the cardinality-maximal matching problem, in which <math>|V|</math> is even and the output is void if the maximal cardinality of any matching is strictly smaller than the upper bound <math>|V|/2</math>. So the output is a matching if, and only if, it is of size <math>|V|/2</math>. Such a matching is usually called a '''perfect matching'''. | ||
'''Remark:''' | '''Remark:''' | ||
The maximum-weight matching problem restricted to bipartite graphs is usually called the '''assignment problem'''. | The maximum-weight matching problem restricted to bipartite graphs is usually called the '''assignment problem'''. |
Revision as of 13:38, 17 November 2014
Definitions
- Let [math]\displaystyle{ G=(V,E) }[/math] be an undirected graph. A matching in [math]\displaystyle{ G }[/math] is a set [math]\displaystyle{ M }[/math] of edges such that no two edges in [math]\displaystyle{ M }[/math] are incident.
- A node [math]\displaystyle{ v\in V }[/math] is matched with respect to a matching [math]\displaystyle{ M }[/math] if it is incident to a member of [math]\displaystyle{ M }[/math]; otherwise, [math]\displaystyle{ v }[/math] is called free or exposed.
- A path [math]\displaystyle{ p }[/math] in an undirected graph [math]\displaystyle{ G=(V,E) }[/math] is called alternating with respect to some matching [math]\displaystyle{ M }[/math] if, for any two subsequent edges on [math]\displaystyle{ p }[/math], exactly one of them belongs to [math]\displaystyle{ M }[/math]. Consequently, the edges in [math]\displaystyle{ M }[/math] and the edges not in [math]\displaystyle{ M }[/math] appear strictly alternatingly on [math]\displaystyle{ p }[/math].
- A path [math]\displaystyle{ p }[/math] in an undirected graph [math]\displaystyle{ G=(V,E) }[/math] is called augmenting with respect to some matching [math]\displaystyle{ M }[/math] if [math]\displaystyle{ p }[/math] is alternating and both of its end nodes are exposed.
Cardinality-maximal matching
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:
Maximum-weight matching
Input:
- An undirected graph [math]\displaystyle{ G=(V,E) }[/math].
- A weight [math]\displaystyle{ w(e) }[/math] for each edge [math]\displaystyle{ e\in E }[/math].
Output: A matching [math]\displaystyle{ M }[/math] in [math]\displaystyle{ G }[/math] such that [math]\displaystyle{ \sum_{e\in M'}w(e)\leq\sum_{e\in M}w(e) }[/math] for any other matching [math]\displaystyle{ M' }[/math] in [math]\displaystyle{ G }[/math].
Variations
- Bipartite matching: The graph [math]\displaystyle{ G=(V,E) }[/math] is bipartite.
- Perfect matching: A variant on the cardinality-maximal matching problem, in which [math]\displaystyle{ |V| }[/math] is even and the output is void if the maximal cardinality of any matching is strictly smaller than the upper bound [math]\displaystyle{ |V|/2 }[/math]. So the output is a matching if, and only if, it is of size [math]\displaystyle{ |V|/2 }[/math]. Such a matching is usually called a perfect matching.
Remark: The maximum-weight matching problem restricted to bipartite graphs is usually called the assignment problem.