Stability, Popularity, and Lower Quotas Meghana Nasre IIT Madras - - PowerPoint PPT Presentation

stability popularity and lower quotas
SMART_READER_LITE
LIVE PREVIEW

Stability, Popularity, and Lower Quotas Meghana Nasre IIT Madras - - PowerPoint PPT Presentation

Stability, Popularity, and Lower Quotas Stability, Popularity, and Lower Quotas Meghana Nasre IIT Madras CAALM 2019 Chennai Mathematical Institute Jan 22, 2019 1 / 31 Stability, Popularity, and Lower Quotas Problem Setup 2 / 31 Stability,


slide-1
SLIDE 1

Stability, Popularity, and Lower Quotas

Stability, Popularity, and Lower Quotas

Meghana Nasre IIT Madras CAALM 2019 Chennai Mathematical Institute

Jan 22, 2019

1 / 31

slide-2
SLIDE 2

Stability, Popularity, and Lower Quotas

Problem Setup

2 / 31

slide-3
SLIDE 3

Stability, Popularity, and Lower Quotas

Problem Setup

A set of men A (applicants / students /medical interns)

2 / 31

slide-4
SLIDE 4

Stability, Popularity, and Lower Quotas

Problem Setup

A set of men A (applicants / students /medical interns) A set of women B ( jobs / courses / hospitals )

2 / 31

slide-5
SLIDE 5

Stability, Popularity, and Lower Quotas

Problem Setup

A set of men A (applicants / students /medical interns) A set of women B ( jobs / courses / hospitals ) Each participant has a preference ordering.

2 / 31

slide-6
SLIDE 6

Stability, Popularity, and Lower Quotas

Problem Setup

A set of men A (applicants / students /medical interns) A set of women B ( jobs / courses / hospitals ) Each participant has a preference ordering. a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 Here preferences are strict and complete.

2 / 31

slide-7
SLIDE 7

Stability, Popularity, and Lower Quotas

Problem Setup

A set of men A (applicants / students /medical interns) A set of women B ( jobs / courses / hospitals ) Each participant has a preference ordering. a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 Here preferences are strict and complete. Goal: Assign men to women optimally.

2 / 31

slide-8
SLIDE 8

Stability, Popularity, and Lower Quotas

Problem Setup

A set of men A (applicants / students /medical interns) A set of women B ( jobs / courses / hospitals ) Each participant has a preference ordering. a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 Here preferences are strict and complete. A possible assignment M = {(a1, b2), (a2, b1)}.

3 / 31

slide-9
SLIDE 9

Stability, Popularity, and Lower Quotas

Stability – a notion of optimality

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 A pair (a, b) ∈ E \ M blocks M if Both a and b prefer each other to their current partner in M.

4 / 31

slide-10
SLIDE 10

Stability, Popularity, and Lower Quotas

Stability – a notion of optimality

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 A pair (a, b) ∈ E \ M blocks M if Both a and b prefer each other to their current partner in M. (a1, b1): both a1 and b1 wish to deviate – blocking pair.

4 / 31

slide-11
SLIDE 11

Stability, Popularity, and Lower Quotas

Stability – a notion of optimality

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 A pair (a, b) ∈ E \ M blocks M if Both a and b prefer each other to their current partner in M. (a1, b1): both a1 and b1 wish to deviate – blocking pair. A matching is stable if no pair wishes to deviate.

4 / 31

slide-12
SLIDE 12

Stability, Popularity, and Lower Quotas

Stability – a notion of optimality

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 A pair (a, b) ∈ E \ M blocks M if Both a and b prefer each other to their current partner in M. (a1, b1): both a1 and b1 wish to deviate – blocking pair. A matching is stable if no pair wishes to deviate. M′ = {(a1, b1), (a2, b2)} is a stable.

4 / 31

slide-13
SLIDE 13

Stability, Popularity, and Lower Quotas

Stability – a notion of optimality

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 A pair (a, b) ∈ E \ M blocks M if Both a and b prefer each other to their current partner in M. (a1, b1): both a1 and b1 wish to deviate – blocking pair. A matching is stable if no pair wishes to deviate. M′ = {(a1, b1), (a2, b2)} is a stable. Known Facts: Every instance admits a stable matching. Stable matching can be computed in linear time. All stable matchings are perfect.

4 / 31

slide-14
SLIDE 14

Stability, Popularity, and Lower Quotas

Today’s talk: Three Variants of the SM problem

5 / 31

slide-15
SLIDE 15

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

6 / 31

slide-16
SLIDE 16

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Preferences are strict and can be incomplete. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1

6 / 31

slide-17
SLIDE 17

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Preferences are strict and can be incomplete. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable matching exist? Yes!

6 / 31

