Classified Matchings under one sided preferences Meghana Nasre IIT - - PowerPoint PPT Presentation

classified matchings under one sided preferences
SMART_READER_LITE
LIVE PREVIEW

Classified Matchings under one sided preferences Meghana Nasre IIT - - PowerPoint PPT Presentation

Classified Matchings under one sided preferences Classified Matchings under one sided preferences Meghana Nasre IIT Madras Recent Trends in Algorithms NISER, Bhubaneshwar Feb 07, 2019 joint work with Prajakta Nimbhorkar (CMI) and Nada Pulath


slide-1
SLIDE 1

Classified Matchings under one sided preferences

Classified Matchings under one sided preferences

Meghana Nasre IIT Madras Recent Trends in Algorithms NISER, Bhubaneshwar

Feb 07, 2019 joint work with Prajakta Nimbhorkar (CMI) and Nada Pulath (IIT-M)

1 / 27

slide-2
SLIDE 2

Classified Matchings under one sided preferences

Problem setup

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. a1 a2 a3 p1 p2 1 2 2 1 2 1

2 / 27

slide-3
SLIDE 3

Classified Matchings under one sided preferences

Problem setup

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. a1 a2 a3 p1 p2 1 2 2 1 2 1 (2) (2)

2 / 27

slide-4
SLIDE 4

Classified Matchings under one sided preferences

Problem setup

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. Posts have classes. a1 a2 a3 p1 p2 1 2 2 1 2 1 (2) (2) 1 1

2 / 27

slide-5
SLIDE 5

Classified Matchings under one sided preferences

Problem setup

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. Posts have classes. a1 a2 a3 p1 p2 1 2 2 1 2 1 (2) (2) 1 1 Classes are subsets on the neighborhood.

2 / 27

slide-6
SLIDE 6

Classified Matchings under one sided preferences

Problem setup

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. Posts have classes. a1 a2 a3 p1 p2 1 2 2 1 2 1 1 1 2 2 The neighborhood is a trivial class!

2 / 27

slide-7
SLIDE 7

Classified Matchings under one sided preferences

Problem setup

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. Posts have classes. a1 a2 a3 p1 p2 1 2 2 1 2 1 1 1 2 2 Goal: Match applicants to posts optimally.

2 / 27

slide-8
SLIDE 8

Classified Matchings under one sided preferences

Why classifications?

Some natural constraints that can be modelled: Allotting courses to students Course - may not want many students from the same Dept. Allotting tasks to employees Task - wasteful to have many employees with the same skills.

3 / 27

slide-9
SLIDE 9

Classified Matchings under one sided preferences

Problem Setup

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. Posts have classes. a1 a2 a3 p1 p2 1 1 2 2 Goal: Compute a maximum cardinality matching.

4 / 27

slide-10
SLIDE 10

Classified Matchings under one sided preferences

Problem Setup

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. Posts have classes. a1 a2 a3 p1 p2 1 1 2 2 Goal: Compute a maximum cardinality matching. Arbitrary classes then problem is NP-Hard.

4 / 27

slide-11
SLIDE 11

Classified Matchings under one sided preferences

Problem Setup

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. Posts have classes. a1 a2 a3 p1 p2 1 1 2 2 Goal: Compute a maximum cardinality matching. Arbitrary classes then problem is NP-Hard. Consider special classification families.

4 / 27

slide-12
SLIDE 12

Classified Matchings under one sided preferences

Laminar classification

Huang (2010); 2-sided pref.

Laminar classification ⇐ ⇒ any pair of classes is non-intersecting OR Example: Countries , States , Districts , Cities Special case: Partition

5 / 27

slide-13
SLIDE 13

Classified Matchings under one sided preferences

Problem setup

Input: A set of applicants A A set of posts P Applicants have preferences over a subset in P Posts have quotas Posts have laminar classes and quotas a1 a2 a3 p1 p2 1 1 2 2 Goal: Compute a maximum cardinality matching.

6 / 27

slide-14
SLIDE 14

Classified Matchings under one sided preferences

Maximum matchings under laminar classifications

7 / 27

slide-15
SLIDE 15

Classified Matchings under one sided preferences

Maximum matchings under laminar classifications ⇓ Maximum flow in a flow network

7 / 27

slide-16
SLIDE 16

Classified Matchings under one sided preferences

Classification tree - property of laminar classification

a1 a3 a2 p1(2) p2(2) 1 1 C1 C2

a1 a3 a2 p2a2 p2a3 p2a1 p1a1 p1a3 p1a2 p1 p2 C1 C2

