Pairwise preferences in the stable marriage problem gnes Cseh 1 - - PowerPoint PPT Presentation

pairwise preferences in the stable marriage problem
SMART_READER_LITE
LIVE PREVIEW

Pairwise preferences in the stable marriage problem gnes Cseh 1 - - PowerPoint PPT Presentation

Stable matchings Indifference Generalized preferences Complexity results Algorithm Pairwise preferences in the stable marriage problem gnes Cseh 1 Attila Juhos 2 1 Hungarian Academy of Sciences 2 Budapest University of Technology and


slide-1
SLIDE 1

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Pairwise preferences in the stable marriage problem

Ágnes Cseh1 Attila Juhos2

1Hungarian Academy of Sciences 2Budapest University of Technology and Economics

Aussois, 10 January 2018 Accepted to STACS’19

slide-2
SLIDE 2

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Stable matchings

slide-3
SLIDE 3

Stable matchings Indifference Generalized preferences Complexity results Algorithm

slide-4
SLIDE 4

Stable matchings Indifference Generalized preferences Complexity results Algorithm

slide-5
SLIDE 5

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 3 1 2 3 2 3 2 1 1 4 2 2 1 1 3 2 1 3 4 2 3 1

slide-6
SLIDE 6

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 3 1 2 3 2 3 2 1 1 4 2 2 1 1 3 2 1 3 4 2 3 1

slide-7
SLIDE 7

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 3 1 2 3 2 3 2 1 1 4 2 2 1 1 3 2 1 3 4 2 3 1

Definition Edge mw is blocking if

slide-8
SLIDE 8

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 3 1 2 3 2 3 2 1 1 4 2 2 1 1 3 2 1 3 4 2 3 1

Definition Edge mw is blocking if it is not in the matching and

slide-9
SLIDE 9

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 3 1 2 3 2 3 2 1 1 4 2 2 1 1 3 2 1 3 4 2 3 1

Definition Edge mw is blocking if it is not in the matching and m prefers w to his wife or he is single and

slide-10
SLIDE 10

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 3 1 2 3 2 3 2 1 1 4 2 2 1 1 3 2 1 3 4 2 3 1

Definition Edge mw is blocking if it is not in the matching and m prefers w to his wife or he is single and w prefers m to her husband or she is single.

slide-11
SLIDE 11

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 3 1 2 3 2 3 2 1 1 4 2 2 1 1 3 2 1 3 4 2 3 1

Definition Edge mw is blocking if it is not in the matching and m prefers w to his wife or he is single and w prefers m to her husband or she is single. Theorem (Gale, Shapley 1962) A stable matching always exists.

slide-12
SLIDE 12

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 3 1 2 3 2 3 2 1 1 4 2 2 1 1 2 2 1 3 4 2 3 1

Definition Edge mw is blocking if it is not in the matching and m prefers w to his wife or he is single and w prefers m to her husband or she is single.

slide-13
SLIDE 13

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 3 1 2 3 2 3 2 1 1 4 2 2 1 1 2 2 1 3 4 2 3 1

Definition Edge mw is blocking if it is not in the matching and m prefers w to his wife or he is single and w prefers m to her husband or she is single.

slide-14
SLIDE 14

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 2 3 2 3 1 4 2 2 1 1 2 2 1 3 4 2 3 1

Definition Edge mw is blocking if it is not in the matching and m prefers w to his wife or he is single and w prefers m to her husband or she is single.

slide-15
SLIDE 15

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 2 3 2 3 1 4 2 2 1 1 2 2 1 3 4 2 3 1

Definition Edge mw is blocking if it is not in the matching and m prefers w to his wife or he is single and w prefers m to her husband or she is single.

slide-16
SLIDE 16

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 2 3 2 3 1 4 2 2 1 1 2 2 1 3 4 2

Definition Edge mw is blocking if it is not in the matching and m prefers w to his wife or he is single and w prefers m to her husband or she is single.

slide-17
SLIDE 17

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 2 3 2 3 1 4 2 2 1 1 2 2 1 3 4 2

Definition Edge mw is blocking if it is not in the matching and m prefers w to his wife or he is single and w prefers m to her husband or she is single.

slide-18
SLIDE 18

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 2 3 2 3 1 4 2 2 1 1 2 2 1 3 4 2

Definition Edge mw is blocking if it is not in the matching and m prefers w to his wife or he is single and w prefers m to her husband or she is single.

slide-19
SLIDE 19

