1 “graph theory” course for the master degree program “geographic information systems” yulia...
TRANSCRIPT
![Page 1: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/1.jpg)
1
“Graph theory”Course for the master degree program
“Geographic Information Systems”
Yulia BurkatovskayaDepartment of Computer EngineeringAssociate professor
![Page 2: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/2.jpg)
2
Bipartite Matching
![Page 3: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/3.jpg)
3
Bipartite Matching
A graph is bipartite if its vertex set can be partitioned
into two subsets A and B so that each edge has one
endpoint in A and the other endpoint in B.
A matching M is a subset of edges so that
every vertex has degree at most one in
M.
A B
![Page 4: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/4.jpg)
4
The bipartite matching problem:
Find a matching with the maximum number of edges.
Maximum Matching
A perfect matching is a matching in which every vertex is matched.
The perfect matching problem: Is there a perfect matching?
![Page 5: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/5.jpg)
5
Greedy method?
(add an edge with both endpoints unmatched)
First Try
![Page 6: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/6.jpg)
6
Key Questions
• How to tell if a graph does not have a (perfect) matching?
• How to determine the size of a maximum matching?
• How to find a maximum matching efficiently?
![Page 7: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/7.jpg)
7
Hall’s Theorem [1935]:
A bipartite graph G=(A,B;E) has a matching that “saturates” A
if and only if |N(S)| >= |S| for every subset S of A.
SN(S)
Existence of Perfect Matching
![Page 8: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/8.jpg)
8
König [1931]:
In a bipartite graph, the size of a maximum matching
is equal to the size of a minimum vertex cover.
What is a good upper bound on the size of a maximum matching?
Min-max theorem
Implies Hall’s theorem.
Bound for Maximum Matching
König [1931]:
In a bipartite graph, the size of a maximum matching
is equal to the size of a minimum vertex cover.
![Page 9: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/9.jpg)
9
Any idea to find a larger matching?
Algorithmic Idea?
![Page 10: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/10.jpg)
10
Given a matching M, an M-alternating path is a path that alternates
between edges in M and edges not in M. An M-alternating path
whose endpoints are unmatched by M is an M-augmenting path.
Augmenting Path
![Page 11: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/11.jpg)
11
What if there is no more M-augmenting path?
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 M-augmenting path!
If there is no M-augmenting path, then M is maximum!
Optimality Condition
![Page 12: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/12.jpg)
12
Algorithm
Key: M is maximum no M-augmenting path
How to find efficiently?How to find efficiently?
![Page 13: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/13.jpg)
13
Finding M-augmenting paths
Orient the edges (edges in M go up, others go down)
An M-augmenting path
a directed path between two unmatched vertices
![Page 14: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/14.jpg)
14
Complexity
At most n iterations
An augmenting path in time by a DFS or a BFS
Total running time
![Page 15: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/15.jpg)
15
Hall’s Theorem [1935]:
A bipartite graph G=(A,B;E) has a matching that “saturates” A
if and only if |N(S)| >= |S| for every subset S of A.
König [1931]:
In a bipartite graph, the size of a maximum matching
is equal to the size of a minimum vertex cover.
Idea: consider why the algorithm got stuck…
Minimum Vertex Cover
![Page 16: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/16.jpg)
16
Observation: Many short and disjoint augmenting paths.
Idea: Find augmenting paths simultaneously in one search.
Faster Algorithms
![Page 17: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/17.jpg)
17
Application of Bipartite Matching
Jerry
Marking
Darek TomIsaac
Tutorials Solutions Newsgroup
Job Assignment Problem:
Each person is willing to do a subset of jobs.
Can you find an assignment so that all jobs are taken care of?
![Page 18: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/18.jpg)
18
Application of Bipartite Matching
With Hall’s theorem, now you can determine exactly
when a partial chessboard can be filled with dominos.
![Page 19: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/19.jpg)
19
Application of Bipartite Matching
Latin Square: a nxn square, the goal is to fill the square
with numbers from 1 to n so that:
• Each row contains every number from 1 to n.
• Each column contains every number from 1 to n.
![Page 20: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/20.jpg)
20
Application of Bipartite Matching
Now suppose you are given a partial Latin Square.
Can you always extend it to a Latin Square?
With Hall’s theorem, you can prove that the answer is yes.
![Page 21: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/21.jpg)
Hon Wai Leong, NUS(CS6234, Spring 2009) Page 21
Copyright © 2009 by Leong Hon Wai
Matching in Graph
Matching in Bipartite GraphMatching in General GraphsWeighted Matching in Bipartite Graph
Additional topics: Reading/Presentation by students
Lecture notes modified from those by Lap Chi LAU, CUHK.
![Page 22: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/22.jpg)
22
General Matching
![Page 23: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/23.jpg)
23
General Matching
Given a graph (not necessarily bipartite),
find a matching with maximum total weight.
unweighted (cardinality) version:
a matching with maximum number of
edges
![Page 24: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/24.jpg)
24
Today’s Plan
• Min-max theorems [no proofs]
• Polynomial time algorithm
• Chinese postman [skip]
Follow the same structure for bipartite matching.
![Page 25: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/25.jpg)
25
Characterization of Perfect Matching
Hall’s Theorem [1935]:
A bipartite graph G=(A,B;E) has a matching that “saturates” A
if and only if |N(S)| >= |S| for every subset S of A.
Tutte’s Theorem [1947]:
A graph has a perfect matching if and only if
o(G-S) <= |S| for every subset S of V.
![Page 26: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/26.jpg)
26
Min-Max Theorem
Tutte-Berge formula [1958]:
The size of a maximum matching =
König [1931]:
In a bipartite graph, the size of a maximum matching
is equal to the size of a minimum vertex cover.
![Page 27: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/27.jpg)
27
Given a matching M, an M-alternating path is a path that alternates
between edges in M and edges not in M. An M-alternating path
whose endpoints are unmatched by M is an M-augmenting path.
Augmenting Path?
Works for general graphs.
![Page 28: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/28.jpg)
28
What if there is no more M-augmenting path?
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 M-augmenting path!
If there is no M-augmenting path, then M is maximum?
Optimality Condition?
![Page 29: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/29.jpg)
29
Algorithm?
Key: M is maximum no M-augmenting path
How to find efficiently?
![Page 30: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/30.jpg)
30
Finding Augmenting Path in Bipartite Graphs
Orient the edges (edges in M go up, others go down)
edges in M having positive weights, otherwise negative weights
In a bipartite graph, an M-augmenting path corresponds to a directed path.
![Page 31: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/31.jpg)
31
Finding M-augmenting pathsin General Graphs
Don’t know how to orient the edges so that:
an M-augmenting path
a directed path between two free vertices
…alternating path segment (before & after augmentation):
… v1 v2 v3 v4 v5 v6 v7 …
Repeated Vertex !!!
![Page 32: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/32.jpg)
32
No repeated vertices. So?
Just find an alternating path without repeated vertices?!
Either we may exclude some possibilities,
Or we need to trace the path…
![Page 33: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/33.jpg)
33
BlossomNote: When performing search for M-augmenting path, we may encounter M-blossom!
![Page 34: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/34.jpg)
34
Shrink the
blossoms!
Key idea(Edmonds 1965) General matching algorithm
![Page 35: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/35.jpg)
35
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
![Page 36: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/36.jpg)
36
an M/C-augmenting path an M-augmenting path
Note: One of the two paths around the blossom will be the correct one.
![Page 37: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/37.jpg)
37
an M-augmenting path an M/C-augmenting path
Note: Many cases to be considered (see [PS82]-Ch10.)
Case 0: M-augmenting path p does not “intersect” M-blossom C
Case 1: p enters/leaves M-blossom C with matched edge
![Page 38: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/38.jpg)
38
an M-augmenting path an M/C-augmenting path
Case 2: p enters M-blossom C with free edge
2(a): p leaves via matched edge (1st example [in black])
2(b): p leaves C with free edge (2nd example [in red])
![Page 39: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/39.jpg)
39
Algorithm
Key: M is maximum no M-augmenting path
How to find efficiently?
![Page 40: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/40.jpg)
40
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.
![Page 41: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/41.jpg)
41
Complexity
At most n augmentations.
Each augmentation does at most n contractions.
An alternating walk can be found in O(m) time.
Total running time is O(mn2) .
![Page 42: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/42.jpg)
42
Historical Remarks
In his famous paper “paths, trees, and flowers”, Jack Edmonds:
• Introduced the notion of a “good” algorithm.
• Edmonds solved weighted general matching, primal dual.
• Linear programming description, a breakthrough in polyhedral combinatorics.
An O(n3) algorithm by Pape and Conradt, 1980
Ref: [SDK83] Syslo, Deo, Kowalik, Prentice-Hall, 1983 Discrete Optimization Algorithms, Ch 3.7
![Page 43: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/43.jpg)
43
Tutte-Berge formula [1958]:
The size of a maximum matching =
Proving Min-Max Theorem
Comments by LeongHW:
Skip next few slides on mainly combinatorial results…
(Anyone wants to do this for reading assignment?)
![Page 44: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/44.jpg)
44
M-alternating forest
Larger forest
M-augmenting path a blossom
We make progress in any of the above cases.
![Page 45: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/45.jpg)
45
M-alternating forest
Otherwise we find the set in Tutte-Berge formula.
![Page 46: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/46.jpg)
46
Edmonds-Gallai Decomposition
Can be obtained from M-alternating forest.
Contains a lot of information about matching.
![Page 47: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/47.jpg)
47
Chinese Postman
Given an undirected graph, a vertex v, a length l(e) on each edge e,find a shortest tour to visit every edge once and come back to v.
Visit every edge exactly once if Eulerian.
Otherwise, find a minimum weighted perfect matching between odd vertices.
![Page 48: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/48.jpg)
48
Tutte Matrix
• Skew symmetric matrix, a(u,v)=x(e) and a(v,u)=-x(e)
• Full rank perfect matching
• Randomized algorithm
![Page 49: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/49.jpg)
Hon Wai Leong, NUS(CS6234, Spring 2009) Page 49
Copyright © 2009 by Leong Hon Wai
CS6234:
Matching in GraphMatching in Bipartite GraphMatching in General GraphsWeighted Matching in Bipartite Graph
Additional topics: Reading/Presentation by students
Lecture notes modified from those by Lap Chi LAU, CUHK.
![Page 50: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/50.jpg)
50
Weighted Bipartite Matching
![Page 51: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/51.jpg)
51
Weighted Bipartite Matching
Given a weighted bipartite graph,
find a matching with maximum total weight.
Not necessarily a maximum size matching.
A B
Wlog, assume perfect matching on complete bipartite graph; (add fictitious edges with weights 0)
![Page 52: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/52.jpg)
52
First Algorithm
How to know if a given matching M is optimal?
Idea: Imagine there is a larger matching M*
and consider the union of M and M*
Find maximum weight perfect matching
![Page 53: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/53.jpg)
53
First Algorithm
Orient the edges (edges in M go up, others go down)
edges in M having positive weights, otherwise negative weights
Then M is maximum if and only if there is no negative cycles
![Page 54: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/54.jpg)
54
First Algorithm
Key: M is maximum no negative cycle
How to find efficiently?
![Page 55: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/55.jpg)
55
Complexity
At most nW iterations
A negative cycle in O(n3) time by Floyd Warshall
Total running time O(n4W)
Can choose minimum mean cycle to avoid W
![Page 56: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/56.jpg)
56
Comments by LeongHW:
Skip next few slides on Augmenting Path Algorithm
(Anyone wants to do this for reading assignment?)
![Page 57: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/57.jpg)
57
Augmenting Path Algorithm
Orient the edges (edges in M go up, others go down)
edges in M having positive weights, otherwise negative weights
Find a shortest path M-augmenting path at each step
![Page 58: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/58.jpg)
58
Augmenting Path Algorithm
Theorem: Each matching is an optimal k-matching.
Let the current matching be M
Let the shortest M-augmenting path be P
Let N be a matching of size |M|+1
![Page 59: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/59.jpg)
59
Complexity At most n iterations
A shortest path in O(nm) time by Bellman Ford
Total running time O(n2m)
Can be speeded up by using Dijkstra: O(m + n log n)
Total running time O(nm + n2log n)
Kuhn (based on proof by Egervary) — Hungarian method
![Page 60: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/60.jpg)
60
Primal Dual Algorithm
What is an upper bound of maximum weighted matching?
What is a generalization of minimum vertex cover?
weighted vertex cover:
Minimum weighted vertex cover Maximum weighted matching
![Page 61: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/61.jpg)
61
Primal Dual Algorithm
Minimum weighted vertex cover Maximum weighted matching
Primal Dual (Overview)
• Maintain a weighted matching M
• Maintain a weighted vertex cover y
• Either increase M or decrease y until they are equal.
![Page 62: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/62.jpg)
62
Primal Dual Algorithm
Minimum weighted vertex cover Maximum weighted matching
1. Consider the subgraph formed by tight edges (the equality subgraph).
2. If there is a tight perfect matching, done.
3. Otherwise, there is a vertex cover.
4. Decrease weighted cover to create more tight edges, and repeat.
Detailed algorithm will be covered later (after LP Primal-Dual algorithms)
![Page 63: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/63.jpg)
63
Complexity
Augment at most n times, each O(m)
Decrease weighted cover at most m times, each O(m)
Total running time: O(m2) = O(n4)
Egervary, Hungarian method
History: The algorithm was developed by Kuhn who based it on work of Egervary [1931], (“latent work of D. Konig and J. Egervary”) and was given the name “Hungarian method”. See [Schr02]-Ch17 for more details.
![Page 64: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/64.jpg)
64
Quick Summary
1. First algorithm, negative cycle, useful idea to consider symmetric difference
2. Augmenting path algorithm, useful algorithmic technique
3. Primal dual algorithm, a very general framework
1. Why primal dual?
2. How to come up with weighted vertex cover?
3. Reduction from weighted case to unweighted case
![Page 65: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/65.jpg)
65
Faster Algorithms
![Page 66: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate](https://reader033.vdocument.in/reader033/viewer/2022051621/5697bf8a1a28abf838c8a734/html5/thumbnails/66.jpg)
66
Application of Bipartite Matching
Jerry
Marking
Darek TomIsaac
Tutorials Solutions Newsgroup
Job Assignment Problem:
Each person is willing to do a subset of jobs.
Can you find an assignment so that all jobs are taken care of?
• Ad-auction, Google, online matching
• Fingerprint matching