Odd Cycles in Matching Searches
In a graph with a matching, every vertex is either matched to one other vertex or is unmatched. An alternating path switches between edges in the matching and edges outside it. In a bipartite graph, the two parts help organize searches for such paths. In a general graph, an odd cycle can disrupt that parity-based organization: two different routes around the cycle can have different lengths and therefore different alternating-edge patterns.
A matching \(M\) in a finite simple graph \(G=(V,E)\) is a set of pairwise vertex-disjoint edges. A vertex incident with an edge of \(M\) is matched; otherwise it is unmatched (or exposed). A path is alternating with respect to \(M\) if its edges successively lie outside and inside \(M\), or successively lie inside and outside \(M\). An augmenting path is an alternating path whose endpoints are unmatched and whose first and last edges are outside \(M\). For a path of positive length, switching its edges from outside \(M\) to inside \(M\), and vice versa, increases the size of the matching by one.
An odd cycle is not automatically a blossom. Its edges must have a particular pattern relative to the matching, including a specified base. Requiring the right pattern after the base is removed is essential: without it, an odd cycle with no matched edges could be incorrectly labelled a blossom.
Definition and Parity Pattern
If \(C\) has length \(2k+1\), then \(k\geq 1\). Deleting \(b\) leaves a path of length \(2k-1\), not \(2k\): the cycle has \(2k+1\) edges, and the two edges incident with \(b\) are removed. The path has \(k\) edges in \(M\) and \(k-1\) outside \(M\), with a matched edge at each end. Adding back the two edges at \(b\), both outside \(M\), gives \(k\) matched and \(k+1\) unmatched edges on the cycle.
Proof. Fix a blossom \(C\) with base \(b\), and delete \(b\) and its two incident cycle edges. The remaining path has \(2k-1\) edges, begins and ends with matched edges, and alternates. Its edge sequence therefore consists of \(k\) matched edges separated by \(k-1\) unmatched edges. The two removed edges are both unmatched, so \(C\) has \(k\) matched edges and \(k+1\) unmatched edges. Along the remaining path, no two consecutive edges are both unmatched: every unmatched edge is between matched edges. At either end of the path, its end edge is matched, so the adjacent edge at \(b\) is not part of a second consecutive-unmatched pair. The two edges at \(b\), however, are consecutive on the cycle and both unmatched. Thus \(b\) is the unique vertex where consecutive cycle edges are both unmatched, proving that the base is unique. \(\square\)
There is a related parity obstruction. An odd cycle cannot alternate between matched and unmatched edges at every pair of consecutive edges, including the pair where the cycle closes. The reason is that alternation along a linear listing of its edges forces the first and last edges to have the same status, while those two edges are consecutive at the starting vertex and would need opposite statuses to alternate around the cycle.
Proof. List the edges of a cycle of length \(2k+1\) in cyclic order as \(e_0,e_1,\ldots,e_{2k}\). If successive edges alternate along the list, each of the \(2k\) transitions from \(e_0\) to \(e_{2k}\) changes the edge status. An even number of changes leaves the status unchanged, so \(e_0\) and \(e_{2k}\) have the same status. But these two edges meet at the starting vertex and are consecutive around the cycle. To alternate at that closing pair, they would have to have opposite statuses. This contradiction proves the lemma. \(\square\)
A blossom gives the characteristic way this obstruction appears: the cycle alternates along the path left after deleting the base, but the two unmatched edges at the base meet consecutively. The definition records that precise pattern; it does not label every odd cycle a blossom.
Worked Examples
Worked Example: A Triangle That Is a Blossom
Let \(G=(V,E)\), where \(V=\{1,2,3\}\) and \(E=\{12,23,31\}\). Take \(M=\{23\}\). Determine whether the triangle is a blossom and, if it is, identify its base.
Edge \(23\) is in \(M\), while \(12\) and \(31\) are outside \(M\). Choose vertex \(1\) as the proposed base. The two cycle edges at \(1\), namely \(12\) and \(31\), are both unmatched. Deleting \(1\) leaves the one-edge path \(2,3\), whose edge \(23\) is matched. It begins and ends with a matched edge, so the definition is satisfied: this is a blossom with base \(1\).
Check: The cycle has length \(3=2(1)+1\), so \(k=1\). It has \(1\) matched edge, \(23\), and \(2\) unmatched edges, \(12\) and \(31\), as the count gives. The only consecutive unmatched pair is \(12,31\), meeting at \(1\); hence the base is unique.
Worked Example: A Five-Cycle with a Blossom Base
Let \(G=(V,E)\), where \(V=\{a,b,c,d,e\}\) and \(E=\{ab,bc,cd,de,ea\}\). Take \(M=\{bc,de\}\). Test whether this cycle is a blossom with base \(a\).
The cycle edges at \(a\) are \(ab\) and \(ea\), neither of which is in \(M\). Removing \(a\) leaves the path \(b,c,d,e\). In order, its edges are \(bc\in M\), \(cd\notin M\), and \(de\in M\). This path alternates, and its first and last edges are matched. Therefore the cycle is a blossom with base \(a\).
Check: The cycle length is \(5=2(2)+1\), so \(k=2\). The cycle has \(2\) matched edges, \(bc,de\), and \(3\) unmatched edges, \(ab,cd,ea\). The consecutive unmatched pair is \(ea,ab\), meeting at \(a\); the other consecutive pairs each contain a matched edge. The edge count and the unique-base condition both agree with the definition.
Worked Example: A Blossom Alongside an Augmenting Path
Let \(G=(V,E)\), where \(V=\{r,u,a,b,c,z\}\) and \(E=\{ru,ua,ab,bc,ca,cz\}\). Take \(M=\{ua,bc\}\). Identify a blossom and then check whether the graph also has an augmenting path.
The cycle \(a,b,c,a\) has edges \(ab,bc,ca\). With base \(a\), the edges \(ab\) and \(ca\) are outside \(M\), and deleting \(a\) leaves the one-edge path \(b,c\), whose edge \(bc\) is matched. Thus this triangle is a blossom with base \(a\).
The path \(r,u,a,b,c,z\) has edges \(ru,ua,ab,bc,cz\), in that order. Their statuses are outside \(M\), inside \(M\), outside \(M\), inside \(M\), outside \(M\). Its endpoints \(r\) and \(z\) are unmatched, since neither is incident with an edge of \(M\). It is therefore an augmenting path.
Check: The path has \(3\) unmatched edges and \(2\) matched edges. Switching their statuses removes \(ua,bc\) and adds \(ru,ab,cz\). The new set \(\{ru,ab,cz\}\) is a matching: these edges have no shared endpoints, and its size is \(3\), one greater than \(|M|=2\). This example shows that a blossom can occur in a graph that has an augmenting path; the odd cycle creates a parity complication, not a claim that augmentation is impossible.
Worked Example: An Odd Cycle That Is Not a Blossom
Let \(G=(V,E)\), where \(V=\{1,2,3\}\) and \(E=\{12,23,31\}\), and take \(M=\varnothing\). Is this triangle a blossom for any choice of base?
For any proposed base, deleting that vertex leaves a one-edge path. Its edge is outside \(M\), not inside \(M\), so the path does not begin and end with matched edges. The defining condition fails for every proposed base. Equivalently, all three edges are unmatched, so every vertex is incident with two consecutive unmatched cycle edges; there is no unique base.
Check: Here the cycle has length \(3\), so a blossom would have \(k=1\) matched edge and \(k+1=2\) unmatched edges. The actual counts are \(0\) matched edges and \(3\) unmatched edges. Thus the edge counts also rule out a blossom.
Why the Base Matters in a Search
In an alternating-path search, reaching vertices by paths of even or odd length helps determine which matching status an outgoing edge can have. An odd cycle can connect two routes that do not fit into one consistent parity pattern. In a blossom, the base is the specific vertex where the two unmatched cycle edges meet; the rest of the cycle, after removing the base, has the required alternating pattern. Keeping these features together lets a search recognize the odd-cycle structure instead of treating its two routes as though they had the same parity.
The examples also show why it is important to check the matching, not only the graph. The same triangle is a blossom for \(M=\{23\}\) with base \(1\), but it is not a blossom for \(M=\varnothing\). “Odd cycle” describes the graph structure; “blossom” describes that structure relative to a particular matching.
Common Pitfalls
Do not omit the end-edge condition. It is not enough that deleting a proposed base leaves an alternating path. The remaining path must start and end with matched edges. Otherwise the triangle with no matching would incorrectly qualify, since deleting any vertex leaves a one-edge alternating path, even though that edge is unmatched.
Do not reverse the parity argument. In a cycle of length \(2k+1\), the first and last edges in a linear listing are separated by \(2k\) transitions. If statuses alternate along those transitions, the first and last statuses are the same. Since these edges are consecutive at the starting vertex, that is precisely why they cannot alternate at the closing pair.
Do not infer that a blossom prevents augmentation. It complicates the parity logic of a direct search. As the example with vertices \(r,u,a,b,c,z\) shows, an augmenting path may still exist. Identifying the blossom is a structural step, not a conclusion that the matching is maximum.
Check Your Understanding
For each question, specify the matching whenever the answer depends on it, and check the edge statuses around the relevant cycle.
- Let \(V=\{1,2,3,4,5\}\), \(E=\{12,23,34,45,51\}\), and \(M=\{23,45\}\). Is the cycle a blossom? If so, give its base and verify the path condition.
- For a blossom of length \(9\), how many edges are in the matching and how many are outside it on the cycle? Explain using the path after deleting the base.
- Explain why an odd cycle cannot alternate at every consecutive pair, including the pair where its edge listing closes.
- For the triangle with \(M=\{23\}\), test each vertex as a proposed base and identify why only one satisfies the definition.
- Give a reason an odd cycle alone is insufficient to determine whether a cycle is a blossom.