Stable matchings Indifference Generalized preferences Complexity results Algorithm

1 2 3 1 2 3 2 3 2 1 1 4 2 2 1 1 2 2 1 3 4 2 3 1

Definition Edge mw is blocking if it is not in the matching and m prefers w to his wife or he is single and w prefers m to her husband or she is single.

slide-20
SLIDE 20

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Motivation for allowing ties

requiring strict lists is often unnatural

slide-21
SLIDE 21

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Motivation for allowing ties

requiring strict lists is often unnatural college admission systems (Hungary, Chile)

slide-22
SLIDE 22

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Motivation for allowing ties

requiring strict lists is often unnatural college admission systems (Hungary, Chile) hospital-resident matching programs (NRMP, SFAS)

slide-23
SLIDE 23

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Motivation for allowing ties

requiring strict lists is often unnatural college admission systems (Hungary, Chile) hospital-resident matching programs (NRMP, SFAS) Preference lists with ties [Irving, ’94] → indifference or incomparability between acceptable partners

slide-24
SLIDE 24

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Motivation for allowing ties

requiring strict lists is often unnatural college admission systems (Hungary, Chile) hospital-resident matching programs (NRMP, SFAS) Preference lists with ties [Irving, ’94] → indifference or incomparability between acceptable partners

m w1 w2 w3 w4

1 1 2 2

m w1 w2 w3 w4

slide-25
SLIDE 25

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Indifference

slide-26
SLIDE 26

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Definition

Question How to define stability if we have ties?

slide-27
SLIDE 27

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Definition

Question How to define stability if we have ties?

m w

blocking edge wrt WEAK stability

slide-28
SLIDE 28

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Definition

Question How to define stability if we have ties?

m w

blocking edge wrt WEAK stability

m w

blocking edge wrt STRONG stability

slide-29
SLIDE 29

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Definition

Question How to define stability if we have ties?

m w

blocking edge wrt WEAK stability

m w

blocking edge wrt STRONG stability

m w

blocking edge wrt SUPER-stability

slide-30
SLIDE 30

Stable matchings Indifference Generalized preferences Complexity results Algorithm

m1 m2 m3 m4 w1 w2 w3 w4

2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 3 2 2 3 1 1

Initial instance.

slide-31
SLIDE 31

Stable matchings Indifference Generalized preferences Complexity results Algorithm

m1 m2 m3 m4 w1 w2 w3 w4

2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 3 2 2 3 1 1

Random matching.

slide-32
SLIDE 32

Stable matchings Indifference Generalized preferences Complexity results Algorithm

m1 m2 m3 m4 w1 w2 w3 w4

2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 3 2 2 3 1 1

Not weakly stable!

slide-33
SLIDE 33

Stable matchings Indifference Generalized preferences Complexity results Algorithm

m1 m2 m3 m4 w1 w2 w3 w4

2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 3 2 2 3 1 1

Weakly stable matching?

slide-34
SLIDE 34

Stable matchings Indifference Generalized preferences Complexity results Algorithm

m1 m2 m3 m4 w1 w2 w3 w4

2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 3 2 2 3 1 1

Not strongly stable!

slide-35
SLIDE 35

Stable matchings Indifference Generalized preferences Complexity results Algorithm

m1 m2 m3 m4 w1 w2 w3 w4

2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 3 2 2 3 1 1

Strongly stable matching.

slide-36
SLIDE 36

Stable matchings Indifference Generalized preferences Complexity results Algorithm

m1 m2 m3 m4 w1 w2 w3 w4

2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 3 2 2 3 1 1

Not super stable!

slide-37
SLIDE 37

Stable matchings Indifference Generalized preferences Complexity results Algorithm

m1 m2 m3 m4 w1 w2 w3 w4

2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 3 2 2 3 1 1

Super stable matching.

slide-38
SLIDE 38

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Existence

Weakly stable matchings always exist. [Irving’94] Strongly and super stable matchings do not. [Irving’94]

slide-39
SLIDE 39

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Existence

Weakly stable matchings always exist. [Irving’94] Strongly and super stable matchings do not. [Irving’94]

slide-40
SLIDE 40

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Generalized preferences

slide-41
SLIDE 41

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Partially ordered sets

strict → ties → posets [Irving ’94, Manlove ’02]

Definition Poset: (reflexive) asymmetric transitive ⇓ acyclic

slide-42
SLIDE 42

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Partially ordered sets

strict → ties → posets [Irving ’94, Manlove ’02]

