Rank Maximal Matchings Meghana Nasre talk based on paper by R. W. - - PowerPoint PPT Presentation

rank maximal matchings
SMART_READER_LITE
LIVE PREVIEW

Rank Maximal Matchings Meghana Nasre talk based on paper by R. W. - - PowerPoint PPT Presentation

Rank Maximal Matchings Meghana Nasre talk based on paper by R. W. Irving, T. Kavitha, K. Mehlhorn, D. Michail, K. Paluch Outline of the Talk Matchings preliminaries. Rank maximal matchings. Problem definition. Some intuition.


slide-1
SLIDE 1

Rank Maximal Matchings

Meghana Nasre

talk based on paper by

  • R. W. Irving, T. Kavitha, K. Mehlhorn, D. Michail, K. Paluch
slide-2
SLIDE 2

Outline of the Talk

  • Matchings – preliminaries.
  • Rank maximal matchings.
  • Problem definition.
  • Some intuition.
  • Dulmage Mendelsohn decomposition.
  • An efficient algo for RMM.
slide-3
SLIDE 3

Matching in a graph

A matching M is a set of vertex disjoint edges. v1 v2 v3 v4 v5 v6

slide-4
SLIDE 4

Matching in a graph

A matching M is a set of vertex disjoint edges. v1 v2 v3 v4 v5 v6

  • Goal: compute a maximum sized matching.
slide-5
SLIDE 5

Maximal vs. Maximum matchings

A matching M is a set of vertex disjoint edges. v1 v2 v3 v4 v5 v6

  • Maximal: M is not a strict subset
  • f any other matching.

There may exist a larger sized matching.

slide-6
SLIDE 6

Maximal vs. Maximum matchings

A matching M is a set of vertex disjoint edges. v1 v2 v3 v4 v5 v6

  • Maximal: M is not a strict subset
  • f any other matching.

There may exist a larger sized matching. v1 v2 v3 v4 v5 v6

  • Maximum: Has size as large as

possible amongst all matchings. Every maximum matching is maximal.

slide-7
SLIDE 7

Alternating paths

A path having alternate matched and unmatched edges. v1 v2 v3 v4 v5 v6

slide-8
SLIDE 8

Augmenting paths

An alternating path starting and ending in free vertices. v1 v2 v3 v4 v5 v6

slide-9
SLIDE 9

Augmenting paths

An alternating path starting and ending in free vertices. v1 v2 v3 v4 v5 v6

  • How are augmenting paths useful?
  • Properties of augmenting paths.
slide-10
SLIDE 10

Using augmenting paths

Berge’s Theorem (1957): A matching M is maximum iff M does not admit an augmenting path with respect to it.

  • Assume P is an augmenting path.
slide-11
SLIDE 11

Using augmenting paths

Berge’s Theorem (1957): A matching M is maximum iff M does not admit an augmenting path with respect to it.

  • Assume P is an augmenting path.
  • M′ = M ⊕ P.

P P augment M with P M M’

v1 v1 v2 v2 v3 v3 v4 v4 v5 v5 v6 v6

slide-12
SLIDE 12

Using augmenting paths

Berge’s Theorem

  • If no aug. path w.r.t. M ⇒ M is maximum.

Proof (by contradiction)

  • Suppose M does not admit any aug. path and still it is not

maximum.

  • Some other matching M′ is maximum.
slide-13
SLIDE 13

Using augmenting paths

Berge’s Theorem

  • If no aug. path w.r.t. M ⇒ M is maximum.

Proof (by contradiction)

  • Suppose M does not admit any aug. path and still it is not

maximum.

  • Some other matching M′ is maximum.
  • Consider M ⊕ M′.
  • Construct an aug. path w.r.t. M.
slide-14
SLIDE 14

Computing max. matchings

Input: G = (V , E). Goal: Compute a max. cardinality matching.

slide-15
SLIDE 15

Computing max. matchings

Input: G = (V , E). Goal: Compute a max. cardinality matching. G is bipartite.

  • Hopcroft and Karp (1973): O(m√n) time algorithm.
slide-16
SLIDE 16

Computing max. matchings

Input: G = (V , E). Goal: Compute a max. cardinality matching. G is bipartite.

  • Hopcroft and Karp (1973): O(m√n) time algorithm.

General graphs.

  • Edmond’s Blossom shrinking algorithm (1963): O(n4) time.
  • Micali and Vazirani (1980): O(m√n) time algorithm.
