Title: An empirical study of the stable marriage problem
1An empirical study of the stable marriage
problem with ties and incomplete lists (SMTI)
Ian Gent Patrick Prosser
2The 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?
3What is the Stable Marriage Problem? (SM)
We have n men
and n women
Each man ranks the n women
and each woman ranks the men
Men
Women
Bob Ian Jon Sam
Ian Jon Sam Bob Jon Ian Bob Sam Bob
Jon Sam Ian Sam Bob Ian Jon
Sue Joe Liz Zoe Liz Joe Zoe Sue Joe
Sue Liz Zoe Zoe Sue Joe Liz
Joe Liz Sue Zoe
Each man has to marry a woman. Bigamy is not
allowed. Marriages must be stable
4Same thing, but with numbers!
We have n men
and n women
Each man ranks the n women
and each woman ranks the men
Men
Women
1 2 3 4
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
1 2 3 4
Each man has to marry a woman. Bigamy is not
allowed. Marriages must be stable
5Stable?
An example
man 2 marries woman 4 lt2,4gt
man 3 marries woman 1 lt3,1gt
man 2 prefers woman 1 to woman 4
woman 1 prefers man 2 to man 3
man 2 and woman 1 will elope
6A Constraint Encoding
(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
7What is SMTI?
We have n men
and n women
Each man ranks the n women
and each woman ranks the men
Men
Women
1 2 3 4
2 3 4 1 3 2 1 4 1 (3 4 2) 4 2 3
3 1 2 2 (1 4) 3 1 3 2 4 4 3 1 2
1 2 3 4
- 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)
Each person prefers to be married Bigamy is not
allowed. Marriages must be stable
8What 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
9A problem generator
ltn,p1,p2gt
- 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
- ltn,0,0gt is an SM!
NOTE we discard any problem that has empty
preference lists from this study!
10A 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
11A 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
12Questions for the decision problem
Given an SMTI lt10,p1,p2gt As I vary ties (p2)
what is the effort to determine if there is a
stable marriage of size n? Will problems become
harder or easier as ties increases? How do ties
influence solubility?
Given an SMTI lt10,p1,p2gt Do we see the familiar
phase transition behaviour?
Given an SMTI ltn,p1,p2gt How does computational
effort scale with problem size n?
13Is there a stable matching of size n?
As ties increase solubility increases.
Incompleteness reduces solubility
Proportion soluble
Probability of ties
14Rather than p2 (ties) on the x axis, how about
kappa?
15What is kappa?
Kappa is a measure of constrainedness!
ltSolgt is expected number of solutions N 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
16Solubility against constrainedness
We see a familiar phase transition
Proportion soluble
Kappa (constrainedness)
17What is the cost of the decision problem?
18The cost of the decision problem
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 n10
Nodes explored
Probability of Ties (p2)
19Search cost against kappa. What does that look
like?
20Search cost against kappa
Woops! What happened to the much loved complexity
peak?
Nodes visited
Constrainedness (kappa)
21How does search cost grow with problem size?
22Median search effort for ltn,0.5,p2gt
It appears search effort increases polynomially
with problem size
Median search nodes explored
Probability of ties (p2)
23Questions for the optimisation problem
Given an SMTI lt10,p1,p2gt As I vary ties (p2)
how will this influence the size of the largest
and the smallest stable matchings?
Given an SMTI lt10,p1,p2gt Is it easier to find
the smallest matching or the largest matching?
Given an SMTI ltn,p1,p2gt How does computational
effort grow with problem size n?
24What is the size of the largest and smallest
stable matchings?
Note this is an interpolating parameter!
Note cant plot against kappa (not defined for
optimisation)
25The average size of the largest and smallest
stable matchings lt10,0.5,p2gt
As ties increase the difference between largest
and smallest matchings increases
Largest matching
Average size of stable matching
Smallest matching
Probability of ties p2
26- What is harder
- (a) finding the largest stable matching?
- (b) finding the smallest stable matching?
Betting ends
Place your bets!
27The average cost of finding the LARGEST stable
matching
It appear to be easy!
Log of mean search effort in nodes
Probability of ties p2
28The average cost of finding the SMALLEST stable
matching
It is hard!
Conjecture proving optimality is hard
Log of average search cost in nodes
Probability of ties p2
29How does search effort scale with problem size
n as we look for the largest and smallest stable
matching?
Read the paper
30Conclusion and future work
- 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
31Thanks to the APES, David Rob
32Questions?