8 / 27

slide-17
SLIDE 17

Classified Matchings under one sided preferences

Feasible matchings to feasible flows

a1 a3 a2 p1(2) p2(2) 1 1 C1 C2

a1 a3 a2 s p2a2 p2a3 p2a1 p1a1 p1a3 p1a2 p1 p2 t C1 C2 2 2

G H Add source s and sink t

8 / 27

slide-18
SLIDE 18

Classified Matchings under one sided preferences

Feasible matchings to feasible flows

a1 a3 a2 p1(2) p2(2) 1 1 C1 C2

a1 a3 a2 s p2a2 p2a3 p2a1 p1a1 p1a3 p1a2 p1 p2 t C1 C2 2 2

G H Add (a, pa) edges

8 / 27

slide-19
SLIDE 19

Classified Matchings under one sided preferences

Feasible matchings to feasible flows

a1 a3 a2 p1(2) p2(2) 1 1 C1 C2

a1 a3 a2 s p2a2 p2a3 p2a1 p1a1 p1a3 p1a2 p1 p2 t C1 C2 2 2

G H Compute a max-flow in H

8 / 27

slide-20
SLIDE 20

Classified Matchings under one sided preferences

Feasible matchings to feasible flows

a1 a3 a2 p1(2) p2(2) 1 1 C1 C2

a1 a3 a2 s p2a2 p2a3 p2a1 p1a1 p1a3 p1a2 p1 p2 t C1 C2 2

G H Maximum matching in G ⇐ ⇒ Maximum flow in H

8 / 27

slide-21
SLIDE 21

Classified Matchings under one sided preferences

Back to our problem

9 / 27

slide-22
SLIDE 22

Classified Matchings under one sided preferences

Back to our problem

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. Posts have laminar classes. a1 a3 a2 p1 p2 1 2 2 1 2 1 1 1 2 2 Goal: Match applicants to posts optimally.

9 / 27

slide-23
SLIDE 23

Classified Matchings under one sided preferences

Back to our problem

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. Posts have laminar classes. a1 a3 a2 p1 p2 1 2 2 1 2 1 1 1 2 2 Goal: Match applicants to posts optimally. Popularity: majority does not want to deviate.

9 / 27

slide-24
SLIDE 24

Classified Matchings under one sided preferences

Back to our problem

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. Posts have laminar classes. a1 a3 a2 p1 p2 1 2 2 1 2 1 1 1 2 2 Goal: Match applicants to posts optimally. Rank-maximality: max. number to rank-1, subject to this max. number to rank-2, ...

9 / 27

slide-25
SLIDE 25

Classified Matchings under one sided preferences

Popularity in the one-to-one setting

10 / 27

slide-26
SLIDE 26

Classified Matchings under one sided preferences

Popularity: definition

G¨ ardenfors (1975), Abraham et al.(2005)

Compare matchings M and M′ using applicant votes.

11 / 27

slide-27
SLIDE 27

Classified Matchings under one sided preferences

Popularity: definition

G¨ ardenfors (1975), Abraham et al.(2005)

Compare matchings M and M′ using applicant votes. a1 a2 a3 p1 p2 p3 1 1 1 1 1 2 2 a1 a2 a3 p1 p2 p3 1 1 1 1 1 2 2

11 / 27

slide-28
SLIDE 28

Classified Matchings under one sided preferences

Popularity: definition

G¨ ardenfors (1975), Abraham et al.(2005)

Compare matchings M and M′ using applicant votes. a1 a2 a3 p1 p2 p3 1 1 1 1 1 2 2 a1 a2 a3 p1 p2 p3 1 1 1 1 1 2 2 M M′ a1

  • a2
  • a3

  • 11 / 27
slide-29
SLIDE 29

Classified Matchings under one sided preferences

Popularity: definition

G¨ ardenfors (1975), Abraham et al.(2005)

Compare matchings M and M′ using applicant votes. a1 a2 a3 p1 p2 p3 1 1 1 1 1 2 2 a1 a2 a3 p1 p2 p3 1 1 1 1 1 2 2 M M′ a1

  • a2
  • a3

  • M beats M′ =

⇒ M′ is not popular

11 / 27

slide-30
SLIDE 30

Classified Matchings under one sided preferences

Popularity: definition

G¨ ardenfors (1975), Abraham et al.(2005)

Compare matchings M and M′ using applicant votes. a1 a2 a3 p1 p2 p3 1 1 1 1 1 2 2 a1 a2 a3 p1 p2 p3 1 1 1 1 1 2 2 M M′ a1

  • a2
  • a3

  • M beats M′ =