slide-17
SLIDE 17

Outline of the Talk

  • Matchings – preliminaries.
  • Rank maximal matchings.
  • Problem definition.
  • Some intuition.
  • Dulmage Mendelsohn Decomposition.
  • An efficient algorithm for RMM.
slide-18
SLIDE 18

Rank Maximal Matchings

Input: Bipartite graph G = (A ∪ P, E).

  • Every a ∈ A has a preference ordering over the edges.

1 1 2 3 1 2

a1 a2 a3 p1 p2 p3 p4 A P Goal: Compute a matching that matches as many appli- cants to their rank-1 posts, subject to that as many to rank-2 and so on.

slide-19
SLIDE 19

Rank Maximal Matchings

Input: Bipartite graph G = (A ∪ P, E).

  • Every a ∈ A has a preference ordering over the edges.

1 1 2 3 1 2

a1 a2 a3 p1 p2 p3 p4 A P Goal: Compute a matching that matches as many appli- cants to their rank-1 posts, subject to that as many to rank-2 and so on. Signature of matching: x1, x2, . . . , xr+1. xi: the number of applicants matched to their rank-i posts.

slide-20
SLIDE 20

Comparing two matchings

Input: Bipartite graph G = (A ∪ P, E).

  • Every a ∈ A has a preference ordering over the edges.

M: x1, x2, . . . , xr+1 M′: y1, y2, . . . , yr+1

  • xi: # of applicants matched to their rank-i post in M.
slide-21
SLIDE 21

Comparing two matchings

Input: Bipartite graph G = (A ∪ P, E).

  • Every a ∈ A has a preference ordering over the edges.

M: x1, x2, . . . , xr+1 M′: y1, y2, . . . , yr+1

  • xi: # of applicants matched to their rank-i post in M.
  • M is better than M′ w.r.t. rank-maximality ( M ≻ M′) iff :
  • there exists an index 1 ≤ k ≤ r:
  • for 1 ≤ i < k, xi = yi and xk > yk.
slide-22
SLIDE 22

Comparing two matchings

Input: Bipartite graph G = (A ∪ P, E).

  • Every a ∈ A has a preference ordering over the edges.

M: x1, x2, . . . , xr+1 M′: y1, y2, . . . , yr+1

  • xi: # of applicants matched to their rank-i post in M.
  • M is better than M′ w.r.t. rank-maximality ( M ≻ M′) iff :
  • there exists an index 1 ≤ k ≤ r:
  • for 1 ≤ i < k, xi = yi and xk > yk.
  • Goal: Compute a matching that has best signature.
slide-23
SLIDE 23

Comparing two matchings

Input: Bipartite graph G = (A ∪ P, E).

  • Every a ∈ A has a preference ordering over the edges.

M: x1, x2, . . . , xr+1 M′: y1, y2, . . . , yr+1

  • xi: # of applicants matched to their rank-i post in M.
  • M is better than M′ w.r.t. rank-maximality ( M ≻ M′) iff :
  • there exists an index 1 ≤ k ≤ r:
  • for 1 ≤ i < k, xi = yi and xk > yk.
  • Goal: Compute a matching that has best signature.
  • Can be achieved by converting the problem to a

max-weight matching problem with edge of rank-i given a weight of nr−i.

slide-24
SLIDE 24

Greedy approach

  • Geedily match applicants to their rank-1, subject to this,

greedily match applicants to their rank-2 and so on.

1 1 2 3 1 2

a1 a2 a3 p1 p2 p3 p4 A P

slide-25
SLIDE 25

Greedy approach

  • Geedily match applicants to their rank-1, subject to this,

greedily match applicants to their rank-2 and so on.

1 1 2 3 1 2

a1 a2 a3 p1 p2 p3 p4 A P

1 1 2 3 1 2

a1 a2 a3 p1 p2 p3 p4 A P

  • Choice of rank-1 edges forces a signature of 2, 0, 1.
slide-26
SLIDE 26

Greedy approach

  • Geedily match applicants to their rank-1, subject to this,

greedily match applicants to their rank-2 and so on.

1 1 2 3 1 2

a1 a2 a3 p1 p2 p3 p4 A P

1 1 2 3 1 2

a1 a2 a3 p1 p2 p3 p4 A P

  • Optimal signature of 2, 1, 0.
slide-27
SLIDE 27

Graph on rank-1 edges

1 1 1

a1 a2 a3 p1 p2 p3 p4 A P G1

