HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

In the Hopcroft-Karp algorithm, what is the purpose of the breadth first search?

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
thewhathopcroftsearchbreadthalgorithmfirstpurposekarp

Problem

In the Hopcroft-Karp algorithm for bipartite matching, I don't understand the purpose of the breadth first search. I think it's used to find a set of vertex disjoint augmenting paths, but I'm not sure what the significance of that is or even what that means. Why do the augmenting paths have to be the shortest? And why do they have to be vertex disjoint?

Solution

Vertex-disjoint means that no vertex appears in two augmenting paths. The paths have to be disjoint so that all can be used. If we have two augmenting paths, P1 and P2, and we augment the matching using using P1, is P2 still an augmenting path for the augmented matching? Yes, if P1 and P2 are vertex disjoint.

As for minimum length, it has the practical implication that we spend the shortest time looking for augmenting paths, but there is a technical matter, too. Augmenting paths found this way are guaranteed to be vertex-disjoint. Look at this text.

Context

StackExchange Computer Science Q#12030, answer score: 5

Revisions (0)

No revisions yet.