Presentation on theme: "An empirical study of the stable marriage problem with ties and incomplete lists (SMTI) Ian Gent & Patrick Prosser."— Presentation transcript:
An empirical study of the stable marriage problem with 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 Bob Ian Jon Sam 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 Joe Liz Sue Zoe and each woman ranks the men MenWomen Each man has to marry a woman. Bigamy is not allowed. Marriages must be stable
Same thing, but with numbers! We have n men 12341234 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 12341234 and each woman ranks the men MenWomen Each man has to marry a woman. Bigamy is not allowed. Marriages must be stable
Stable?An example 12341234 : 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 12341234 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 man 3 marries woman 1
What is SMTI? We have n men 12341234 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 12341234 and each woman ranks the men MenWomen 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 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 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(n 4 ) 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(n 4 ) 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 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? Questions: for the decision problem Given an SMTI Do we see the familiar phase transition behaviour? Given an SMTI How does computational effort scale with problem size n?
Is there a stable matching of size n? Probability of ties Proportion soluble As ties increase solubility increases. Incompleteness reduces solubility
Rather than p2 (ties) on the x axis, how about kappa?
What is kappa? 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 Kappa is a measure of constrainedness!
Solubility against constrainedness Kappa (constrainedness) Proportion soluble We see a familiar phase transition
The cost of the decision problem Probability of Ties (p2) Nodes explored 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 visited Woops! What happened to the much loved complexity peak?
Median search effort for Probability of ties (p2) Median search nodes explored It appears search effort increases polynomially with problem size
Given an SMTI As I vary ties (p2) how will this influence the size of the largest and the smallest stable matchings? Questions: for the optimisation problem Given an SMTI Is it easier to find the smallest matching or the largest matching? Given an SMTI 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: cant plot against kappa (not defined for optimisation)
The average size of the largest and smallest stable matchings Probability of ties p2 Average size of stable matching 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 of mean search effort in nodes It appear to be easy!
The average cost of finding the SMALLEST stable matching Probability of ties p2 Log of average search cost in nodes It is hard!Conjecture: proving optimality is hard
How does search effort scale with problem size n as 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