matching - universiteit utrecht · classroom assignment opponents selection for sport competitions....
TRANSCRIPT
![Page 1: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/1.jpg)
1
Matching
Algorithms for Decision Support
Marjan van den Akker,
Includes slides from: Hans Bodlaender Johan van Rooij
![Page 2: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/2.jpg)
2
ADS: Matching
This lecture
� Matching: problem statement and applications
� Bipartite matching
� Perfect matchings in regular bipartite graphs
� Schrijvers algorithm
� Edge coloring and classroom scheduling application
![Page 3: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/3.jpg)
3
ADS: Matching
Matching
� Given a graph (V,E)
� 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 �.
![Page 4: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/4.jpg)
4
ADS: Matching
Cost versions
� Each edge has cost; look for perfect matching with minimum cost
� Also polynomial time solvable, but harder
![Page 5: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/5.jpg)
5
ADS: Matching
Problems
� Given graph �, find
� Maximal matching: easy (greedy algorithm)
� Maximum matching• Polynomial time; general case not easy.
• Important special case: bipartite graphs
� Perfect matching• Special case of maximum matching
• A theorem for regular bipartite graphs and Schrijver’salgorithm
![Page 6: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/6.jpg)
6
ADS: Matching
Applications
� Personnel assignment
� Tasks and competences
� Classroom assignment
� Opponents selection for sport competitions
![Page 7: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/7.jpg)
7 ADS: Matching
Application: matching moving objects
� Moving objects, seen at two successive time moments
� Which object came from where?
![Page 8: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/8.jpg)
8
BIPARTITE MATCHING
ADS
![Page 9: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/9.jpg)
9
ADS: Matching
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.
� Max flow algorithm: Ford-Fulkerson (algorithms course, wikipedia)
s t
Capacities 1
![Page 10: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/10.jpg)
10
ADS: Matching
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 �.
� b(v) becomes the capacity of the edge from s or to t.
![Page 11: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/11.jpg)
11
ADS: Matching
Steps by Ford-Fulkerson on the bipartite graph
� M-augmenting path
unmatchedbecomes
in a flow augmentation step
s
t
s t
![Page 12: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/12.jpg)
12
MATCHING IN REGULAR BIPARTITE GRAPHS
ADS
![Page 13: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/13.jpg)
13
ADS: Matching
Regular bipartite graphs
� Regular = all vertices have the same degree
� Say d is the degree of all vertices
� Theorem (proof follows): each regular bipartite graph has a perfect matching
� Schrijver’s algorithm: finds such a perfect matching quickly
� Has a nice application for scheduling classrooms and lessons
![Page 14: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/14.jpg)
14
ADS: Matching
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.
![Page 15: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/15.jpg)
15
ADS: Matching
Perfect matchings in regular bipartite graphs: Schrijver’s algorithm
� Each edge e gets a weight w(e).
� Initially set all weights equal to 1.
� Let Gw denote the graph formed by the edges of positive weight.
� While Gw has a circuit
� Take such a circuit C (which must have even length).
� Split C into two matchings M and N, with w(M) ≥ w(N).
� Increase the weight of each edge in M by 1.
� Decrease the weight of each edge in N by 1.
![Page 16: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/16.jpg)
16
ADS: Matching
On Schrijver’s algorithm
� Let each vertex have degree d.
� Invariant: the sum of the weights of the incident edges of a vertex is d.
� Before termination:� Suppose there is an edge (u,v) with weight less than d.
� Start a circuit at u starting with edge (u,v),
� By the invariant there another edge (v,w) with positive weight less than d: add (v,w) etc…..
� ….finally you arrive at a vertex you have visited before: circuit found.
� So at termination: no circuit in Gw, and by the invariant, it follows Gw must be a perfect matching.
![Page 17: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/17.jpg)
17
ADS: Matching
Time to find circuits
� Finding circuits:� Keep a path P with edges of weight between 1 and d – 1
� Let v be last vertex on P.
� v must have edge not on P with weight between 1 andd – 1, say {v,x}.
� If x on P: we have a circuit.• Apply step on circuit.
• Remove circuit from P, and work with smaller path.
� Otherwise, add {v,x} to P, and repeat
� O(|C|) per circuit
![Page 18: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/18.jpg)
18
ADS: Matching
Time analysis
� Look at the sum over all edges of � � �.
� Each improvement over a cycle � increases this sum by at least |�| (next slide).
� Initially �, at termination �
��2.
� Time to gain |C| is O(|C|): O(1) per unit gain.
� So, total time �(��2) = �(��).
![Page 19: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/19.jpg)
19 ADS: Matching
( ) ( )∑∑∈∈
=−++NeMe
ewew 22 1)(1)(
( ) ( )∑ ∑∑∑∈ ∈∈∈
≥∪+−++Ne NeMeMe
NMewewewew ||)(2)(2)()( 22
( ) ( )∑∑∈∈
∪++NeMe
NMewew ||)()( 22
Sum of squares increases by |�|
![Page 20: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/20.jpg)
20
EDGE COLORING AND CLASSROOM SCHEDULES
An application of matching in regular bipartite graphs:
![Page 21: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/21.jpg)
21
ADS: Matching
Edge coloring and classroom schedules
� Teachers, classes
� A teacher has to teach to a number of classes but:� No teacher more than
one group at a time
� No class more than one lesson at the time
� How many hours needed???
Jansen Petersen Klaassen
1 X
2 X
3 X
![Page 22: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/22.jpg)
22 ADS: Matching
Jansen Petersen Klaassen
1 X Time:11-12
Time12-13
2 Time11-12
Time12-13
X
3 Time12-13
X Time11-12
![Page 23: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/23.jpg)
23
ADS: Matching
Edge coloring model
� Take bipartite graph with vertices for teachers and for classes
� Look for a coloring of the edges such that no vertex has two incident edges with the same color.
� The minimum number of needed colors is the number of required hours
� What is the minimum number of colors needed?
� Lower bound: maximum degree.
� We can attain the lower bound with help of matchings!!
![Page 24: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/24.jpg)
24
ADS: Matching
A theorem
� Let G be a bipartite graph with maximum degree d. Then G has an edge coloring with d colors.
� Step 1: Make G regular by adding vertices and edges.
� Step 2: Repeatedly find a matching and remove it.
![Page 25: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/25.jpg)
25
ADS: Matching
Making G regular
� Suppose G is bipartite with vertex sets V1 and V2 with edges only between V1 and V2.
� Make |V1| =|V2| � If |V1| > |V2| then add |V1| - |V2| isolated dummy vertices to V2 .
� If |V2| > |V1| then add |V2| - |V1| isolated dummy vertices to V1 .
� While not every vertex in V1 ∪ V2 has degree d:
� Find a vertex v in V1 of degree less than d
� Find a vertex w in V2 of degree less than d
� Add the edge {v,w} to the graph.
Mustexist
![Page 26: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/26.jpg)
26
ADS: Matching
Edge coloring a regular bipartite graph
� Say G’ is bipartite and regular of degree d.
� For i = 1 to d do
� Find a perfect matching M in G’.
� Give all edges in M color i.
� Remove all edges in M from G’. (Note that G’ stays regular!)
![Page 27: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/27.jpg)
27
ADS: Matching
Final step
� Take the edge coloring c of G’. Color G in the same way: G is subgraph of G.
� Time: carrying out d times a perfect matching algorithm in a regular graph:
� O(nd3) if we use Schrijver’s algorithm.
� Can be done faster by other algorithms.
![Page 28: Matching - Universiteit Utrecht · Classroom assignment Opponents selection for sport competitions. 7 ADS: Matching Application: matching moving objects Moving objects, seen at two](https://reader034.vdocuments.us/reader034/viewer/2022050314/5f76542445227e2d707e8781/html5/thumbnails/28.jpg)
28
ADS: Matching
Conclusion
� Many applications of matching! Often bipartite…
� Algorithms for finding matchings:� Bipartite: flow models
Bipartite, regular: Schrijver
� General: with M-augmenting paths and blossom-shrinking, see Algorithms and Networks
� Minimum cost matching can also be solved in polynomial time:� Min cost matching on bipartite graphs is solved using
min cost flow