⇒ M′ is not popular A matching M is popular if no matching beats it.

11 / 27

slide-31
SLIDE 31

Classified Matchings under one sided preferences

Popularity: definition

G¨ ardenfors (1975), Abraham et al.(2005)

Compare matchings M and M′ using applicant votes. a1 a2 a3 p1 p2 p3 1 1 1 1 1 2 2 a1 a2 a3 p1 p2 p3 1 1 1 1 1 2 2 M M′ a1

  • a2
  • a3

  • M beats M′ =

⇒ M′ is not popular A matching M is popular if no matching beats it.

11 / 27

slide-32
SLIDE 32

Classified Matchings under one sided preferences

Popular matchings: characterization

Abraham et al. (2005)

A matching M is popular if no matching beats it.

12 / 27

slide-33
SLIDE 33

Classified Matchings under one sided preferences

Popular matchings: characterization

Abraham et al. (2005)

A matching M is popular if no matching beats it. A matching M is popular if and only if: M is a maximum matching on the rank-1 edges. Every a ∈ A is matched to either its f (a) or s(a)

12 / 27

slide-34
SLIDE 34

Classified Matchings under one sided preferences

Popular matchings: characterization

Abraham et al. (2005)

A matching M is popular if no matching beats it. A matching M is popular if and only if: M is a maximum matching on the rank-1 edges. Every a ∈ A is matched to either its f (a) or s(a) f (a) - set of all rank-1 posts of a. s(a) - next most preferred posts of a.

12 / 27

slide-35
SLIDE 35

Classified Matchings under one sided preferences

Popular matchings: characterization

Abraham et al. (2005)

A matching M is popular if no matching beats it. A matching M is popular if and only if: M is a maximum matching on the rank-1 edges. Every a ∈ A is matched to either its f (a) or s(a) f (a) - set of all rank-1 posts of a. s(a) - next most preferred posts of a. If such a matching does not exist, no popular matching exists.

12 / 27

slide-36
SLIDE 36

Classified Matchings under one sided preferences

Computing popular matchings

Abraham et al. (2005); Manlove and Sng (2006)

Overall idea: Reduction to two maximum matching computations.

13 / 27

slide-37
SLIDE 37

Classified Matchings under one sided preferences

Computing popular matchings

Abraham et al. (2005); Manlove and Sng (2006)

Overall idea: Reduction to two maximum matching computations.

1 Construct G1: every a adds (a, f (a)) edges.

G1 is graph on rank-1 edges.

13 / 27

slide-38
SLIDE 38

Classified Matchings under one sided preferences

Computing popular matchings

Abraham et al. (2005); Manlove and Sng (2006)

Overall idea: Reduction to two maximum matching computations.

1 Construct G1: every a adds (a, f (a)) edges.

G1 is graph on rank-1 edges.

2 Compute a maximum matching M1 in G1. 3 Delete “unnecessary” rank-1 edges.

13 / 27

slide-39
SLIDE 39

Classified Matchings under one sided preferences

Computing popular matchings

Abraham et al. (2005); Manlove and Sng (2006)

Overall idea: Reduction to two maximum matching computations.

1 Construct G1: every a adds (a, f (a)) edges.

G1 is graph on rank-1 edges.

2 Compute a maximum matching M1 in G1. 3 Delete “unnecessary” rank-1 edges. 4 Some applicants add (a, s(a)) edges.

13 / 27

slide-40
SLIDE 40

Classified Matchings under one sided preferences

Computing popular matchings

Abraham et al. (2005); Manlove and Sng (2006)

Overall idea: Reduction to two maximum matching computations.

1 Construct G1: every a adds (a, f (a)) edges.

G1 is graph on rank-1 edges.

2 Compute a maximum matching M1 in G1. 3 Delete “unnecessary” rank-1 edges. 4 Some applicants add (a, s(a)) edges. 5 Augment M1 to compute a maximum matching M.

13 / 27

slide-41
SLIDE 41

Classified Matchings under one sided preferences

Computing popular matchings

Abraham et al. (2005); Manlove and Sng (2006)

Overall idea: Reduction to two maximum matching computations.

1 Construct G1: every a adds (a, f (a)) edges.

G1 is graph on rank-1 edges.

2 Compute a maximum matching M1 in G1. 3 Delete “unnecessary” rank-1 edges. 4 Some applicants add (a, s(a)) edges. 5 Augment M1 to compute a maximum matching M. 6 If M matches all applicants, declare popular,