slide-18
SLIDE 18

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Preferences are strict and can be incomplete. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable matching exist? Yes! M = {(a1, b1)}.

6 / 31

slide-19
SLIDE 19

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Preferences are strict and can be incomplete. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable matching exist? Yes! M = {(a1, b1)}. Known Facts:

6 / 31

slide-20
SLIDE 20

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Preferences are strict and can be incomplete. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable matching exist? Yes! M = {(a1, b1)}. Known Facts: Every instance admits a stable matching; can be computed in linear time.

6 / 31

slide-21
SLIDE 21

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Preferences are strict and can be incomplete. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable matching exist? Yes! M = {(a1, b1)}. Known Facts: Every instance admits a stable matching; can be computed in linear time. All stable matchings are perfect

6 / 31

slide-22
SLIDE 22

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Preferences are strict and can be incomplete. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable matching exist? Yes! M = {(a1, b1)}. Known Facts: Every instance admits a stable matching; can be computed in linear time. All stable matchings are perfect of the same size.

6 / 31

slide-23
SLIDE 23

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Preferences are strict and can be incomplete. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable matching exist? Yes! M = {(a1, b1)}. Known Facts: Every instance admits a stable matching; can be computed in linear time. All stable matchings are perfect of the same size. Stable matching can be half the size of max. matching.

6 / 31

slide-24
SLIDE 24

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Preferences are strict and can be incomplete. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable matching exist? Yes! M = {(a1, b1)}. Known Facts: Every instance admits a stable matching; can be computed in linear time. All stable matchings are perfect of the same size. Stable matching can be half the size of max. matching. Question: Are there larger optimal matchings?

6 / 31

slide-25
SLIDE 25

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

7 / 31

slide-26
SLIDE 26

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Preferences can contain ties and can be incomplete. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1

7 / 31

slide-27
SLIDE 27

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Preferences can contain ties and can be incomplete. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Redefine blocking pair.

A pair (a, b) ∈ E \ M blocks M if Both a and b strictly prefer each other to their current partner in M.

7 / 31

slide-28
SLIDE 28

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Preferences can contain ties and can be incomplete. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Redefine blocking pair.

A pair (a, b) ∈ E \ M blocks M if Both a and b strictly prefer each other to their current partner in M.

Does a stable matching exist? Yes!

7 / 31

slide-29
SLIDE 29

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Preferences can contain ties and can be incomplete. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Redefine blocking pair.

A pair (a, b) ∈ E \ M blocks M if Both a and b strictly prefer each other to their current partner in M.

Does a stable matching exist? Yes! M1 = {(a1, b1)} M2 = {(a1, b2), (a2, b1)}

7 / 31

slide-30
SLIDE 30

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Preferences can contain ties and can be incomplete. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Redefine blocking pair.

A pair (a, b) ∈ E \ M blocks M if Both a and b strictly prefer each other to their current partner in M.

Does a stable matching exist? Yes! M1 = {(a1, b1)} M2 = {(a1, b2), (a2, b1)} Known Facts:

7 / 31

slide-31
SLIDE 31

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Preferences can contain ties and can be incomplete. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Redefine blocking pair.

A pair (a, b) ∈ E \ M blocks M if Both a and b strictly prefer each other to their current partner in M.

Does a stable matching exist? Yes! M1 = {(a1, b1)} M2 = {(a1, b2), (a2, b1)} Known Facts: Every instance admits a stable matching; can be computed in linear time.

7 / 31

slide-32
SLIDE 32

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Preferences can contain ties and can be incomplete. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Redefine blocking pair.

A pair (a, b) ∈ E \ M blocks M if Both a and b strictly prefer each other to their current partner in M.

Does a stable matching exist? Yes! M1 = {(a1, b1)} M2 = {(a1, b2), (a2, b1)} Known Facts: Every instance admits a stable matching; can be computed in linear time. All stable matchings are of the same size need not be of same size.

7 / 31

slide-33
SLIDE 33

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Preferences can contain ties and can be incomplete. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Redefine blocking pair.

A pair (a, b) ∈ E \ M blocks M if Both a and b strictly prefer each other to their current partner in M.

Does a stable matching exist? Yes! M1 = {(a1, b1)} M2 = {(a1, b2), (a2, b1)} Known Facts: Every instance admits a stable matching; can be computed in linear time. All stable matchings are of the same size need not be of same size. A stable matching can be half the size of another stable matching.

7 / 31

slide-34
SLIDE 34

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Preferences can contain ties and can be incomplete. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Redefine blocking pair.

A pair (a, b) ∈ E \ M blocks M if Both a and b strictly prefer each other to their current partner in M.

Does a stable matching exist? Yes! M1 = {(a1, b1)} M2 = {(a1, b2), (a2, b1)} Known Facts: Every instance admits a stable matching; can be computed in linear time. All stable matchings are of the same size need not be of same size. A stable matching can be half the size of another stable matching. Question: How to compute largest size stable matching?