slide-28
SLIDE 28

Graph on rank-1 edges

1 1 1

a1 a2 a3 p1 p2 p3 p4 A P G1 Some observations

  • For a RMM, the signature

is 2, ×, ×

slide-29
SLIDE 29

Graph on rank-1 edges

1 1 1

a1 a2 a3 p1 p2 p3 p4 A P G1 Some observations

  • For a RMM, the signature

is 2, ×, ×

  • p2 and p4 must be

matched to some rank-1 applicant.

slide-30
SLIDE 30

Graph on rank-1 edges

1 1 1

a1 a2 a3 p1 p2 p3 p4 A P G1 Some observations

  • For a RMM, the signature

is 2, ×, ×

  • p2 and p4 must be

matched to some rank-1 applicant.

  • Safe to delete higher

ranked edges incident on p2 and p4.

slide-31
SLIDE 31

Graph on rank-1 edges

1 1 1

a1 a2 a3 p1 p2 p3 p4 A P G1 Some observations

  • For a RMM, the signature

is 2, ×, ×

  • p2 and p4 must be

matched to some rank-1 applicant.

  • Safe to delete higher

ranked edges incident on p2 and p4.

  • Unclear which of a1, a2

gets matched to rank-1 post in an RMM.

slide-32
SLIDE 32

Outline of the Talk

  • Matchings – preliminaries.
  • Rank maximal matchings.
  • Problem definition.
  • Some intuition.
  • Dulmage Mendelsohn decomposition.
  • An efficient algorithm for RMM.
slide-33
SLIDE 33

Need to study DM decomposition

  • Which vertices remain matched in every max. matching?
  • Which edges can NEVER belong to a max. matching?
  • How to use these answers to solve RMM efficiently.
slide-34
SLIDE 34

Maximum matchings – some observations

a1 a2 a3 a4 p1 p2 p3 p4 A P

  • Size of max. matching: 3.
  • Every max. matching

matches {a3, a4, p1, p4}.

  • No max. matching

contains (a3, p1). Vertices that some max. matching leaves unmatched: {a1, a2, p2, p3}

slide-35
SLIDE 35

Sets Odd, Even, Unreachable

a1 a2 a3 a4 p1 p2 p3 p4 A P

  • Bipartite graph G.
  • Max. matching M.
  • Define 3 sets of vertices:
  • even (E)
  • odd (O)
  • unreachable (U)
slide-36
SLIDE 36

Sets Odd, Even, Unreachable

a1 a2 a3 a4 p1 p2 p3 p4 A P

  • Bipartite graph G.
  • Max. matching M.
  • Define 3 sets of vertices:
  • even (E)
  • odd (O)
  • unreachable (U)
  • Even (E): set of vertices which are reachable via even

length alternating paths from a free vertex x.

slide-37
SLIDE 37

Sets Odd, Even, Unreachable

a1 a2 a3 a4 p1 p2 p3 p4 A P

  • Bipartite graph G.
  • Max. matching M.
  • Define 3 sets of vertices:
  • even (E)
  • odd (O)
  • unreachable (U)
  • Even (E): set of vertices which are reachable via even

length alternating paths from a free vertex x.

  • Odd (O): set of vertices which are reachable via odd length

alternating paths from a free vertex x.

slide-38
SLIDE 38

Sets Odd, Even, Unreachable

a1 a2 a3 a4 p1 p2 p3 p4 A P

  • Bipartite graph G.
  • Max. matching M.
  • Define 3 sets of vertices:
  • even (E)
  • odd (O)
  • unreachable (U)
  • Even (E): set of vertices which are reachable via even

length alternating paths from a free vertex x.

  • Odd (O): set of vertices which are reachable via odd length

alternating paths from a free vertex x.

  • Unreachable (U): vertices which are neither odd nor even.
slide-39
SLIDE 39

Sets Odd, Even, Unreachable

a1 a2 a3 a4 p1 p2 p3 p4 A P (E) (E) (E) (E) (O) (O) (U) (U)

  • Bipartite graph G.
  • Max. matching M.
  • Define 3 sets of vertices:
  • even (E)
  • odd (O)
  • unreachable (U)
  • Even (E): set of vertices which are reachable via even

length alternating paths from a free vertex x.

  • Odd (O): set of vertices which are reachable via odd length

alternating paths from a free vertex x.

  • Unreachable (U): vertices which are neither odd nor even.
slide-40
SLIDE 40