else no popular matching.

13 / 27

slide-42
SLIDE 42

Classified Matchings under one sided preferences

Computing popular matchings

Abraham et al. (2005); Manlove and Sng (2006)

Overall idea: Reduction to two maximum matching computations.

1 Construct G1: every a adds (a, f (a)) edges.

G1 is graph on rank-1 edges.

2 Compute a maximum matching M1 in G1. 3 Delete “unnecessary” rank-1 edges. 4 Some applicants add (a, s(a)) edges. 5 Augment M1 to compute a maximum matching M. 6 If M matches all applicants, declare popular,

else no popular matching. Steps 3 & 4: Dulmage Mendelsohn Decomposition

13 / 27

slide-43
SLIDE 43

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching.

14 / 27

slide-44
SLIDE 44

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. a1 a2 a3 a4 p1 p2 p3 p4

14 / 27

slide-45
SLIDE 45

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. a1 a2 a3 a4 p1 p2 p3 p4 M is a maximum matching

14 / 27

slide-46
SLIDE 46

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. a1 a2 (E)a3 a4 p1 p2 p3(E) p4 M is a maximum matching E : reachable from unmatched vertex via even length alt. path.

14 / 27

slide-47
SLIDE 47

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. a1 (O)a2 (E)a3 a4 p1(O) p2 p3(E) p4 M is a maximum matching E : reachable from unmatched vertex via even length alt. path. O : reachable from unmatched vertex via odd length alt. path.

14 / 27

slide-48
SLIDE 48

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. (E)a1 (O)a2 (E)a3 a4 p1(O) p2(E) p3(E) p4 M is a maximum matching E : reachable from unmatched vertex via even length alt. path. O : reachable from unmatched vertex via odd length alt. path.

14 / 27

slide-49
SLIDE 49

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. (E)a1 (O)a2 (E)a3 a4 p1(O) p2(E) p3(E) p4 M is a maximum matching E : reachable from unmatched vertex via even length alt. path. O : reachable from unmatched vertex via odd length alt. path.

14 / 27

slide-50
SLIDE 50

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. (E)a1 (O)a2 (E)a3 (U)a4 p1(O) p2(E) p3(E) p4(U) M is a maximum matching E : reachable from unmatched vertex via even length alt. path. O : reachable from unmatched vertex via odd length alt. path. U : unreachable from unmatched vertex via length alt. path.

14 / 27

slide-51
SLIDE 51

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. (E)a1 (O)a2 (E)a3 (U)a4 p1(O) p2(E) p3(E) p4(U)

15 / 27

slide-52
SLIDE 52

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. (E)a1 (O)a2 (E)a3 (U)a4 p1(O) p2(E) p3(E) p4(U) E, O and U invariant of M

15 / 27

slide-53
SLIDE 53

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. (E)a1 (O)a2 (E)a3 (U)a4 p1(O) p2(E) p3(E) p4(U) E, O and U invariant of M For any maximum matching:

15 / 27

slide-54
SLIDE 54

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. (E)a1 (O)a2 (E)a3 (U)a4 p1(O) p2(E) p3(E) p4(U) E, O and U invariant of M For any maximum matching: Every O and U vertex is matched.

15 / 27

slide-55
SLIDE 55

Classified Matchings under one sided preferences

Dulmage Mendelsohn decomposition

DM (1958)

Partition of vertices into three sets w.r.t. a maximum matching. (E)a1 (O)a2 (E)a3 (U)a4 p1(O) p2(E) p3(E) p4(U) E, O and U invariant of M For any maximum matching: Every O and U vertex is matched. No OO,OU edges are matched.

15 / 27

slide-56
SLIDE 56

Classified Matchings under one sided preferences

Computing popular matchings

Abraham et al. (2005); Manlove and Sng (2006)

Overall idea: Reduction to two maximum matching computations.

16 / 27

slide-57
SLIDE 57

Classified Matchings under one sided preferences

Computing popular matchings

Abraham et al. (2005); Manlove and Sng (2006)

Overall idea: Reduction to two maximum matching computations.

1 Construct G1: every a adds (a, f (a)) edges.

G1 is graph on rank-1 edges.

2 Compute a maximum matching M1 in G1. 3 Delete “unnecessary” rank-1 edges. OO,OU edges. 4 Even applicants add (a, s(a)) edges. 5 Augment M1 to compute a maximum matching M. 6 If M matches all applicants, declare popular,

else no popular matching.