7 / 31

slide-35
SLIDE 35

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

8 / 31

slide-36
SLIDE 36

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices.

8 / 31

slide-37
SLIDE 37

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1

8 / 31

slide-38
SLIDE 38

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable and feasible matching exist? Not necessarily.

8 / 31

slide-39
SLIDE 39

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable and feasible matching exist? Not necessarily.

M1 = {(a1, b1)} Stable but not feasible. M1 = {(a2, b1), (a1, b2)} Feasible but not stable.

8 / 31

slide-40
SLIDE 40

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable and feasible matching exist? Not necessarily.

M1 = {(a1, b1)} Stable but not feasible. M1 = {(a2, b1), (a1, b2)} Feasible but not stable.

Known Fact:

8 / 31

slide-41
SLIDE 41

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable and feasible matching exist? Not necessarily.

M1 = {(a1, b1)} Stable but not feasible. M1 = {(a2, b1), (a1, b2)} Feasible but not stable.

Known Fact: In linear time we can check if an instance admits a feasible and stable matching.

8 / 31

slide-42
SLIDE 42

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable and feasible matching exist? Not necessarily.

M1 = {(a1, b1)} Stable but not feasible. M1 = {(a2, b1), (a1, b2)} Feasible but not stable.

Known Fact: In linear time we can check if an instance admits a feasible and stable matching. Question: How to compute optimal feasible matching?

8 / 31

slide-43
SLIDE 43

Stability, Popularity, and Lower Quotas

Classical Model: Strict and Complete lists

9 / 31

slide-44
SLIDE 44

Stability, Popularity, and Lower Quotas

Computing a stable matching

Gale and Shapley 1962

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2

10 / 31

slide-45
SLIDE 45

Stability, Popularity, and Lower Quotas

Computing a stable matching

Gale and Shapley 1962

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 Gale and Shapley Algo. Men propose. Women accept / reject.

10 / 31

slide-46
SLIDE 46

Stability, Popularity, and Lower Quotas

Computing a stable matching

Gale and Shapley 1962

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 Gale and Shapley Algo. Men propose. Women accept / reject. a1 → b1

10 / 31

slide-47
SLIDE 47

Stability, Popularity, and Lower Quotas

Computing a stable matching

Gale and Shapley 1962

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 Gale and Shapley Algo. Men propose. Women accept / reject. a1 → b1 accept.

10 / 31

slide-48
SLIDE 48

Stability, Popularity, and Lower Quotas

Computing a stable matching

Gale and Shapley 1962

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 Gale and Shapley Algo. Men propose. Women accept / reject. a1 → b1 accept. a2 → b1

10 / 31

slide-49
SLIDE 49

Stability, Popularity, and Lower Quotas

Computing a stable matching

Gale and Shapley 1962

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 Gale and Shapley Algo. Men propose. Women accept / reject. a1 → b1 accept. a2 → b1 reject.

10 / 31

slide-50
SLIDE 50

Stability, Popularity, and Lower Quotas

Computing a stable matching

Gale and Shapley 1962

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 Gale and Shapley Algo. Men propose. Women accept / reject. a1 → b1 accept. a2 → b1 reject. a2 → b2 accept.

10 / 31

slide-51
SLIDE 51

Stability, Popularity, and Lower Quotas

Computing a stable matching

Gale and Shapley 1962

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 Gale and Shapley Algo. Men propose. Women accept / reject. a1 → b1 accept. a2 → b1 reject. a2 → b2 accept.

10 / 31

slide-52
SLIDE 52

Stability, Popularity, and Lower Quotas

Computing a stable matching

Gale and Shapley 1962

a1: b1 b2 a2: b1 b2 b1: a1 a2 b2: a1 a2 Gale and Shapley Algo. Men propose. Women accept / reject. a1 → b1 accept. a2 → b1 reject. a2 → b2 accept. Ms = {(a1, b1), (a2, b2)}. Order of proposals does not matter. The side which proposes does matter.

10 / 31

slide-53
SLIDE 53

Stability, Popularity, and Lower Quotas

Models : Recap

Model Details Goal Classical setting strict and complete list Compute a stable match- ing

  • Variation #1

strict and in- complete list Compute a larger optimal matching Variation #2 strict and tied list Compute a largest stable matching Variation #3 strict and in- complete list; lower quotas Compute a feasible

  • pti-

mal matching

11 / 31

slide-54
SLIDE 54

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

12 / 31

slide-55
SLIDE 55

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Assume ties only on B side. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1

13 / 31

slide-56
SLIDE 56

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Assume ties only on B side. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Recall: Multiple stable matchings of different sizes.

13 / 31