Sponsor Player 1 Player 2 Player 3 Definition Poset: (reflexive) asymmetric transitive ⇓ acyclic

slide-43
SLIDE 43

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Partially ordered sets

strict → ties → posets [Irving ’94, Manlove ’02]

Sponsor Player 1 Player 2 Player 3

?

Definition Poset: (reflexive) asymmetric transitive ⇓ acyclic

slide-44
SLIDE 44

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Partially ordered sets

strict → ties → posets [Irving ’94, Manlove ’02]

Sponsor Player 1 Player 2 Player 3 Definition Poset: (reflexive) asymmetric transitive ⇓ acyclic

slide-45
SLIDE 45

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Acyclic pairwise preferences

Question Is transitivity of preferences a must?

slide-46
SLIDE 46

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Acyclic pairwise preferences

Question Is transitivity of preferences a must? choice situations under risk → intransitive choices using MRI scanners, neuroscientists could prove systematic and predictable intransitive choices in individuals strict → ties → posets → acyclic lists

slide-47
SLIDE 47

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Asymmetric pairwise preferences

Question How about allowing cycles?

slide-48
SLIDE 48

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Asymmetric pairwise preferences

Question How about allowing cycles? e.g. cyclic preferences naturally occur in multi-attribute comparisons

slide-49
SLIDE 49

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Asymmetric pairwise preferences

Question How about allowing cycles? e.g. cyclic preferences naturally occur in multi-attribute comparisons

Sponsor Player 1 Player 2 Player 3

slide-50
SLIDE 50

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Asymmetric pairwise preferences

Question How about allowing cycles? e.g. cyclic preferences naturally occur in multi-attribute comparisons

Sponsor Player 1 Player 2 Player 3

strict → ties → posets → acyclic lists → asymmetric lists

slide-51
SLIDE 51

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Arbitrary pairwise preferences

We could even allow 2-cycles → i.e. preference in both directions.

slide-52
SLIDE 52

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Arbitrary pairwise preferences

We could even allow 2-cycles → i.e. preference in both directions.

Sponsor Player 1 Player 2 Player 3

slide-53
SLIDE 53

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Arbitrary pairwise preferences

We could even allow 2-cycles → i.e. preference in both directions.

Sponsor Player 1 Player 2 Player 3

strict → ties → posets → acyclic lists → asymmetric lists → arbitrary lists So we have a bunch of different preference structures and a bunch of different stability definitions...

slide-54
SLIDE 54

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Number of cases

6 stages of entropy in preferences.

strict ties poset acyclic asymmetric arbitrary

We apply for both sides of a SM-instance a stage. ⇒ 21 cases. weak strong super    3 types of stability ⇒ 63 cases to consider

slide-55
SLIDE 55

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Complexity results

slide-56
SLIDE 56

Stable matchings Indifference Generalized preferences Complexity results Algorithm

WEAK strict ties poset acyclic asymmetric or arbitrary strict O(m) [3] O(m) [4] O(m) [8] ties O(m) [4] O(m) [8] poset O(m) [8] acyclic asymmetric or arbitrary NP [1]

slide-57
SLIDE 57

Stable matchings Indifference Generalized preferences Complexity results Algorithm

WEAK strict ties poset acyclic asymmetric or arbitrary strict O(m) [3] O(m) [4] O(m) [8] O(m) NP ties O(m) [4] O(m) [8] O(m) NP poset O(m) [8] O(m) NP acyclic O(m) NP asymmetric or arbitrary NP [1]

slide-58
SLIDE 58

Stable matchings Indifference Generalized preferences Complexity results Algorithm

WEAK strict ties poset acyclic asymmetric or arbitrary strict O(m) [3] O(m) [4] O(m) [8] O(m) NP ties O(m) [4] O(m) [8] O(m) NP poset O(m) [8] O(m) NP acyclic O(m) NP asymmetric or arbitrary NP [1]

STRONG strict ties poset acyclic asymmetric arbitrary strict O(m) [3] O(nm) [4, 7] pol [2] pol [2] pol [2] NP [2] ties O(nm) [4, 7] NP [2] poset NP [6] NP [6] NP [6] NP [6] acyclic NP [6] NP [6] NP [6] asymmetric NP [6] NP [6] arbitrary NP [6]

slide-59
SLIDE 59

Stable matchings Indifference Generalized preferences Complexity results Algorithm

