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
Stable matchings Indifference Generalized preferences Complexity results Algorithm
Stable matchings
SLIDE 3
Stable matchings Indifference Generalized preferences Complexity results Algorithm
SLIDE 4
Stable matchings Indifference Generalized preferences Complexity results Algorithm
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
Stable matchings Indifference Generalized preferences Complexity results Algorithm
Motivation for allowing ties
requiring strict lists is often unnatural
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
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
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 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
Stable matchings Indifference Generalized preferences Complexity results Algorithm
Indifference
SLIDE 26
Stable matchings Indifference Generalized preferences Complexity results Algorithm
Definition
Question How to define stability if we have ties?
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 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 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 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 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 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 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 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 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 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 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
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
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
Stable matchings Indifference Generalized preferences Complexity results Algorithm
Generalized preferences
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
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
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
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
Stable matchings Indifference Generalized preferences Complexity results Algorithm
Acyclic pairwise preferences
Question Is transitivity of preferences a must?
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
Stable matchings Indifference Generalized preferences Complexity results Algorithm
Asymmetric pairwise preferences
Question How about allowing cycles?
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 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 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
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 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 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
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
Stable matchings Indifference Generalized preferences Complexity results Algorithm
Complexity results
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
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 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 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
O
O
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 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
O
O
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 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
O
O
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
poset O(m) [4, 9] O
acyclic NP NP NP [2] asymmetric NP NP [2] arbitrary NP [2]
SLIDE 62
Stable matchings Indifference Generalized preferences Complexity results Algorithm
Algorithm
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
poset O(m) [4, 9] O
acyclic NP NP NP [2] asymmetric NP NP [2] arbitrary NP [2]
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
poset O(m) [4, 9] O
acyclic NP NP NP [2] asymmetric NP NP [2] arbitrary NP [2]
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 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 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 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 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
Stable matchings Indifference Generalized preferences Complexity results Algorithm
Algorithm: Super SM posets/asymmetric
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
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 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]
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]
The structure of stable marriage with indifference. Discrete Applied Mathematics, 122(1-3):167–181, 2002. [9]
Algorithmics of Matching Under Preferences. World Scientific, 2013.