slide-57
SLIDE 57

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Assume ties only on B side. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Recall: Multiple stable matchings of different sizes. M1 = {(a1, b1)} M2 = {(a1, b2), (a2, b1)} Compute largest size stable matching

13 / 31

slide-58
SLIDE 58

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Assume ties only on B side. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Recall: Multiple stable matchings of different sizes. M1 = {(a1, b1)} M2 = {(a1, b2), (a2, b1)} Compute largest size stable matching NP-hard even for restricted setting.

13 / 31

slide-59
SLIDE 59

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Assume ties only on B side. a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1 Recall: Multiple stable matchings of different sizes. M1 = {(a1, b1)} M2 = {(a1, b2), (a2, b1)} Compute largest size stable matching NP-hard even for restricted setting. Naive method: Break ties arbitrarily. Run GS algo.

13 / 31

slide-60
SLIDE 60

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Assume ties only on B side.

0.5 Irving and Manlove (2007) Kiraly (2011) Halldorsson et al. (2003) Iwama et al. (1999) Folklore 0.6 0.666 0.9 1

14 / 31

slide-61
SLIDE 61

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

Assume ties only on B side. Kir´ aly’s Algorithm Break ties arbitrarily. Execute GS algo. Unmatched A’s propose again with increased priority.

15 / 31

slide-62
SLIDE 62

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

Assume ties only on B side. Kir´ aly’s Algorithm Break ties arbitrarily. Execute GS algo. Unmatched A’s propose again with increased priority.

b uses increased priority for breaking ties.

15 / 31

slide-63
SLIDE 63

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

Assume ties only on B side. Kir´ aly’s Algorithm Break ties arbitrarily. Execute GS algo. Unmatched A’s propose again with increased priority.

b uses increased priority for breaking ties. Stability is not violated.

15 / 31

slide-64
SLIDE 64

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: (a1 a2) b2: a1

16 / 31

slide-65
SLIDE 65

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Kir´ aly’s Algo. Break ties arbitrarily. Run GS algo. Unmatched As propose with increased priority.

16 / 31

slide-66
SLIDE 66

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Kir´ aly’s Algo. Break ties arbitrarily. Run GS algo. Unmatched As propose with increased priority. a1 → b1

16 / 31

slide-67
SLIDE 67

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Kir´ aly’s Algo. Break ties arbitrarily. Run GS algo. Unmatched As propose with increased priority. a1 → b1 accept.

16 / 31

slide-68
SLIDE 68

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Kir´ aly’s Algo. Break ties arbitrarily. Run GS algo. Unmatched As propose with increased priority. a1 → b1 accept. a2 → b1

16 / 31

slide-69
SLIDE 69

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Kir´ aly’s Algo. Break ties arbitrarily. Run GS algo. Unmatched As propose with increased priority. a1 → b1 accept. a2 → b1 reject.

16 / 31

slide-70
SLIDE 70

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Kir´ aly’s Algo. Break ties arbitrarily. Run GS algo. Unmatched As propose with increased priority. a1 → b1 accept. a2 → b1 reject. a∗

2 → b1 accept; recall ties originally.

16 / 31

slide-71
SLIDE 71

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Kir´ aly’s Algo. Break ties arbitrarily. Run GS algo. Unmatched As propose with increased priority. a1 → b1 accept. a2 → b1 reject. a∗

2 → b1 accept; recall ties originally.

16 / 31

slide-72
SLIDE 72

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Kir´ aly’s Algo. Break ties arbitrarily. Run GS algo. Unmatched As propose with increased priority. a1 → b1 accept. a2 → b1 reject. a∗

2 → b1 accept; recall ties originally.

a1 → b2 accept.

16 / 31

slide-73
SLIDE 73

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Kir´ aly’s Algo. Break ties arbitrarily. Run GS algo. Unmatched As propose with increased priority. a1 → b1 accept. a2 → b1 reject. a∗

2 → b1 accept; recall ties originally.

a1 → b2 accept. M = {(a1, b2), (a2, b1)}.

16 / 31

slide-74
SLIDE 74

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Kir´ aly’s Algo. Break ties arbitrarily. Run GS algo. Unmatched As propose with increased priority. a1 → b1 accept. a2 → b1 reject. a∗

2 → b1 accept; recall ties originally.

a1 → b2 accept. M = {(a1, b2), (a2, b1)}. Goal: Argue about the size of the matching.

16 / 31

slide-75
SLIDE 75

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Kir´ aly 2011

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Kir´ aly’s Algo. Break ties arbitrarily. Run GS algo. Unmatched As propose with increased priority. a1 → b1 accept. a2 → b1 reject. a∗

2 → b1 accept; recall ties originally.

a1 → b2 accept. M = {(a1, b2), (a2, b1)}. Goal: Argue about the size of the matching. Show no short aug. paths.

