/
Matching Algorithms and Networks Matching Algorithms and Networks

Matching Algorithms and Networks - PowerPoint Presentation

conchita-marotz
conchita-marotz . @conchita-marotz
Follow
345 views
Uploaded On 2019-12-26

Matching Algorithms and Networks - PPT Presentation

Matching Algorithms and Networks Algorithms and Networks Matching 2 This lecture Matching problem statement and applications Bipartite matching recap Matching in arbitrary undirected graphs Edmonds algorithm ID: 771521

algorithms matching path networks matching algorithms networks path augmenting bipartite maximum flow graph perfect time vertex edges cost graphs

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Matching Algorithms and Networks" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Matching Algorithms and Networks

Algorithms and Networks: Matching 2 This lecture Matching: problem statement and applications Bipartite matching (recap) Matching in arbitrary undirected graphs: Edmonds algorithm Diversion : generalized tic-tac-toe

1 Problem and applications

Algorithms and Networks: Matching 4 Matching Set of edges such that no vertex is endpoint of more than one edge . Maximal matchingNo with also a matchingMaximum matchingMatching with as large as possiblePerfect matching: each vertex endpoint of edge in .  

Matching Algorithms and Networks: Matching 5 Not a maximal matching, Not a maximum matching Not a perfect matching

Maximum Matching Algorithms and Networks: Matching 6 A maximal matching, A maximum matching Not a perfect matching ( Size 4 )

Maximal Matching Algorithms and Networks: Matching 7 A maximal matching, Not a maximum matching Not a perfect matching (Size: 3)

Perfect Matching Algorithms and Networks: Matching 8 A maximal matching, A maximum matching A perfect matching ( Size 4 )

Algorithms and Networks: Matching 9 Cost versions Each edge has cost ; look for perfect matching with minimum cost Also polynomial time solvable, but harder

Algorithms and Networks: Matching 10 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 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.

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: Matching12

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…

2 Bipartite matching (recap)

Algorithms and Networks: Matching 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. s t Capacities 1

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.

3 Edmonds algorithm: matching in (possibly non-bipartite) undirected graphs

Algorithms and Networks: Matching 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 Algorithm of Edmonds Finds maximum matching in a graph in polynomial time

Algorithms and Networks: Matching 23 Jack Edmonds

Algorithms and Networks: Matching 24 Jack Edmonds

Algorithms and Networks: Matching 25 M-blossom 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:

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 .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 26

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 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 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 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 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 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 Edmonds algorithm A maximum matching can be found in O( n 2 m ) 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 Improvements Better analysis and data structures gives O( n 3 ) algorithm. Faster is possible: O( n 1/2 m) time.Minimum cost matchings with more complicated structural ideas.

5 Diversion: multidimensional tic-tac-toe

Algorithms and Networks: Matching 40 Trivial drawing strategies in multidimensional tic-tac-toe 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 a f j b h u b c i g c d u h d f j e e g v

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 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 A square belongs to at most lines.So, if n is at least then line-square graph has an edge coloring with n colors.Let M be the set of edges with colors 1 and 2. 

6 Conclusions

Algorithms and Networks: Matching 45 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