16 / 27

slide-58
SLIDE 58

Classified Matchings under one sided preferences

Computing popular matchings

Abraham et al. (2005); Manlove and Sng (2006)

Overall idea: Reduction to two maximum matching computations.

1 Construct G1: every a adds (a, f (a)) edges.

G1 is graph on rank-1 edges.

2 Compute a maximum matching M1 in G1. 3 Delete “unnecessary” rank-1 edges. OO,OU edges. 4 Even applicants add (a, s(a)) edges. 5 Augment M1 to compute a maximum matching M. 6 If M matches all applicants, declare popular,

else no popular matching. Step 4: s(a) – most preferred even post in G1.

16 / 27

slide-59
SLIDE 59

Classified Matchings under one sided preferences

Is deletion necessary?

a1 a2 a3 p1 p2 p3 1 2 1 1 1 1 2

17 / 27

slide-60
SLIDE 60

Classified Matchings under one sided preferences

Is deletion necessary?

a1 a2 a3 p1 p2 p3 1 2 1 1 1 1 2

17 / 27

slide-61
SLIDE 61

Classified Matchings under one sided preferences

Is deletion necessary?

a1 a2 a3 p1 p2 p3 1 2 1 1 1 1 2 a1 a2 a3 p1 p2 p3 1 1 1 1 1 Graph G1

17 / 27

slide-62
SLIDE 62

Classified Matchings under one sided preferences

Is deletion necessary?

a1 a2 a3 p1 p2 p3 1 2 1 1 1 1 2 a1 a2 a3 p1 p2 p3 1 1 1 1

  • Max. matching M1 in G1

17 / 27

slide-63
SLIDE 63

Classified Matchings under one sided preferences

Is deletion necessary?

a1 a2 a3 p1 p2 p3 1 2 1 1 1 1 2 (E)a1 (O)a2 (E)a3 p1(O) p2(E) p3(E) 1 1 1 1 Label vertices

17 / 27

slide-64
SLIDE 64

Classified Matchings under one sided preferences

Is deletion necessary?

a1 a2 a3 p1 p2 p3 1 2 1 1 1 1 2 (E)a1 (O)a2 (E)a3 p1(O) p2(E) p3(E) 1 1 1 1 2 2 Add (a, s(a)) edges

17 / 27

slide-65
SLIDE 65

Classified Matchings under one sided preferences

Is deletion necessary?

a1 a2 a3 p1 p2 p3 1 2 1 1 1 1 2 (E)a1 (O)a2 (E)a3 p1(O) p2(E) p3(E) 1 1 1 1 2 2 Augment M1 to get M′

17 / 27

slide-66
SLIDE 66

Classified Matchings under one sided preferences

Is deletion necessary?

a1 a2 a3 p1 p2 p3 1 2 1 1 1 1 2 (E)a1 (O)a2 (E)a3 p1(O) p2(E) p3(E) 1 1 1 1 2 2 M M′ a1

  • a2
  • a3

  • M′ is not popular

17 / 27

slide-67
SLIDE 67

Classified Matchings under one sided preferences

Is deletion necessary?

a1 a2 a3 p1 p2 p3 1 2 1 1 1 1 2 (E)a1 (O)a2 (E)a3 p1(O) p2(E) p3(E) 1 1 1 1 2 2 Deletion of OO, OU edges is crucial!

17 / 27

slide-68
SLIDE 68

Classified Matchings under one sided preferences

Back to our problem

18 / 27

slide-69
SLIDE 69

Classified Matchings under one sided preferences

Back to our problem

Input: A set of applicants A. A set of posts P. Applicants have preferences over a subset in P. Posts have quotas. Posts have laminar classes. a1 a3 a2 p1 p2 1 2 2 1 2 1 1 1 2 2 Goal: Compute a popular matching of applicants to posts (if one exists).

18 / 27

slide-70
SLIDE 70

Classified Matchings under one sided preferences

Laminar classified popular matchings

19 / 27

slide-71
SLIDE 71

Classified Matchings under one sided preferences

Classified matchings: challenges

a1 a3 a2 p1 (2) p2(2) 1 1 M Deal with capacitated matchings.

20 / 27

slide-72
SLIDE 72

Classified Matchings under one sided preferences

Classified matchings: challenges

a1 a3 a2 p1 (2) p2(2) 1 1 M Deal with capacitated matchings.

Manlove and Sng use cloning. Paluch defined good paths.

20 / 27

slide-73
SLIDE 73

Classified Matchings under one sided preferences

Classified matchings: challenges