16 / 31

slide-76
SLIDE 76

Stability, Popularity, and Lower Quotas

Matchings and aug. paths: a detour

17 / 31

slide-77
SLIDE 77

Stability, Popularity, and Lower Quotas

Matchings and aug. paths: a detour

Is this the largest sized matching?

17 / 31

slide-78
SLIDE 78

Stability, Popularity, and Lower Quotas

Matchings and aug. paths: a detour

Is this the largest sized matching? a2, b1, a3, b5 – alternating path with both end points free.

17 / 31

slide-79
SLIDE 79

Stability, Popularity, and Lower Quotas

Matchings and aug. paths: a detour

Is this the largest sized matching? a2, b1, a3, b5 – alternating path with both end points free.

  • Aug. paths: odd number of

edges (1, 3, 5, ..., 2k+1)

17 / 31

slide-80
SLIDE 80

Stability, Popularity, and Lower Quotas

Matchings and aug. paths: a detour

Is this the largest sized matching? a2, b1, a3, b5 – alternating path with both end points free.

  • Aug. paths: odd number of

edges (1, 3, 5, ..., 2k+1) No one length aug. path → maximal

17 / 31

slide-81
SLIDE 81

Stability, Popularity, and Lower Quotas

Matchings and aug. paths: a detour

Is this the largest sized matching? a2, b1, a3, b5 – alternating path with both end points free.

  • Aug. paths: odd number of

edges (1, 3, 5, ..., 2k+1) No one length aug. path → maximal No short aug. path, closer to

  • max. matching.

Matching M′ without 1 and 3 length aug. paths.

17 / 31

slide-82
SLIDE 82

Stability, Popularity, and Lower Quotas

Matchings and aug. paths: a detour

Is this the largest sized matching? a2, b1, a3, b5 – alternating path with both end points free.

  • Aug. paths: odd number of

edges (1, 3, 5, ..., 2k+1) No one length aug. path → maximal No short aug. path, closer to

  • max. matching.

Matching M′ without 1 and 3 length aug. paths. |M′| ≥ 2

3|M∗|.

17 / 31

slide-83
SLIDE 83

Stability, Popularity, and Lower Quotas

Back to Kir´ aly’s algorithm

18 / 31

slide-84
SLIDE 84

Stability, Popularity, and Lower Quotas

Recall Kir´ aly’s algorithm

Break ties arbitrarily. Execute GS algo. Unmatched A’s propose again with increased priority.

19 / 31

slide-85
SLIDE 85

Stability, Popularity, and Lower Quotas

Recall Kir´ aly’s algorithm

Break ties arbitrarily. Execute GS algo. Unmatched A’s propose again with increased priority.

b uses increased priority for breaking ties.

19 / 31

slide-86
SLIDE 86

Stability, Popularity, and Lower Quotas

Recall Kir´ aly’s algorithm

Break ties arbitrarily. Execute GS algo. Unmatched A’s propose again with increased priority.

b uses increased priority for breaking ties. Stability is not violated.

19 / 31

slide-87
SLIDE 87

Stability, Popularity, and Lower Quotas

Recall Kir´ aly’s algorithm

Break ties arbitrarily. Execute GS algo. Unmatched A’s propose again with increased priority.

b uses increased priority for breaking ties. Stability is not violated.

Need to argue about the size of the output.

19 / 31

slide-88
SLIDE 88

Stability, Popularity, and Lower Quotas

Recall Kir´ aly’s algorithm

Break ties arbitrarily. Execute GS algo. Unmatched A’s propose again with increased priority.

b uses increased priority for breaking ties. Stability is not violated.

Need to argue about the size of the output. Show that there are no short (1 and 3 length) aug. paths.

19 / 31

slide-89
SLIDE 89

Stability, Popularity, and Lower Quotas

Recall Kir´ aly’s algorithm

Break ties arbitrarily. Execute GS algo. Unmatched A’s propose again with increased priority.

b uses increased priority for breaking ties. Stability is not violated.

Need to argue about the size of the output. Show that there are no short (1 and 3 length) aug. paths. Some observations:

19 / 31

slide-90
SLIDE 90

Stability, Popularity, and Lower Quotas

Recall Kir´ aly’s algorithm

Break ties arbitrarily. Execute GS algo. Unmatched A’s propose again with increased priority.

b uses increased priority for breaking ties. Stability is not violated.

Need to argue about the size of the output. Show that there are no short (1 and 3 length) aug. paths. Some observations: If a woman b is unmatched at the end of algo., she never got a proposal.

19 / 31

slide-91
SLIDE 91

Stability, Popularity, and Lower Quotas

Recall Kir´ aly’s algorithm

Break ties arbitrarily. Execute GS algo. Unmatched A’s propose again with increased priority.