WEAK strict ties poset acyclic asymmetric or arbitrary strict O(m) [3] O(m) [4] O(m) [8] O(m) NP ties O(m) [4] O(m) [8] O(m) NP poset O(m) [8] O(m) NP acyclic O(m) NP asymmetric or arbitrary NP [1]

STRONG strict ties poset acyclic asymmetric arbitrary strict O(m) [3] O(nm) [4, 7] pol [2] pol [2] pol [2] NP [2] ties O(nm) [4, 7] O

  • mn2 + m2

O

  • mn2 + m2

O

  • mn2 + m2

NP [2] poset NP [6] NP [6] NP [6] NP [6] acyclic NP [6] NP [6] NP [6] asymmetric NP [6] NP [6] arbitrary NP [6]

slide-60
SLIDE 60

Stable matchings Indifference Generalized preferences Complexity results Algorithm

WEAK strict ties poset acyclic asymmetric or arbitrary strict O(m) [3] O(m) [4] O(m) [8] O(m) NP ties O(m) [4] O(m) [8] O(m) NP poset O(m) [8] O(m) NP acyclic O(m) NP asymmetric or arbitrary NP [1]

STRONG strict ties poset acyclic asymmetric arbitrary strict O(m) [3] O(nm) [4, 7] pol [2] pol [2] pol [2] NP [2] ties O(nm) [4, 7] O

  • mn2 + m2

O

  • mn2 + m2

O

  • mn2 + m2

NP [2] poset NP [6] NP [6] NP [6] NP [6] acyclic NP [6] NP [6] NP [6] asymmetric NP [6] NP [6] arbitrary NP [6]

SUPER strict ties poset acyclic asymm. arbitrary strict O(m) [3] O(m) [4] O(m) [4, 9] O(m) [2] O(m) [2] NP [2] ties O(m) [4] O(m) [4, 9] NP [2] poset O(m) [4, 9] NP [2] acyclic NP [2] asymmetric NP [2] arbitrary NP [2]

slide-61
SLIDE 61

Stable matchings Indifference Generalized preferences Complexity results Algorithm

WEAK strict ties poset acyclic asymmetric or arbitrary strict O(m) [3] O(m) [4] O(m) [8] O(m) NP ties O(m) [4] O(m) [8] O(m) NP poset O(m) [8] O(m) NP acyclic O(m) NP asymmetric or arbitrary NP [1]

STRONG strict ties poset acyclic asymmetric arbitrary strict O(m) [3] O(nm) [4, 7] pol [2] pol [2] pol [2] NP [2] ties O(nm) [4, 7] O

  • mn2 + m2

O

  • mn2 + m2

O

  • mn2 + m2

NP [2] poset NP [6] NP [6] NP [6] NP [6] acyclic NP [6] NP [6] NP [6] asymmetric NP [6] NP [6] arbitrary NP [6]

SUPER strict ties poset acyclic asymm. arbitrary strict O(m) [3] O(m) [4] O(m) [4, 9] O(m) [2] O(m) [2] NP [2] ties O(m) [4] O(m) [4, 9] O

  • n2m
  • O
  • n2m
  • NP [2]

poset O(m) [4, 9] O

  • n2m
  • O
  • n2m
  • NP [2]

acyclic NP NP NP [2] asymmetric NP NP [2] arbitrary NP [2]

slide-62
SLIDE 62

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Algorithm

slide-63
SLIDE 63

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Super stable matching [poset – acyclic]

SUPER strict ties poset acyclic asymm. arbitrary strict O(m) [3] O(m) [4] O(m) [4, 9] O(m) [2] O(m) [2] NP [2] ties O(m) [4] O(m) [4, 9] O

  • n2m
  • O
  • n2m
  • NP [2]

poset O(m) [4, 9] O

  • n2m
  • O
  • n2m
  • NP [2]

acyclic NP NP NP [2] asymmetric NP NP [2] arbitrary NP [2]

slide-64
SLIDE 64

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Super stable matching [poset – acyclic]

SUPER strict ties poset acyclic asymm. arbitrary strict O(m) [3] O(m) [4] O(m) [4, 9] O(m) [2] O(m) [2] NP [2] ties O(m) [4] O(m) [4, 9] O

  • n2m
  • O
  • n2m
  • NP [2]

poset O(m) [4, 9] O

  • n2m
  • O
  • n2m
  • NP [2]

acyclic NP NP NP [2] asymmetric NP NP [2] arbitrary NP [2]

slide-65
SLIDE 65

Stable matchings Indifference Generalized preferences Complexity results Algorithm