a1 a3 a2 p1 (2) p2(2) 1 1 M Deal with capacitated matchings.

Manlove and Sng use cloning. Paluch defined good paths.

Both techniques do not work for classifications.

20 / 27

slide-74
SLIDE 74

Classified Matchings under one sided preferences

Classified matchings: challenges

a1 a3 a2 p1 (2) p2(2) 1 1 M Deal with capacitated matchings.

Manlove and Sng use cloning. Paluch defined good paths.

Both techniques do not work for classifications.

Maximum matching M not feasible.

20 / 27

slide-75
SLIDE 75

Classified Matchings under one sided preferences

Classified matchings: challenges

a1 a3 a2 p1 (2) p2(2) 1 1 M Deal with capacitated matchings.

Manlove and Sng use cloning. Paluch defined good paths.

Both techniques do not work for classifications.

Maximum matching M not feasible.

Use max-flow and min-cut properties!

20 / 27

slide-76
SLIDE 76

Classified Matchings under one sided preferences

Properties of max-flow

Let H be any flow network and f be a max-flow in H. S = {v | is reachable from s in Hf } T = {v | v can reach t in Hf } U = {v | v / ∈ T ∪ S}

21 / 27

slide-77
SLIDE 77

Classified Matchings under one sided preferences

Properties of max-flow

Let H be any flow network and f be a max-flow in H. S = {v | is reachable from s in Hf } T = {v | v can reach t in Hf } U = {v | v / ∈ T ∪ S} (S, T ∪ U) is a min-s-t-cut in H

21 / 27

slide-78
SLIDE 78

Classified Matchings under one sided preferences

Properties of max-flow

Let H be any flow network and f be a max-flow in H. S = {v | is reachable from s in Hf } T = {v | v can reach t in Hf } U = {v | v / ∈ T ∪ S} (S, T ∪ U) is a min-s-t-cut in H Known Facts: Forward edges (S, T ∪ U) : saturated in every max-flow. Reverse edges (T ∪ U, S) : zero flow in every max-flow.

21 / 27

slide-79
SLIDE 79

Classified Matchings under one sided preferences

Properties of max-flow

s c d e t a b f g H S = {v | is reachable from s in Hf } T = {v | v can reach t in Hf } U = {v | v / ∈ T ∪ S}

22 / 27

slide-80
SLIDE 80

Classified Matchings under one sided preferences

Properties of max-flow

s c d e t a b f g Hf S = {v | is reachable from s in Hf } T = {v | v can reach t in Hf } U = {v | v / ∈ T ∪ S}

22 / 27

slide-81
SLIDE 81

Classified Matchings under one sided preferences

Properties of max-flow

The sets S, T and U are invariant of the max-flow f .

23 / 27

slide-82
SLIDE 82

Classified Matchings under one sided preferences

Properties of max-flow

The sets S, T and U are invariant of the max-flow f . (i) x ∈ Sf ⇐ ⇒ x ∈ Sf ′

23 / 27

slide-83
SLIDE 83

Classified Matchings under one sided preferences

Properties of max-flow

The sets S, T and U are invariant of the max-flow f . (i) x ∈ Sf ⇐ ⇒ x ∈ Sf ′ Proof: x ∈ Sf and x ∈ Tf ′ ∪ Uf ′

23 / 27

slide-84
SLIDE 84

Classified Matchings under one sided preferences

Properties of max-flow

The sets S, T and U are invariant of the max-flow f . (i) x ∈ Sf ⇐ ⇒ x ∈ Sf ′ Proof: x ∈ Sf and x ∈ Tf ′ ∪ Uf ′ x be the nearest such node from s in Hf .

23 / 27

slide-85
SLIDE 85

Classified Matchings under one sided preferences

Properties of max-flow

The sets S, T and U are invariant of the max-flow f . (i) x ∈ Sf ⇐ ⇒ x ∈ Sf ′ Proof: x ∈ Sf and x ∈ Tf ′ ∪ Uf ′ x be the nearest such node from s in Hf .

s y x Sf Tf ∪ Uf

Hf

23 / 27

slide-86
SLIDE 86

Classified Matchings under one sided preferences

Properties of max-flow

The sets S, T and U are invariant of the max-flow f . (i) x ∈ Sf ⇐ ⇒ x ∈ Sf ′ Proof: x ∈ Sf and x ∈ Tf ′ ∪ Uf ′ x be the nearest such node from s in Hf .

s y x Sf Tf ∪ Uf

Hf