b uses increased priority for breaking ties. Stability is not violated.

Need to argue about the size of the output. Show that there are no short (1 and 3 length) aug. paths. Some observations: If a woman b is unmatched at the end of algo., she never got a proposal. If a man a is unmatched at the end of algo., he got increased priority.

19 / 31

slide-92
SLIDE 92

Stability, Popularity, and Lower Quotas

Output of Kir´ aly’s algorithm

Suppose there exists a 3 length aug. path w.r.t. Malgo.

20 / 31

slide-93
SLIDE 93

Stability, Popularity, and Lower Quotas

Output of Kir´ aly’s algorithm

Suppose there exists a 3 length aug. path w.r.t. Malgo. a2 never proposed to b2 (∵ b2 is unmatched after algo) → a2 did not get increased priority.

20 / 31

slide-94
SLIDE 94

Stability, Popularity, and Lower Quotas

Output of Kir´ aly’s algorithm

Suppose there exists a 3 length aug. path w.r.t. Malgo. a2 never proposed to b2 (∵ b2 is unmatched after algo) → a2 did not get increased priority. → a2 strictly prefers b1 over b2.

20 / 31

slide-95
SLIDE 95

Stability, Popularity, and Lower Quotas

Output of Kir´ aly’s algorithm

Suppose there exists a 3 length aug. path w.r.t. Malgo. a2 never proposed to b2 (∵ b2 is unmatched after algo) → a2 did not get increased priority. → a2 strictly prefers b1 over b2. a1 is unmatched at the end of algo. → a1 must have got high priority.

20 / 31

slide-96
SLIDE 96

Stability, Popularity, and Lower Quotas

Output of Kir´ aly’s algorithm

Suppose there exists a 3 length aug. path w.r.t. Malgo. a2 never proposed to b2 (∵ b2 is unmatched after algo) → a2 did not get increased priority. → a2 strictly prefers b1 over b2. a1 is unmatched at the end of algo. → a1 must have got high priority. → b1 strictly prefers a2 over a1.

20 / 31

slide-97
SLIDE 97

Stability, Popularity, and Lower Quotas

Output of Kir´ aly’s algorithm

Suppose there exists a 3 length aug. path w.r.t. Malgo. a2 never proposed to b2 (∵ b2 is unmatched after algo) → a2 did not get increased priority. → a2 strictly prefers b1 over b2. a1 is unmatched at the end of algo. → a1 must have got high priority. → b1 strictly prefers a2 over a1. (a2, b1) is a blocking pair w.r.t. M∗.

20 / 31

slide-98
SLIDE 98

Stability, Popularity, and Lower Quotas

Output of Kir´ aly’s algorithm

Suppose there exists a 3 length aug. path w.r.t. Malgo. a2 never proposed to b2 (∵ b2 is unmatched after algo) → a2 did not get increased priority. → a2 strictly prefers b1 over b2. a1 is unmatched at the end of algo. → a1 must have got high priority. → b1 strictly prefers a2 over a1. (a2, b1) is a blocking pair w.r.t. M∗. contradicts stability of M∗. There are no 3 length aug. paths w.r.t. Malgo. Thus, |Malgo| ≥ 2

3|M∗|.

20 / 31

slide-99
SLIDE 99

Stability, Popularity, and Lower Quotas

Variation #2: Incomplete Lists and Ties

Assume ties only on B side.

0.5 Irving and Manlove (2007) Kiraly (2011) Halldorsson et al. (2003) Iwama et al. (1999) Folklore 0.6 0.666 0.9 1

Main takeaways A simple extension of GS algo. Extension to capacitated case (hospital residents). Extension to case of ties on both sides.

21 / 31

slide-100
SLIDE 100

Stability, Popularity, and Lower Quotas

Models : Recap

Model Details Goal Classical setting strict and complete list Compute a stable match- ing

  • Variation #1

strict and in- complete list Compute a larger optimal matching Variation #2 strict and tied list Compute a largest stable matching

  • Variation #3

strict and in- complete list; lower quotas Compute a feasible

  • pti-

mal matching

22 / 31

slide-101
SLIDE 101

Stability, Popularity, and Lower Quotas

Variation #1 & Variation #3

23 / 31

slide-102
SLIDE 102

Stability, Popularity, and Lower Quotas

Popularity – an alternative to stability

G¨ ardenfors 1975

Compare two matchings by votes of participants.

24 / 31

slide-103
SLIDE 103

Stability, Popularity, and Lower Quotas

Popularity – an alternative to stability

G¨ ardenfors 1975

Compare two matchings by votes of participants. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Ms = {(a1, b1)} M = {(a2, b1)}

24 / 31

slide-104
SLIDE 104

Stability, Popularity, and Lower Quotas

