Download presentation
Presentation is loading. Please wait.
1
Algorithms and Networks
Matching Algorithms and Networks
2
Algorithms and Networks: Matching
This lecture Matching: problem statement and applications Bipartite matching (recap) Matching in arbitrary undirected graphs: Edmonds algorithm Diversion: generalized tic-tac-toe Algorithms and Networks: Matching
3
Problem and applications
1 Problem and applications
4
Algorithms and Networks: Matching
Set of edges πβπΈ such that no vertex is endpoint of more than one edge. Maximal matching No πβπΈ with πβͺ π also a matching Maximum matching Matching with π as large as possible Perfect matching π=π/2: each vertex endpoint of edge in π. Algorithms and Networks: Matching
5
Algorithms and Networks: Matching
Not a maximal matching, Not a maximum matching Not a perfect matching Algorithms and Networks: Matching
6
Algorithms and Networks: Matching
Maximum Matching A maximal matching, A maximum matching Not a perfect matching (Size 4) Algorithms and Networks: Matching
7
Algorithms and Networks: Matching
Maximal Matching A maximal matching, Not a maximum matching Not a perfect matching (Size: 3) Algorithms and Networks: Matching
8
Algorithms and Networks: Matching
Perfect Matching A maximal matching, A maximum matching A perfect matching (Size 4) Algorithms and Networks: Matching
9
Algorithms and Networks: Matching
Cost versions Each edge has cost; look for perfect matching with minimum cost Also polynomial time solvable, but harder Algorithms and Networks: Matching
10
Algorithms and Networks: Matching
Problems Given graph πΊ, find Maximal matching: easy (greedy algorithm) Maximum matching Polynomial time; not easy. Important easier case: bipartite graphs Perfect matching Special case of maximum matching A theorem for regular bipartite graphs and Schrijverβs algorithm Algorithms and Networks: Matching
11
Algorithms and Networks: Matching
Applications (1) Classroom assignment Scheduling Opponents selection for sport competitions In a chess (or tennis, or β¦) club, we have n players, that must be paired to play a match, each week. Some players have played already to each other, and we have rating differences. Algorithms and Networks: Matching
12
Algorithms and Networks: Matching
Applications (2) Personnel assignment (bipartite graphs): We have n employees and n jobs. Each employee i has a proficiency index u(i,j) for job j. What assignment maximizes the total proficiency? Our company is international. We have a number of jobs abroad, and a number of employees. For each combination of a job and employee, we have: The information: can this employee do this job? The cost of moving the employee with his family to the new location β¦ Algorithms and Networks: Matching
13
Application (3): matching moving objects
Moving objects, seen at two successive time moments Which object came from where? Algorithms and Networks: Matching
14
Application (3): matching moving objects
Moving objects, seen at two successive time moments Which object came from where? Maybe⦠Algorithms and Networks: Matching
15
Bipartite matching (recap)
2 Bipartite matching (recap)
16
Bipartite graphs: using maximum flow algorithms
Finding maximum matching in bipartite graphs: Model as flow problem, and solve it: make sure algorithm finds integral flow. Capacities 1 t s Algorithms and Networks: Matching
17
Technique works for variants too
Minimum cost perfect matching in bipartite graphs Model as min-cost flow problem b-matchings in bipartite graphs Function π:πββ. Look for set of edges π, with each π£ endpoint of exactly π(π£) edges in π. Algorithms and Networks: Matching
18
Steps by Ford-Fulkerson on the bipartite graph
M-augmenting path: unmatched becomes in a flow augmentation step Algorithms and Networks: Matching
19
A simple non-constructive proof of a well known theorem
Theorem. Each regular bipartite graph has a perfect matching. Proof: Construct flow model of G. Set flow of edges from s, or to t to 1, and other edges flow to 1/d. This flow has value n/2, which is optimal. Ford-Fulkerson will find integral flow of value n/2; which corresponds to perfect matching. The literature often gives harder, but constructive proofs. Algorithms and Networks: Matching
20
3 Edmonds algorithm: matching in (possibly non-bipartite) undirected graphs
21
A theorem that also works when the graph is not bipartite
Theorem. Let π be a matching in graph πΊ. π is a maximum matching, if and only if there is no π-augmenting path. If there is an π-augmenting path, then π is not a maximum matching. Suppose π is not a maximum matching. Let π be a larger matching. Look at πβ¨π= πβͺπ β(πβ©π). Every node in πβ¨π has degree 0, 1, 2: collection of paths and cycles. All cycles alternatingly have edge from π and from π. There must be a path in πβ¨π with more edges from π than from M: this is an augmenting path. Algorithms and Networks: Matching
22
Algorithms and Networks: Matching
Algorithm of Edmonds Finds maximum matching in a graph in polynomial time Algorithms and Networks: Matching
23
Algorithms and Networks: Matching
Jack Edmonds Photo Β© Hans Bodlaender Algorithms and Networks: Matching
24
Algorithms and Networks: Matching
Jack Edmonds Photo Β© Hans Bodlaender Algorithms and Networks: Matching
25
Algorithms and Networks: Matching
Definitions M-alternating walk: (Possibly not simple) path with edges alternating in M, and not M. M-flower M-alternating walk of odd length that starts in an unmatched vertex, and ends as an odd cycle: M-blossom Algorithms and Networks: Matching
26
Finding an M-augmenting walk
Subroutine: given G and M, find an M-augmenting walk: Let X be the set of unmatched vertices. Let Y be the set of vertices adjacent to some vertex in X. Build digraph D = (V,A) with π’,π£ there is an π₯ with π’,π₯ βπΈβπ and π₯,π£ βπ}. Find a shortest path P from a vertex in X to a vertex in Y in D. Transform P to a path Pβ in G Take Pβ: P, followed by an edge to X. Pβ is M-alternating walk between two unmatched vertices. Algorithms and Networks: Matching
27
Finding M-augmenting path or M-flower
Look at the path Pβ we just found. Two cases: Pβ is a simple path: it is an M-augmenting path Pβ is not simple. Look to start of Pβ until the first time a vertex is visited for the second time. This is an M-flower: Cycle-part of walk cannot be of even size, as it then can be removed and we have a shorter walk in D. Algorithms and Networks: Matching
28
Algorithms and Networks: Matching
Algorithmic idea Start with some matching M, and find either M-augmenting path or M-blossom. If we find an M-augmenting path: Augment M, and obtain matching of one larger size; repeat. If we find an M-blossom, we shrink it, and obtain an equivalent smaller problem; recurs. Algorithms and Networks: Matching
29
Algorithms and Networks: Matching
Shrinking M-blossoms Let B be a set of vertices in G. G/B is the graph, obtained from G by contracting B to a single vertex. Contracted Blossom Algorithms and Networks: Matching
30
Algorithms and Networks: Matching
Theorem Theorem: Let B be an M-blossom. Then M has an augmenting path iff M/B has an augmenting path in G/B. Suppose G/B has an M/B-augmenting path P. P does not traverse the vertex representing B: P also M-augmenting path in G. P traverses B: lift to M-augmenting path in G (case analysis). Algorithms and Networks: Matching
31
Case 1a: P passes through B
M/B-Augmenting Path in G/B M-Augmenting Path in G Algorithms and Networks: Matching
32
Case 1b: P passes through B
M/B-Augmenting Path in G/B Q: does path always pass through stem? Algorithms and Networks: Matching
33
Case 2a: P has B as endpoint
Q: when does this case occur? Algorithms and Networks: Matching
34
Case 2b: P has B as endpoint
Algorithms and Networks: Matching
35
Algorithms and Networks: Matching
Converse Flip stem so that B is unmatched to obtain Mβ. Suppose G has Mβ-augmenting path P. If P does not intersect B then P also Mβ/B-augmenting path in G/B. Otherwise, assume P does not start in B, if not reverse P. Since B is free, the part of P until B is an Mβ/B-augmenting path. Algorithms and Networks: Matching
36
Algorithms and Networks: Matching
Subroutine Given: Graph G, matching M Question: Find M-augmenting path if it exists. Let X be the vertices not endpoint of edge in M. Build D, and test if there is an M-alternating walk P from X to X of positive length. (Using Y, etc.) If no such walk exists: M is maximum matching. If P is a path: output P. If P is not a path: Find M-blossom B on P. Shrink B, and recurse on G/B and M/B. If G/B has no M/B-augmenting path, then M is maximum matching. Otherwise, expand M/B-augmenting path to an M-augmenting path. Algorithms and Networks: Matching
37
Algorithms and Networks: Matching
Edmonds algorithm A maximum matching can be found in O(n2m) time. Start with empty (or any) matching, and repeat improving it with M-augmenting paths until this stops. O(n) iterations. Recursion depth is O(n); work per recursive call O(m). A perfect matching in a graph can be found in O(n2m) time, if it exists. Algorithms and Networks: Matching
38
Algorithms and Networks: Matching
Improvements Better analysis and data structures gives O(n3) algorithm. Faster is possible: O(n1/2 m) time. Minimum cost matchings with more complicated structural ideas. Algorithms and Networks: Matching
39
Diversion: multidimensional tic-tac-toe
5 Diversion: multidimensional tic-tac-toe
40
Trivial drawing strategies in multidimensional tic-tac-toe
Generalizations More dimensions Larger board size Who has a winning strategy? Either first player has winning strategy, or second player has drawing strategy Algorithms and Networks: Matching
41
Trivial drawing strategy
If lines are long enough: pairing of squares such that each line has a pair If player 1 plays in a pair, then player 2 plays to other square in pair v i a f j b h u c g d e Algorithms and Networks: Matching
42
Trivial drawing strategies and generalized matchings
Bipartite graph: line-vertices and square-vertices; edge when square is part of line Look for set of edges M, such that: Each line-vertex is incident to two edges in M Each square-vertex is incident to at most one edge in M There exists such a set of edges M, if and only if there is a trivial drawing strategy (of the described type). Algorithms and Networks: Matching
43
Algorithms and Networks: Matching
Consequences Testing if trivial drawing strategy exists and finding one if so can be done efficiently (flow algorithm). n by n by β¦by n tic-tac-toe (d-dimensional) has a trivial drawing strategy if n is at least 3πβ1 A square belongs to at most 3πβ1 lines. So, if n is at least 3πβ1 then line-square graph has an edge coloring with n colors. Let M be the set of edges with colors 1 and 2. Algorithms and Networks: Matching
44
6 Conclusions
45
Algorithms and Networks: Matching
Conclusion Many applications of matching! Often bipartite⦠Algorithms for finding matchings: Bipartite: flow models Bipartite, regular: Schrijver (See course Algorithms for decision support) General: with M-augmenting paths and blossom-shrinking Minimum cost matching can also be solved in polynomial time: more complex algorithm Min cost matching on bipartite graphs is solved using min cost flow Algorithms and Networks: Matching
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.