Matchings Lecture 3: Jan 18. Bipartite matchings revisited Greedy method doesn’t work (add an edge with both endpoints free)

Slides:



Advertisements
Similar presentations
Paths, Trees and Flowers
Advertisements

Min-Max Relations, Hall’s Theorem, and Matching-Algorithms Graphs & Algorithms Lecture 5 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Every edge is in a red ellipse (the bags). The bags are connected in a tree. The bags an original vertex is part of are connected.
Bipartite Matching, Extremal Problems, Matrix Tree Theorem.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
Ramsey Theory and Applications CS 594 Graph Theory Presented by: Kai Wang.
Algorithms and Networks
Breadth-First Search of Graphs Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms.
Graph Searching CSE 373 Data Structures Lecture 20.
Midterm <  70 3.
1 Weighted Bipartite Matching Lecture 4: Jan Weighted Bipartite Matching Given a weighted bipartite graph, find a matching with maximum total weight.
Lectures on Network Flows
Finding a Maximum Matching in Non-Bipartite Graphs Alicia Thilani Singham Goodwin /22/2013.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Maximum Bipartite Matching
Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints Maximal Matching: A maximal matching in a graph is a matching.
COMP171 Depth-First Search.
Maximum Flows Lecture 4: Jan 19. Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s.
1 Bipartite Matching Lecture 3: Jan Bipartite Matching A graph is bipartite if its vertex set can be partitioned into two subsets A and B so that.
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
CS344: Lecture 16 S. Muthu Muthukrishnan. Graph Navigation BFS: DFS: DFS numbering by start time or finish time. –tree, back, forward and cross edges.
Minimum Cost Flow Lecture 5: Jan 25. Problems Recap Bipartite matchings General matchings Maximum flows Stable matchings Shortest paths Minimum spanning.
Depth-first search COMP171 Fall Graph / Slide 2 Depth-First Search (DFS) * DFS is another popular graph search strategy n Idea is similar to pre-order.
D1: Matchings.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
On Channel-Discontinuity-Constraint Routing in Multi-Channel Wireless Infrastructure Networks Abishek Gopalan, Swaminathan Sankararaman 1.
Depth-First Search Lecture 24 COMP171 Fall Graph / Slide 2 Depth-First Search (DFS) * DFS is another popular graph search strategy n Idea is similar.
Maximum Bipartite Matching In a graph G, if no M-augmenting path exists, then M is a maximum matching in G. Idea: Iteratively seek augmenting paths to.
GRAPH Learning Outcomes Students should be able to:
Algorithmic Game Theory and Internet Computing Vijay V. Vazirani Georgia Tech Dispelling an Old Myth about an Ancient Algorithm.
CSE, IIT KGP Matchings and Factors. CSE, IIT KGP Matchings A matching of size k in a graph G is a set of k pairwise disjoint edges.A matching of size.
Analysis of Algorithms Uri Zwick April 2014 Maximum matching 1 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA.
7.1 Introduction to Graph Theory
C&O 355 Mathematical Programming Fall 2010 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
Lecture 16 Maximum Matching. Incremental Method Transform from a feasible solution to another feasible solution to increase (or decrease) the value of.
All Pair Shortest Path IOI/ACM ICPC Training June 2004.
Matching Algorithms and Networks. Algorithms and Networks: Matching2 This lecture Matching: problem statement and applications Bipartite matching Matching.
1 WEEK 11 Graphs III Network Flow Problems A Simple Maximum-Flow Algorithm Izmir University of Economics.
Bipartite Matching. Unweighted Bipartite Matching.
1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
Matching Algorithms and Networks. Algorithms and Networks: Matching2 This lecture Matching: problem statement and applications Bipartite matching Matching.
Graph Algorithms Maximum Flow - Best algorithms [Adapted from R.Solis-Oba]
10/11/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Adam Smith Algorithm Design and Analysis L ECTURE 21 Network.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Introduction to Graph Theory
CSE 421 Algorithms Richard Anderson Autumn 2015 Lecture 5.
Matching and Factors Matchings and Covers. Definitions: A matching M in a graph G is a set of non loop edges with no shared endpoints. G M.
A directed graph G consists of a set V of vertices and a set E of arcs where each arc in E is associated with an ordered pair of vertices from V. V={0,
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Matchings and Factors Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering,
CS 361 – Chapter 13 Graph Review Purpose Representation Traversal Comparison with tree.
Paths, Trees and Flowers
Algorithms and Networks
Lecture 16 Bipartite Matching
Bipartite Matching and Other Graph Algorithms
Planarity Testing.
Lecture 16 Maximum Matching
Instructor: Shengyu Zhang
Edmonds-Karp Algorithm
Analysis of Algorithms
Richard Anderson Lecture 21 Network Flow
Problem Solving 4.
Richard Anderson Winter 2009 Lecture 6
EE5900 Advanced Embedded System For Smart Infrastructure
Lecture 21 Network Flow, Part 1
Richard Anderson Lecture 5 Graph Theory
Maximum Bipartite Matching
Presentation transcript:

Matchings Lecture 3: Jan 18

Bipartite matchings revisited Greedy method doesn’t work (add an edge with both endpoints free)

M -Augmenting path Start and end at a free vertex.

M -Augmenting path  a bigger matching

No M -augmenting path  no bigger matching Prove the contrapositive: A bigger matching  an M-augmenting path 1. Consider 2. Every vertex in has degree at most 2 3. A component in is an even cycle or a path 4. Since, an augmenting path!

Algorithm Key: M is maximum  no M-augmenting path How to find efficiently?

Finding M-augmenting paths Orient the edges (edges in M go up, others go down) An M-augmenting path  a directed path between two free vertices

Complexity At most n iterations An augmenting path in time by a DFS or a BFS Total running time

Matchings in general graphs Can we use the same method? Key: M is maximum  no M-augmenting path?

No augmenting path  no bigger matching Prove the contrapositive: A bigger matching  an augmenting path 1. Consider 2. Every vertex in has degree at most 2 3. A component in is an even cycle or a path 4. Since, an augmenting path!

Augmenting path  a bigger matching

Augmenting path  a bigger matching Not a matching!

Stronger requirement An augmenting path cannot have repeated vertices Key: M is maximum  no M-augmenting path

Algorithm Key: M is maximum  no M-augmenting path How to find efficiently?

Finding M-augmenting paths Don’t know how to orient the edges so that: An M-augmenting path  a directed path between two free vertices

No repeated vertices Just find a path without repeated vertices?! Either we may exclude some possibilities, Or we need to trace the path…

Blossom

Breakthrough (König 1931) Bipartite matching algorithm (Edmonds 1965) General matching algorithm

Key idea Shrink the blossoms!

Key Lemma (Edmonds) M is a maximum matching in G  M/C is a maximum matching in G/C Key: M is maximum  no M-augmenting path an M-augmenting path in G  an M/C-augmenting path in G/C

An M/C-augmenting path  an M-augmenting path

An M-augmenting path  an M/C-augmenting path

Algorithm Key: M is maximum  no M-augmenting path How to find efficiently?

Finding an M-augmenting path Find an alternating walk between two free vertices. This can be done in linear time by a DFS or a BFS. Either an M-augmenting path or a blossom can be found. If a blossom is found, shrink it, and (recursively) find an M/C-augmenting path P in G/C, and then expand P to an M-augmenting path in G.

Complexity At most augmentations. Each augmentation does at most contractions. An alternating walk can be found in time. Total running time is.