Upload
natalie-bain
View
213
Download
0
Tags:
Embed Size (px)
Citation preview
An empirical study of the stable marriage problemwith ties and incomplete lists (SMTI)
Ian Gent & Patrick Prosser
The presentation in a nutshell
• What is a stable marriage problem?• How do you encode it as a constraint program?• What is a stable marriage problem with ties and incomplete lists?• A problem generator• How do you encode it as a constraint program?• An empirical study
• of the decision problem• of the optimisation problem
• Conclusion• So?
What is the Stable Marriage Problem? (SM)
We have n men
BobIanJonSam
and n women
: Ian Jon Sam Bob: Jon Ian Bob Sam: Bob Jon Sam Ian: Sam Bob Ian Jon
Each man ranks the n women
: Sue Joe Liz Zoe : Liz Joe Zoe Sue: Joe Sue Liz Zoe: Zoe Sue Joe Liz
JoeLizSueZoe
and each woman ranks the men
Men Women
Each man has to marry a woman.
Bigamy is not allowed.
Marriages must be stable
Same thing, but with numbers!
We have n men
1234
and n women
: 2 3 4 1: 3 2 1 4: 1 3 4 2: 4 1 2 3
Each man ranks the n women
: 3 1 2 4 : 2 1 4 3: 1 3 2 4: 4 3 1 2
1234
and each woman ranks the men
Men Women
Each man has to marry a woman.
Bigamy is not allowed.
Marriages must be stable
Stable? An example
1234
: 2 3 4 1: 3 2 1 4: 1 3 4 2: 4 1 2 3
: 3 1 2 4 : 2 1 4 3: 1 3 2 4: 4 3 1 2
1234
man 2 prefers woman 1 to woman 4 woman 1 prefers man 2 to man 3
man 2 and woman 1 will elope
man 2 marries woman 4 <2,4>man 3 marries woman 1 <3,1>
A Constraint Encoding
1234
: 2 3 4 1: 3 2 1 4: 1 3 4 2: 4 1 2 3
: 3 1 2 4 : 2 1 4 3: 1 3 2 4: 4 3 1 2
1234
(m4 = 3 w3 = 4) stable(m4,w3)
Combined nogoods: {(3,1),(3,2),(3,3),(1,4),(2,4),(4,4),(1,2),(2,2)}
Do this for all man/woman pairs
What is SMTI?
We have n men
1234
and n women
: 2 3 4 1: 3 2 1 4: 1 (3 4 2): 4 2 3
Each man ranks the n women
: 3 1 2 : 2 (1 4) 3: 1 3 2 4: 4 3 1 2
1234
and each woman ranks the men
Men Women
Each person prefers to be married
Bigamy is not allowed.
Marriages must be stable
• Man 1 and woman 4 find each other unacceptable
• Man 2 is indifferent to woman 1 and 4 (I.e. women 1 and 4 tie)
• Woman 3 is indifferent to men 3, 4, and 2 (they also tie)
What is SMTI?
• SM with ties is in P• SM with incomplete lists is in P• SM with ties and incomplete lists is in NP
But how does it behave?Just because it is NPC, does that mean it is hard?If so, where are the hard problems
A problem generator
<n,p1,p2>
n is the number of men and women
p1 is the probability of incomplete lists• p1 = 0 lists are complete• p1 = 1 lists are empty
p2 is the probability of ties• p2 = 0 there are no ties• p2 = 1 all ties, we have a maximum matching
<n,0,0> is an SM!
NOTE: we discard any problem that has empty preference lists from this study!
A complete algorithm for the decision problem
For the decision problem “Is there a stable matching of size n”
• a simple extension of the earlier O(n4) encoding• a constraint between every man and woman• disallowing unstable pairs• disallowing anything but a bijection• domain is preference list
• variable ordering• choosy person
• value ordering• most preferred partner
• coded in Choco
A complete algorithm for the optimisation problem
For the optimisation problem • find the largest stable matching• find the smallest stable matching
• a simple extension the the earlier O(n4) encoding• a constraint between every man and woman• disallowing unstable pairs• disallowing anything but a bijection• domain is preference list
• + a person that anyone can marry• a set of 0/1 variables Z
• Zi = 0 if Mi is unmarried• maximise or minimise the sum of Z
• variable ordering• choosy person• ignore Z variables!
• value ordering• most preferred partner
• Coded in Choco
Given an SMTI <10,p1,p2>
As I vary ties (p2) what is the effort todetermine if there is a stable marriage of size n?Will problems become harder or easier as ties increases?How do ties influence solubility?
Questions: for the decision problem
Given an SMTI <10,p1,p2>
Do we see the familiar phase transition behaviour?
Given an SMTI <n,p1,p2>
How does computational effort scale with problem size n?
Is there a stable matching of size n?
Probability of ties
Pro
port
ion s
olu
ble
As ties increase solubility increases. Incompleteness reduces solubility
Rather than p2 (ties) on the x axis, how about kappa?
What is kappa?
N
Solk
)log(1
<Sol> is expected number of solutionsN is log of the size of the state space
• k = 0 if all states are solutions, therefore easy & soluble• k = infinity if no states are solutions, therefore easy & insoluble• k = 1 there is one solution on average, on the knife edge & hard
We can compute this instance by instance
Kappa is a measure of constrainedness!
Solubility against constrainedness
Kappa (constrainedness)
Pro
port
ion s
olu
ble
We see a familiar phase transition
What is the cost of the decision problem?
The cost of the decision problem
Probability of Ties (p2)
Nodes
explo
red
As ties increase so does search effort. Why? More choice, less determined
As incompleteness increases search cost decreases (less choice)
But look, only 9 nodes maximum for n=10
Search cost against kappa. What does that look like?
Search cost against kappa
Constrainedness (kappa)
Nodes
vis
i ted
Woops! What happened to the much loved complexity peak?
How does search cost grow with problem size?
Median search effort for <n,0.5,p2>
Probability of ties (p2)
Media
n s
earc
h n
odes
explo
red
It appears search effort increases polynomially with problem size
Given an SMTI <10,p1,p2>
As I vary ties (p2) how will this influence the size of thelargest and the smallest stable matchings?
Questions: for the optimisation problem
Given an SMTI <10,p1,p2>
Is it easier to find the smallest matching or the largest matching?
Given an SMTI <n,p1,p2>
How does computational effort grow with problem size n?
What is the size of the largest and smallest stable matchings?
Note: this is an interpolating parameter!
Note: can’t plot against kappa (not defined for optimisation)
The average size of the largest and smallest stable matchings <10,0.5,p2>
Probability of ties p2
Avera
ge s
ize o
f st
able
matc
hin
g
Smallest matching
Largest matching
As ties increase the difference between largest and smallest matchings increases
What is harder
• (a) finding the largest stable matching?• (b) finding the smallest stable matching?
Place your bets!Betting ends
The average cost of finding the LARGEST stable matching
Probability of ties p2
Log o
f m
ean s
earc
h e
ffort
in n
odes
It appear to be easy!
The average cost of finding the SMALLEST stable matching
Probability of ties p2
Log o
f avera
ge s
earc
h c
ost
in n
odes
It is hard! Conjecture: proving optimality is hard
How does search effort scale with problem size nas we look for the largest and smallest stable matching?
Read the paper
You have just had a first taste of the smti• what it feels like• how it is influenced by p1 and p2
• I spared you n in optimisation
The experiments took in excess of 2 months cpu• at least 766MHz
Lots more to be done• higher dimensionality
• more than 2 sexes• different levels of stability• kappa for smti
• theory based heuristics• real problems• transition from P to NPC
Conclusion and future work
Thanks to the APES, David & Rob
Questions?