Content deleted Content added
m math formatting Tags: Mobile edit Mobile app edit iOS app edit |
Undid revision 1297413102 by United Nations Peace Ambassadors Foundation -UNPAF (talk) that link goes to an Australian magazine |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 19:
| year = 1965
| pages = 449–467
| doi-access = free
}}</ref> Given a general [[Graph (discrete mathematics)|graph]] {{math|1=''G'' = (''V'', ''E'')}}, the algorithm finds a matching {{mvar|M}} such that each vertex in {{mvar|V}} is incident with at most one edge in {{mvar|M}} and {{math|{{abs|''M''}}}} is maximized. The matching is constructed by iteratively improving an initial empty matching along augmenting paths in the graph. Unlike [[bipartite graph|bipartite]] matching, the key new idea is that an odd-length cycle in the graph (blossom) is contracted to a single vertex, with the search continuing iteratively in the contracted graph.
The algorithm runs in time {{math|[[Big O notation|''O'']]({{abs|''E''}}{{abs|''V''}}{{sup|2}})}}, where {{math|{{abs|''E''}}}} is the number of [[edge (graph)|edges]] of the graph and {{math|{{abs|''V''}}}} is its number of [[vertex (graph)|vertices]]. A better running time of <math>O( |E| \sqrt{ |V| } )</math> for the same task can be achieved with the much more complex algorithm of Micali and Vazirani.<ref name = "micali">{{cite conference
Line 84 ⟶ 85:
==Blossoms and contractions==
Given {{math|1=''G'' = (''V'', ''E'')}} and a matching
'''''Finding Blossoms:'''''
* Traverse the graph starting from an exposed vertex.
* Starting from that vertex, label it as an outer vertex
* Alternate the labeling between vertices being inner
* If we end up with two adjacent vertices labeled as outer
Define the '''contracted graph''' {{mvar|G'
[[File:Edmonds blossom.svg|500px|alt=Example of a blossom]]
{{mvar|G'
| author = Tarjan, Robert
| contribution = Sketchy Notes on Edmonds' Incredible Shrinking Blossom Algorithm for General Matching
Line 103 ⟶ 104:
}}</ref> In more detail:
* if {{mvar|P'
[[File:Edmonds lifting path.svg|500px|alt=Path lifting when {{mvar|P'
* if {{mvar|P'
[[File:Edmonds lifting end point.svg|500px|alt=Path lifting when {{mvar|P'
Thus blossoms can be contracted and search performed in the contracted graphs. This reduction is at the heart of Edmonds' algorithm.
Line 214 ⟶ 215:
<references/>
[[Category:Graph algorithms]]
[[Category:Matching (graph theory)]]
|