The blossom algorithm is a graph theory algorithm for constructing maximum matchings on graphs, developed by Jack Edmonds in 1961 and published in 1965. Given a general graph, the algorithm finds a matching in which each vertex is incident with at most one matched edge and the number of matched edges is maximized, built by iteratively improving an initial empty matching along augmenting paths; unlike bipartite matching, its key new idea is that an odd length cycle in the graph, called a blossom, is contracted to a single vertex, with the search continuing iteratively in the contracted graph. It is considered important because it gave the first proof that a maximum size matching could be found using a polynomial amount of computation time.
Facts
Time Complexity
Time Complexity (category)Polynomial Time -- O(n^k) 1 Connections
Credited To
Source Blossom (Wikipedia)
In Field
Source Blossom algorithm (Wikipedia)
Invented By
Source Blossom (Wikipedia)
Sources
1. Blossom algorithm (Wikipedia)
Lead
The algorithm runs in time O(|E||V|2), where |E| is the number of edges of the graph and |V| is its number of vertices.
In Field: Algorithms and Complexity Theory, Lead sentence
blossom algorithm is an algorithm for constructing maximum matchings on graphs.
In Group: Network Flow and Matching Algorithms, Lead section
constructing maximum matchings on graphs
View the SourceBlossom (Wikipedia)
Credited To: Jack Edmonds, Lead section
The algorithm was developed by Jack Edmonds in 1961, and published in 1965
Invented By: Jack Edmonds, Lead section
The algorithm was developed by Jack Edmonds in 1961, and published in 1965
View the SourceReader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.