Popularity – an alternative to stability

G¨ ardenfors 1975

Compare two matchings by votes of participants. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Ms = {(a1, b1)} M = {(a2, b1)} Ms M a1

  • a2
  • b1
  • 24 / 31
slide-105
SLIDE 105

Stability, Popularity, and Lower Quotas

Popularity – an alternative to stability

G¨ ardenfors 1975

Compare two matchings by votes of participants. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Ms = {(a1, b1)} M = {(a2, b1)} Ms M a1

  • a2
  • b1
  • Ms beats M w.r.t. popularity.

Popular Matching: One which cannot be beaten!

24 / 31

slide-106
SLIDE 106

Stability, Popularity, and Lower Quotas

Popularity – an alternative to stability

G¨ ardenfors 1975

Compare two matchings by votes of participants. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Ms = {(a1, b1)} M = {(a2, b1)} Ms M a1

  • a2
  • b1
  • Ms beats M w.r.t. popularity.

Popular Matching: One which cannot be beaten! Q: Does a popular matching exist?

24 / 31

slide-107
SLIDE 107

Stability, Popularity, and Lower Quotas

Popularity – an alternative to stability

G¨ ardenfors 1975

Compare two matchings by votes of participants. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Ms = {(a1, b1)} M′ = {(a1, b2), (a2, b1)}

25 / 31

slide-108
SLIDE 108

Stability, Popularity, and Lower Quotas

Popularity – an alternative to stability

G¨ ardenfors 1975

Compare two matchings by votes of participants. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Ms = {(a1, b1)} M′ = {(a1, b2), (a2, b1)} Ms M a1

  • a2
  • b1
  • b2
  • 25 / 31
slide-109
SLIDE 109

Stability, Popularity, and Lower Quotas

Popularity – an alternative to stability

G¨ ardenfors 1975

Compare two matchings by votes of participants. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Ms = {(a1, b1)} M′ = {(a1, b2), (a2, b1)} Ms M a1

  • a2
  • b1
  • b2
  • Neither one beats each other.

25 / 31

slide-110
SLIDE 110

Stability, Popularity, and Lower Quotas

Popularity – an alternative to stability

G¨ ardenfors 1975

Compare two matchings by votes of participants. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Ms = {(a1, b1)} M′ = {(a1, b2), (a2, b1)} Ms M a1

  • a2
  • b1
  • b2
  • Neither one beats each other.

Does not prove popularity.

25 / 31

slide-111
SLIDE 111

Stability, Popularity, and Lower Quotas

Popularity – an alternative to stability

G¨ ardenfors 1975

Compare two matchings by votes of participants. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Ms = {(a1, b1)} M′ = {(a1, b2), (a2, b1)} Ms M a1

  • a2
  • b1
  • b2
  • Neither one beats each other.

Does not prove popularity. Q: Does a popular matching exist?

25 / 31

slide-112
SLIDE 112

Stability, Popularity, and Lower Quotas

Popularity – an alternative to stability

G¨ ardenfors 1975

Compare two matchings by votes of participants. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Ms = {(a1, b1)} M′ = {(a1, b2), (a2, b1)} Ms M a1

  • a2
  • b1
  • b2
  • Neither one beats each other.

Does not prove popularity. Q: Does a popular matching exist? Yes! A stable matching is popular.

25 / 31

slide-113
SLIDE 113

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Preferences are strict and can be incomplete. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable matching exist? Yes! M = {(a1, b1)}. Question: Are there larger optimal matchings?

26 / 31

slide-114
SLIDE 114

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Preferences are strict and can be incomplete. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable matching exist? Yes! M = {(a1, b1)}. Question: Are there larger optimal matchings? Yes! M′ = {(a1, b2), (a2, b1)} is popular.

26 / 31

slide-115
SLIDE 115

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Kavitha 2012

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute Largest sized Popular matching.

27 / 31

slide-116
SLIDE 116

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Kavitha 2012

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute Largest sized Popular matching. Run GS algo. Unmatched A’s propose with increased priority.

27 / 31

slide-117
SLIDE 117

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Kavitha 2012

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute Largest sized Popular matching. Run GS algo. Unmatched A’s propose with increased priority. Stability may be violated.

27 / 31

slide-118
SLIDE 118

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Kavitha 2012

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute Largest sized Popular matching. Run GS algo. Unmatched A’s propose with increased priority. Stability may be violated. Guarantees on output :

Malgo is max. sized popular. |Malgo| ≥ |Ms| and |Malgo| ≥ 2

3 |M∗|.

Linear time algo.

27 / 31

slide-119
SLIDE 119

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Kavitha 2012

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute Largest sized Popular matching. Run GS algo. Unmatched A’s propose with increased priority. Stability may be violated. Guarantees on output :