Property 1

a1 a2 a3 a4 p1 p2 p3 p4 A P (E) (E) (E) (E) (O) (O) (U) (U)

  • Define 3 sets of vertices:
  • even (E)
  • odd (O)
  • unreachable (U)
  • E, O, U form a partition of A ∪ P.
slide-41
SLIDE 41

Property 2

a1 a2 a3 a4 p1 p2 p3 p4 A P (E) (E) (E) (E) (O) (O) (U) (U)

  • Define 3 sets of vertices:
  • even (E)
  • odd (O)
  • unreachable (U)
  • E, O, U sets are invariant of the max. matching.
slide-42
SLIDE 42

Property 3

a1 a2 a3 a4 p1 p2 p3 p4 A P (E) (E) (E) (E) (O) (O) (U) (U)

  • Define 3 sets of vertices:
  • even (E)
  • odd (O)
  • unreachable (U)
  • No max. matching contains an OO, OU edge.
slide-43
SLIDE 43

Dulmage Mendelsohn decomposition (1958)

  • Bipartite graph G. Max. matching M.
  • Define 3 sets of vertices:
  • even (E)
  • odd (O)
  • unreachable (U)
  • The sets E, O, U are partitions of the vertex set.
  • The sets are invariant of the maximum matching.
  • Every max. matching has cardinality |O| + |U|/2.
  • No max. matching has edges of the form (O, O), (O, U).
  • G does not have edges of the form (E, E), (E, U).
slide-44
SLIDE 44

Outline of the Talk

  • Matchings – preliminaries.
  • Rank maximal matchings.
  • Problem definition.
  • Some intuition.
  • Dulmage Mendelsohn decomposition.
  • An efficient algorithm for RMM.
slide-45
SLIDE 45

An efficient combinatorial algorithm

Main idea:

  • Reduce the problem of computing RMM into a problem of

computing max. cardinality matching in suitably defined graphs.

slide-46
SLIDE 46

An efficient combinatorial algorithm

Main idea:

  • Reduce the problem of computing RMM into a problem of

computing max. cardinality matching in suitably defined graphs.

  • Gi = (A ∪ P, E1 ∪ E2 ∪ . . . ∪ Ei).
  • Goal: Compute Mi in which is RMM in Gi.
slide-47
SLIDE 47

An efficient combinatorial algorithm

Main idea:

  • Reduce the problem of computing RMM into a problem of

computing max. cardinality matching in suitably defined graphs.

  • Gi = (A ∪ P, E1 ∪ E2 ∪ . . . ∪ Ei).
  • Goal: Compute Mi in which is RMM in Gi.
  • Easy for G1, simply a max. matching on rank-1 edges.
  • How about G2?
slide-48
SLIDE 48

An efficient combinatorial algorithm

Start with G ′

1 = (A ∪ P, E1), M1.

for i = 1, . . . , r do

  • Partition vertices w.r.t. Mi, call them Oi, Ei, Ui.
  • Delete all higher than i ranked edges incident on Oi, Ui.
  • Delete all edges that are labeled (OiOi), (OiUi).
  • Add edges in Ei+1 and call the resulting graph G ′

i+1.

  • Compute a max. matching Mi+1 in G ′

i+1 by augmenting Mi.

slide-49
SLIDE 49

An efficient combinatorial algorithm

Start with G ′

1 = (A ∪ P, E1), M1.

for i = 1, . . . , r do

  • Partition vertices w.r.t. Mi, call them Oi, Ei, Ui.
  • Delete all higher than i ranked edges incident on Oi, Ui.
  • Delete all edges that are labeled (OiOi), (OiUi).
  • Add edges in Ei+1 and call the resulting graph G ′

i+1.

  • Compute a max. matching Mi+1 in G ′

i+1 by augmenting Mi.

  • Note: G ′

i ⊆ Gi.

  • Invariants:
  • No edge that we delete is present in any RMM.
  • Every RMM is a maximum matching in G ′

i .

slide-50
SLIDE 50

Summary

  • RMM are very different from maximum matchings.
  • A classical decomposition result gives the best known

combinatorial algorithm.

  • DM decomposition used subsequently to find:
  • Capacitated RMM.
  • Another notion of optimality – popular matchings.
  • Popular matchings in a two sided setting (stable marriage

problem).

  • DM is a special case of the Gallai Edmonds Decomposition

(1965–1968) for general graphs.

slide-51
SLIDE 51

Thank You.