Kuhn Munkres algorithm Actors
A definition There is a label on every vertex and its value is L[x]. For any edge (x,y) we make sure that L[x] + L[y] ≥ w(x,y).
Another definition We define the equivalent subgraph G'. G' includes all the vertices and all the tight edges. tight: w(x,y) = L[x] + L[y] Actually, we don't care about weight in the G'.
An important lemma If the equivalant subgraph G' has a perfect match, then this match will be the maximum weighted match in G.
New goal Our goal is to find the prefect match in the G'. Welcome Nayun Xu!
A simple description of algorithm procedure Step1. Set a label L[x] for every vertex x. Step2. Get the equivalent subgraph by definition. Step3. If every vertex has been matched , go to Step4. Find a vertex x not matched yet in the left part, and try to find a match vertex y in the right part in the equivalent subgraph. If it is impossible to find a match vertex y for x, then we adjust the vertex label, and go back to Step2, else repeat Step3. Step4. The label now can lead to an equivalent subgraph with a perfect match. And the sum of all the vertex label now is the value of max weight matching.
More details with an example 7
More details with an example 8
More details with an example 9
More details with an example 10
More details with an example 11
More details with an example 12
More details with an example 13
More details with an example 14
Key words in the algorithm 1.vertex label 2.equivalent subgraph 2.find match vertex (network flow or Hungarian algorithm) 3.adjust vertex label
Welcome Kevin Tan
A simple time bound and its proof
A brief introduction to dual problem Actually ...
Thank you for listening!
Recommend
More recommend