1 / 32

An empirical study of the stable marriage problem with ties and incomplete lists (SMTI)

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?

Download Presentation

An empirical study of the stable marriage problem with ties and incomplete lists (SMTI)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An empirical study of the stable marriage problem with ties and incomplete lists (SMTI) Ian Gent & Patrick Prosser

  2. 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?

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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!

  10. 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

  11. 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

  12. 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?

  13. Is there a stable matching of size n? As ties increase solubility increases. Incompleteness reduces solubility Proportion soluble Probability of ties

  14. Rather than p2 (ties) on the x axis, how about kappa?

  15. 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

  16. Solubility against constrainedness We see a familiar phase transition Proportion soluble Kappa (constrainedness)

  17. What is the cost of the decision problem?

  18. 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)

  19. Search cost against kappa. What does that look like?

  20. Search cost against kappa Woops! What happened to the much loved complexity peak? Nodes visited Constrainedness (kappa)

  21. How does search cost grow with problem size?

  22. 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)

  23. 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?

  24. 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)

  25. 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

  26. What is harder • (a) finding the largest stable matching? • (b) finding the smallest stable matching? Betting ends Place your bets!

  27. 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

  28. 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

  29. How does search effort scale with problem size n as we look for the largest and smallest stable matching? Read the paper

  30. 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

  31. Thanks to the APES, David & Rob

  32. Questions?

More Related