1 “graph theory” course for the master degree program “geographic information systems” yulia...

66
1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate professor

Upload: lucy-mitchell

Post on 17-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate

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

2

Bipartite Matching

Page 3: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

22

General Matching

Page 23: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

65

Faster Algorithms

Page 66: 1 “Graph theory” Course for the master degree program “Geographic Information Systems” Yulia Burkatovskaya Department of Computer Engineering Associate

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