2

m1 m2 m3 m4 w1 w2 w3 w4

3 1 1 2 1 1 1 1 1 1 1 1 3 1 2

slide-66
SLIDE 66

Stable matchings Indifference Generalized preferences Complexity results Algorithm

2

m1 m2 m3 m4 w1 w2 w3 w4

3 1 1 2 1 1 1 1 1 1 1 1 3 1 2

slide-67
SLIDE 67

Stable matchings Indifference Generalized preferences Complexity results Algorithm

2

m1 m2 m3 m4 w1 w2 w3 w4

3 1 1 2 1 1 1 1 1 1 1 1 3 1 2

slide-68
SLIDE 68

Stable matchings Indifference Generalized preferences Complexity results Algorithm

2

m1 m2 m3 m4 w1 w2 w3 w4

3 1 1 2 1 1 1 1 1 1 1 1 3 1 2

slide-69
SLIDE 69

Stable matchings Indifference Generalized preferences Complexity results Algorithm

2

m1 m2 m3 m4 w1 w2 w3 w4

3 1 1 2 1 1 1 1 1 1 1 1 3 1 2

Theorem A stable matching exists if and only if the output is a matching that covers all women who ever received a proposal.

slide-70
SLIDE 70

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Algorithm: Super SM posets/asymmetric

slide-71
SLIDE 71

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Algorithm: Super SM posets/asymmetric

1: while ∃u who hasn’t proposed to a max woman w do 2:

if u is better than all u′ ∈ U who have ever proposed to w then

3:

uw becomes an engagement

4:

else

5:

uw is deleted

6:

end if

7:

if w had an engagement to u′ and u is not worse than u′ then

8:

w breaks the engagement to u′ and deletes u′w

9:

end if

10: end while

slide-72
SLIDE 72

Stable matchings Indifference Generalized preferences Complexity results Algorithm

Algorithm: Super SM posets/asymmetric

1: while ∃u who hasn’t proposed to a max woman w do 2:

if u is better than all u′ ∈ U who have ever proposed to w then

3:

uw becomes an engagement

4:

else

5:

uw is deleted

6:

end if

7:

if w had an engagement to u′ and u is not worse than u′ then

8:

w breaks the engagement to u′ and deletes u′w

9:

end if

10: end while 11: let M be the set of engagements 12: if M is a matching that covers all women who have ever been proposed

to then

13:

OUTPUT M

14: else 15:

OUTPUT “There is no super SM.”

16: end if

slide-73
SLIDE 73

Stable matchings Indifference Generalized preferences Complexity results Algorithm

[1]

  • H. Aziz, P. Biró, T. Fleiner, S. Gaspers, R. de Haan, N. Mattei, and B. Rastegari.

Stable matching with uncertain pairwise preferences. In Proceedings of the 16th Conference on Autonomous Agents and MultiAgent Systems, pages 344–352. International Foundation for Autonomous Agents and Multiagent Systems, 2017. [2]

  • L. Farczadi, K. Georgiou, and J. Könemann.

Stable marriage with general preferences. Theory of Computing Systems, 59(4):683–699, 2016. [3]

  • D. Gale and L. S. Shapley.

College admissions and the stability of marriage. American Mathematical Monthly, 69:9–15, 1962. [4]

  • R. W. Irving.

Stable marriage and indifference. Discrete Applied Mathematics, 48:261–272, 1994. [5]

  • R. W. Irving, D. F. Manlove, and S. Scott.

Strong stability in the Hospitals / Residents problem. Technical Report TR-2002-123, University of Glasgow, Department of Computing Science, 2002. Revised May 2005. [6]

  • R. W. Irving, D. F. Manlove, and S. Scott.

Strong stability in the Hospitals / Residents problem. In Proceedings of STACS ’03: the 20th Annual Symposium on Theoretical Aspects of Computer Science, volume 2607 of Lecture Notes in Computer Science, pages 439–450. Springer, 2003. Full version available as [5]. [7]

  • T. Kavitha, K. Mehlhorn, D. Michail, and K. Paluch.

Strongly stable matchings in time O(nm) and extension to the Hospitals-Residents problem. ACM Transactions on Algorithms, 3, article number 15, 2007. [8]

  • D. F. Manlove.

The structure of stable marriage with indifference. Discrete Applied Mathematics, 122(1-3):167–181, 2002. [9]

  • D. F. Manlove.

Algorithmics of Matching Under Preferences. World Scientific, 2013.