s y x Sf ′ Tf ′ ∪ Uf ′

Hf ′ (y, x) ∈ H (x, y) ∈ H

23 / 27

slide-87
SLIDE 87

Classified Matchings under one sided preferences

Properties of max-flow

The sets S, T and U are invariant of the max-flow f . (i) x ∈ Sf ⇐ ⇒ x ∈ Sf ′ Proof: x ∈ Sf and x ∈ Tf ′ ∪ Uf ′ x be the nearest such node from s in Hf .

s y x Sf Tf ∪ Uf

Hf

s y x Sf ′ Tf ′ ∪ Uf ′

Hf ′ (y, x) ∈ H = ⇒ f (y, x) = f ′(y, x) = c(y, x). ⇒⇐ (x, y) ∈ H

23 / 27

slide-88
SLIDE 88

Classified Matchings under one sided preferences

Properties of max-flow

The sets S, T and U are invariant of the max-flow f . (i) x ∈ Sf ⇐ ⇒ x ∈ Sf ′ Proof: x ∈ Sf and x ∈ Tf ′ ∪ Uf ′ x be the nearest such node from s in Hf .

s y x Sf Tf ∪ Uf

Hf

s y x Sf ′ Tf ′ ∪ Uf ′

Hf ′ (y, x) ∈ H = ⇒ f (y, x) = f ′(y, x) = c(y, x). ⇒⇐ (x, y) ∈ H = ⇒ f (x, y) = f ′(x, y) = 0. ⇒⇐

23 / 27

slide-89
SLIDE 89

Classified Matchings under one sided preferences

Classified popular matchings: characterization

A matching M is popular if no matching beats it.

24 / 27

slide-90
SLIDE 90

Classified Matchings under one sided preferences

Classified popular matchings: characterization

A matching M is popular if no matching beats it. A matching M is popular if and only if: M is a maximum feasible matching on the rank-1 edges. Every a ∈ A is matched to either its f (a) or s(a).

24 / 27

slide-91
SLIDE 91

Classified Matchings under one sided preferences

Classified popular matchings: characterization

A matching M is popular if no matching beats it. A matching M is popular if and only if: M is a maximum feasible matching on the rank-1 edges. Every a ∈ A is matched to either its f (a) or s(a). f (a) - set of all rank-1 posts of a. s(a) - defined using flow network on rank-1 edges.

24 / 27

slide-92
SLIDE 92

Classified Matchings under one sided preferences

Classified popular matchings: characterization

A matching M is popular if no matching beats it. A matching M is popular if and only if: M is a maximum feasible matching on the rank-1 edges. Every a ∈ A is matched to either its f (a) or s(a). f (a) - set of all rank-1 posts of a. s(a) - defined using flow network on rank-1 edges. If such a matching does not exist, no popular matching exists.

24 / 27

slide-93
SLIDE 93

Classified Matchings under one sided preferences

Computing classified popular matchings

Overall idea: Reduction to two maximum flow computations.

25 / 27

slide-94
SLIDE 94

Classified Matchings under one sided preferences

Computing classified popular matchings

Overall idea: Reduction to two maximum flow computations.

1 Construct H1: every a adds (a, f (a)) edges.

25 / 27

slide-95
SLIDE 95

Classified Matchings under one sided preferences

Computing classified popular matchings

Overall idea: Reduction to two maximum flow computations.

1 Construct H1: every a adds (a, f (a)) edges. 2 Compute a maximum flow f1 in H1. 3 Delete (T ∪ U, S) edges in H1(f1).

25 / 27

slide-96
SLIDE 96

Classified Matchings under one sided preferences

Computing classified popular matchings

Overall idea: Reduction to two maximum flow computations.

1 Construct H1: every a adds (a, f (a)) edges. 2 Compute a maximum flow f1 in H1. 3 Delete (T ∪ U, S) edges in H1(f1).

Ensures that augmentation preserves max. card. on rank-1.

25 / 27

slide-97
SLIDE 97

Classified Matchings under one sided preferences

Computing classified popular matchings

Overall idea: Reduction to two maximum flow computations.

1 Construct H1: every a adds (a, f (a)) edges. 2 Compute a maximum flow f1 in H1. 3 Delete (T ∪ U, S) edges in H1(f1).

Ensures that augmentation preserves max. card. on rank-1.

4 For every a ∈ S, add (a, s(a)) edge.

s(a) is the most preferred post p ∈ T in H1(f1).

25 / 27

slide-98
SLIDE 98

Classified Matchings under one sided preferences

Computing classified popular matchings

