320 likes | 328 Views
Explore stable marriage problem variants with ties and incomplete lists, including constraint program encoding and decision problem empirical study.
E N D
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 and n women Each man ranks the n women and each woman ranks the men Men Women Bob Ian Jon Sam : Sue Joe Liz Zoe : Liz Joe Zoe Sue : Joe Sue Liz Zoe : Zoe Sue Joe Liz Joe Liz Sue Zoe : Ian Jon Sam Bob : Jon Ian Bob Sam : Bob Jon Sam Ian : Sam Bob Ian Jon Each man has to marry a woman. Bigamy is not allowed. Marriages must be stable
Same 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 : 3 1 2 4 : 2 1 4 3 : 1 3 2 4 : 4 3 1 2 1 2 3 4 : 2 3 4 1 : 3 2 1 4 : 1 3 4 2 : 4 1 2 3 Each man has to marry a woman. Bigamy is not allowed. Marriages must be stable
1 2 3 4 : 3 1 2 4 : 2 1 4 3 : 1 3 2 4 : 4 3 1 2 1 2 3 4 : 2 3 4 1 : 3 2 1 4 : 1 3 4 2 : 4 1 2 3 Stable? An example man 2 marries woman 4 <2,4> man 3 marries woman 1 <3,1> man 2 prefers woman 1 to woman 4 woman 1 prefers man 2 to man 3 man 2 and woman 1 will elope
1 2 3 4 : 3 1 2 4 : 2 1 4 3 : 1 3 2 4 : 4 3 1 2 1 2 3 4 : 2 3 4 1 : 3 2 1 4 : 1 3 4 2 : 4 1 2 3 A 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
What 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 : 3 1 2 : 2 (1 4) 3 : 1 3 2 4 : 4 3 1 2 1 2 3 4 : 2 3 4 1 : 3 2 1 4 : 1 (3 4 2) : 4 2 3 • 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
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
Questions: for the decision problem Given an SMTI <10,p1,p2> 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 <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? As ties increase solubility increases. Incompleteness reduces solubility Proportion soluble Probability of ties
What is kappa? Kappa is a measure of constrainedness! <Sol> 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
Solubility against constrainedness We see a familiar phase transition Proportion soluble Kappa (constrainedness)
The 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 n=10 Nodes explored Probability of Ties (p2)
Search cost against kappa Woops! What happened to the much loved complexity peak? Nodes visited Constrainedness (kappa)
Median search effort for <n,0.5,p2> It appears search effort increases polynomially with problem size Median search nodes explored Probability of ties (p2)
Questions: for the optimisation problem Given an SMTI <10,p1,p2> As I vary ties (p2) how will this influence the size of the largest and the smallest stable matchings? 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> As ties increase the difference between largest and smallest matchings increases Largest matching Average size of stable matching Smallest matching Probability of ties p2
What is harder • (a) finding the largest stable matching? • (b) finding the smallest stable matching? Betting ends Place your bets!
The average cost of finding the LARGEST stable matching It appear to be easy! Log of mean search effort in nodes Probability of ties p2
The 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
How does search effort scale with problem size n as we look for the largest and smallest stable matching? Read the paper
Conclusion 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