Malgo is max. sized popular. |Malgo| ≥ |Ms| and |Malgo| ≥ 2

3 |M∗|.

Linear time algo.

Goal: Compute a max. card. matching that is popular.

27 / 31

slide-120
SLIDE 120

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Kavitha 2012

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute Largest sized Popular matching. Run GS algo. Unmatched A’s propose with increased priority. Stability may be violated. Guarantees on output :

Malgo is max. sized popular. |Malgo| ≥ |Ms| and |Malgo| ≥ 2

3 |M∗|.

Linear time algo.

Goal: Compute a max. card. matching that is popular. Run GS algo. Unmatched A’s propose with increased priority n times.

27 / 31

slide-121
SLIDE 121

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Kavitha 2012

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute Largest sized Popular matching. Run GS algo. Unmatched A’s propose with increased priority. Stability may be violated. Guarantees on output :

Malgo is max. sized popular. |Malgo| ≥ |Ms| and |Malgo| ≥ 2

3 |M∗|.

Linear time algo.

Goal: Compute a max. card. matching that is popular. Run GS algo. Unmatched A’s propose with increased priority n times. Stability may be violated.

27 / 31

slide-122
SLIDE 122

Stability, Popularity, and Lower Quotas

Variation #1: Incomplete Lists

Kavitha 2012

a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute Largest sized Popular matching. Run GS algo. Unmatched A’s propose with increased priority. Stability may be violated. Guarantees on output :

Malgo is max. sized popular. |Malgo| ≥ |Ms| and |Malgo| ≥ 2

3 |M∗|.

Linear time algo.

Goal: Compute a max. card. matching that is popular. Run GS algo. Unmatched A’s propose with increased priority n times. Stability may be violated. Guarantees on output :

Malgo is max. cardinality matching. Malgo is popular amongst max. card. matchings. Running time: O(nm).

27 / 31

slide-123
SLIDE 123

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable and feasible matching exist? Not necessarily. Question: How to compute optimal feasible matching?

28 / 31

slide-124
SLIDE 124

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Does a stable and feasible matching exist? Not necessarily. Question: How to compute optimal feasible matching? Yes! M′ = {(a2, b1), (a1, b2)} Feasible, not stable, but popular.

28 / 31

slide-125
SLIDE 125

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

N., Nimbhorkar 2017

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute a feasible matching that is popular.

29 / 31

slide-126
SLIDE 126

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

N., Nimbhorkar 2017

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute a feasible matching that is popular. Run GS algo. Unmatched A’s propose with increased priority. Deficient A’s propose as long as they are deficient.

29 / 31

slide-127
SLIDE 127

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

N., Nimbhorkar 2017

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute a feasible matching that is popular. Run GS algo. Unmatched A’s propose with increased priority. Deficient A’s propose as long as they are deficient. Stability will be violated.

29 / 31

slide-128
SLIDE 128

Stability, Popularity, and Lower Quotas

Variation #3: Lower Quotas

N., Nimbhorkar 2017

Preferences are strict and can be incomplete. Some vertices must be matched – lower quota vertices. a1: b1 b2 a2: b1 b1: a1 a2 b2: a1 Goal: Compute a feasible matching that is popular. Run GS algo. Unmatched A’s propose with increased priority. Deficient A’s propose as long as they are deficient. Stability will be violated. Guarantees on output :

Malgo is feasible. Malgo is max. sized popular. amongst feasible matchings. Running time: O(nm).

29 / 31

slide-129
SLIDE 129

Stability, Popularity, and Lower Quotas

Models : Summary

Model Details Goal Classical setting strict and complete list Compute a stable match- ing

  • Variation #1

strict and in- complete list Compute a larger optimal matching

  • Variation #2

strict and tied list Compute a largest stable matching

  • Variation #3

strict and in- complete list; lower quotas Compute a feasible

  • pti-

mal matching

  • 30 / 31
slide-130
SLIDE 130

Stability, Popularity, and Lower Quotas

To summarize..

A simple extension of GS algo. Each case requires different proof techniques and several non-trivial details. All algorithms can be written as a reduction to a suitable SM instance. Works in the presence of capacities (upper quotas).

31 / 31

slide-131
SLIDE 131

Stability, Popularity, and Lower Quotas

To summarize..

A simple extension of GS algo. Each case requires different proof techniques and several non-trivial details. All algorithms can be written as a reduction to a suitable SM instance. Works in the presence of capacities (upper quotas).

31 / 31

slide-132
SLIDE 132

Stability, Popularity, and Lower Quotas

To summarize..

A simple extension of GS algo. Each case requires different proof techniques and several non-trivial details. All algorithms can be written as a reduction to a suitable SM instance. Works in the presence of capacities (upper quotas). Thank You!

31 / 31