Overall idea: Reduction to two maximum flow computations.

1 Construct H1: every a adds (a, f (a)) edges. 2 Compute a maximum flow f1 in H1. 3 Delete (T ∪ U, S) edges in H1(f1).

Ensures that augmentation preserves max. card. on rank-1.

4 For every a ∈ S, add (a, s(a)) edge.

s(a) is the most preferred post p ∈ T in H1(f1).

5 Augment f1 to obtain f2. Let M be matching corr. to f2.

25 / 27

slide-99
SLIDE 99

Classified Matchings under one sided preferences

Computing classified popular matchings

Overall idea: Reduction to two maximum flow computations.

1 Construct H1: every a adds (a, f (a)) edges. 2 Compute a maximum flow f1 in H1. 3 Delete (T ∪ U, S) edges in H1(f1).

Ensures that augmentation preserves max. card. on rank-1.

4 For every a ∈ S, add (a, s(a)) edge.

s(a) is the most preferred post p ∈ T in H1(f1).

5 Augment f1 to obtain f2. Let M be matching corr. to f2. 6 If M matches all applicants, declare popular,

else no popular matching.

25 / 27

slide-100
SLIDE 100

Classified Matchings under one sided preferences

Computing classified popular matchings

Overall idea: Reduction to two maximum flow computations.

1 Construct H1: every a adds (a, f (a)) edges. 2 Compute a maximum flow f1 in H1. 3 Delete (T ∪ U, S) edges in H1(f1).

Ensures that augmentation preserves max. card. on rank-1.

4 For every a ∈ S, add (a, s(a)) edge.

s(a) is the most preferred post p ∈ T in H1(f1).

5 Augment f1 to obtain f2. Let M be matching corr. to f2. 6 If M matches all applicants, declare popular,

else no popular matching. An O(|A| · |E|) time algorithm.

25 / 27

slide-101
SLIDE 101

Classified Matchings under one sided preferences

Classified popular matchings – correctness

A matching M is popular if and only if: M is a maximum feasible matching on the rank-1 edges. Every a ∈ A is matched to either its f (a) or s(a). If such a matching does not exist, no popular matching exists.

26 / 27

slide-102
SLIDE 102

Classified Matchings under one sided preferences

Classified popular matchings – correctness

A matching M is popular if and only if: M is a maximum feasible matching on the rank-1 edges. Every a ∈ A is matched to either its f (a) or s(a). If such a matching does not exist, no popular matching exists. Proof technique:

1 Two promotions at the cost of one demotion. 2 Cut edges were deleted =

⇒ augmentation preserves rank-1 edges.

26 / 27

slide-103
SLIDE 103

Classified Matchings under one sided preferences

To summarize ..

A flow based framework for popular matchings with classifications.

27 / 27

slide-104
SLIDE 104

Classified Matchings under one sided preferences

To summarize ..

A flow based framework for popular matchings with classifications. Same framework applies for rank-maximal matchings.

Classifications are allowed on both sides.

27 / 27

slide-105
SLIDE 105

Classified Matchings under one sided preferences

To summarize ..

A flow based framework for popular matchings with classifications. Same framework applies for rank-maximal matchings.

Classifications are allowed on both sides.

Key step: Use max-flow, min-cut properties to identify “unnecessary” edges.

27 / 27

slide-106
SLIDE 106

Classified Matchings under one sided preferences

To summarize ..

A flow based framework for popular matchings with classifications. Same framework applies for rank-maximal matchings.

Classifications are allowed on both sides.

Key step: Use max-flow, min-cut properties to identify “unnecessary” edges. Laminarity is needed, else problem is NP-Hard.

27 / 27

slide-107
SLIDE 107

Classified Matchings under one sided preferences

To summarize ..

A flow based framework for popular matchings with classifications. Same framework applies for rank-maximal matchings.

Classifications are allowed on both sides.

Key step: Use max-flow, min-cut properties to identify “unnecessary” edges. Laminarity is needed, else problem is NP-Hard. Extensions: Popular matchings in the many to many settings. Lower quotas for classes.

27 / 27

slide-108
SLIDE 108

Classified Matchings under one sided preferences

To summarize ..

A flow based framework for popular matchings with classifications. Same framework applies for rank-maximal matchings.

Classifications are allowed on both sides.

Key step: Use max-flow, min-cut properties to identify “unnecessary” edges. Laminarity is needed, else problem is NP-Hard. Extensions: Popular matchings in the many to many settings. Lower quotas for classes. Thank you!

27 / 27