1 / 35

Specialised N-ary Constraint for the Stable Marriage Problem

Specialised N-ary Constraint for the Stable Marriage Problem. By Chris Unsworth and Patrick Prosser. Contents. The Stable Marriage Problem The Algorithm Previous Constraint Models Specialised N-ary Constraint Computational Comparison Conclusion Applause. Contents.

reese
Download Presentation

Specialised N-ary Constraint for the Stable Marriage Problem

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. Specialised N-ary Constraint for the Stable Marriage Problem By Chris Unsworth and Patrick Prosser

  2. Contents • The Stable Marriage Problem • The Algorithm • Previous Constraint Models • Specialised N-ary Constraint • Computational Comparison • Conclusion • Applause

  3. Contents • The Stable Marriage Problem • The Algorithm • Previous Constraint Models • Specialised N-ary Constraint • Computational Comparison • Conclusion • Applause

  4. The Stable Marriage Problem We have n men and n women Each man ranks the n women And each woman ranks the n men Men Women Jan Liz Sue : Ian Jon Bob : Jon Ian Bob : Bob Jon Ian Bob Ian Jon : Sue Jan Liz : Liz Jan Sue : Jan Sue Liz Objective : To find a matching of men to women Such that the matching is Stable

  5. The Stable Marriage Problem A Matching But not a stable one  Bob and Sue would rather be matched to each other than to there assigned partners Men Women Jan Liz Sue : Ian Jon Bob : Jon Ian Bob : Bob Jon Ian Bob Ian Jon : Sue Jan Liz : Liz Jan Sue : Jan Sue Liz In this matching Bob and Sue are a Blocking pair A matching is only stable iff it contains no Blocking pairs

  6. The Stable Marriage Problem A Stable Matching And another Stable Match Men Women Jan Liz Sue : Ian Jon Bob : Jon Ian Bob : Bob Jon Ian Bob Ian Jon : Sue Jan Liz : Liz Jan Sue : Jan Sue Liz

  7. Contents • The Stable Marriage Problem • The Algorithm • Previous Constraint Models • Specialised N-ary Constraint • Computational Comparison • Conclusion • Applause

  8. The Extended Gale Shapley Algorithm • Cycles through a list of free men until there are no free men remaining • The man proposes to his most preferred woman • If the woman was engaged then the engagement is broken and her previous fiancé will be added to the free list • The man and woman become engaged • All men the woman likes less than her new fiancé will be removed from her preference list, and she will also be removed from theirs

  9. The Extended Gale Shapley Algorithm assign each person to be free WHILE (some man m is free) DO BEGIN w := first woman on m's list IF (some man p is engaged to w) THEN assign p to be free assign m and w to be engaged to each other FOR (each successor p of m on w's list) DO BEGIN delete p from w's list delete w from p's list END END

  10. The Extended Gale Shapley Algorithm • The reduced preference lists are the MGS-Lists • The female version yields the WGS-Lists • The intersection of these lists are known as the GS-Lists • Contains all possible stable matchings • If all men are match to there best match in the GS-Lists that matching will be the man optimal matching • Likewise with the women

  11. Contents • The Stable Marriage Problem • The Algorithm • Previous Constraint Models • Specialised N-ary Constraint • Computational Comparison • Conclusion • Applause

  12. Previous Constraint Models • Two Constraint encodings presented by Ian Gent, Robert Irving, David Manlove, Patrick Prosser and Barbara Smith in CP01

  13. Forbidden tuples model (CP01) • 2n variables, one for each man and woman each with a domain (1 .. N) • n2 table constraints • One for each potential couple • Set of pairs of values the constrained variables cannot simultaneously take • Potentially O(n2) pairs per constraint

  14. Forbidden tuples model (CP01) • When made arc consistent the variable domains are equivalent to the GS-Lists • All stable matchings can be found in a failure free enumeration • Space complexity O(n4) • Time complexity O(n4)

  15. Boolean Encoding (CP01) • 2n2 variables with 0/1 domains • m[i,j] = 1 means m[i] is married to a partner no better than j. • m[i,j] = 0 means m[i] is married to a partner better than j • O(n2) constraints, mostly implication

  16. Boolean Encoding (CP01) • When made arc consistent the variable domains equal the bounds of the GS-lists • All stable matchings can be found in a failure free enumeration • Space complexity O(n2) • Time complexity O(n2)

  17. Contents • The Stable Marriage Problem • The Algorithm • Previous Constraint Models • Specialised N-ary Constraint • Computational Comparison • Conclusion • Applause

  18. Justification • A Linear time algorithm already exists for this problem (linear to the size of input i.e. O(n2)) • Optimal Constraint models have been published • So why do we need a specialised constraint for this problem? • Performance gap between Constraint models and algorithm • Inflexibility of the algorithm • The Aim of the Specialised Constraint Is then to reduce the performance gap whilst retaining the flexibility of the constraint models

  19. Specialised N-ary Constraint • 2n variables, one for each man and woman each with a domain (1 .. N) • Domain values represent preferences • e.g. if the man variable m[1] were assigned the value 3 then man 1 would be assigned to his third choice woman • 1 Specialised n-ary Constraint

  20. Specialised N-ary Constraint • 5 methods associated with a constraint • Initialisation of constraints • Lower bound of a variable increases • Upper bound of a variable decreases • Interior value removal • Variable instantiation • Assume constraint is processed in an AC5-like environment • when a variable loses a value, process the constraints incident on that variable

  21. Specialised N-ary Constraint • Constraint requirements • Access to all variable domains • x[i] = variable for man i • y[j] = variable for woman j • The inverse preference lists • mpw[i] = man i’s inverse preference list • mpw[i][j] = man i’s inverse preference for woman j • mpw[i][j] = k iff mpl[i][k] = j • wpm[j] = woman j’s inverse preference list

  22. Lower bound increases • Man mi’s lower bound increases • The Lower bound method is called • Get man mi’s new lower bound • Find woman wj that a corresponds to • Remove all men from woman wj‘s domain she likes less than mi LowerBound(i) a = getMin(x[i]) j = mpw[i][a] setMax(y[j],wpm[j][j])

  23. Upper bound decreases • Woman wj’s upper bound is reduced • The upper bound method is called • Loop for each value k removed form the tail of woman wj’s domain • Find man mi that k represents • Remove woman wj from mi’s domain upperBound(j) for (k = value removed from the tail of j[j]) i = wpm[j][k] remVal(x[i],mpw[i][j])

  24. Initialisation, Interior Removal, Instantiation • Initialisation simply calls the lower bound method • The Interior Removal and Instantiation methods are required for search and side constraints • Read paper for more detail

  25. Complexity • Space complexity O(n2) • Time complexity O(n2) • See paper for complexity argument

  26. Contents • The Stable Marriage Problem • The Algorithm • Previous Constraint Models • Specialised N-ary Constraint • Computational Comparison • Conclusion • Applause

  27. Computational Comparison • Compare forbidden tuples (FT), Boolean (Bool) and the specialised N-ary constraint (SMN) on random SMP • Time to make arc-consistent • Time to find all solutions • All times include model creation time

  28. Computational Comparison Time in seconds to produce the GS-Lists Time in seconds to find all solutions

  29. Computational Comparison Time in seconds to produce the GS-Lists and find all solutions with the SMN constraint

  30. Computational Comparison • Why is SMN dominating Bool? • SMN is more space efficient • Bool has 2n + 6n2 constraints • SMN has 1 constraint of size O(n2) • Bool has 2n2 variables • SMN has 2n variables • Bool runs out of memory constructing the variable for n = 1300 • SMN constructs the variables for n = 1300 in 0.25 seconds

  31. Demonstration of Versatility • The sex equal stable marriage problem • Find the matching that is equally good for all • Minimise the absolute difference between the sums of the preferences of the male and female assignment • Minimise( ) • Where P(m1) gives m1’s preference for his assigned partner • This has been proven to be NP-hard

  32. Demonstration of Versatility • Implementation • 2 summation constraints • 1 over the male variable the other over the female • 1 variable to hold the value of the absolute difference between the 2 summation constraints • 1 minimising objective constraint • Code needed : final IlcIntVar optVar = solver.intVar(0, n*n); solver.add(solver.eq(optVar, solver.abs( solver.diff(solver.sum(menVars), solver.sum(womenVars))))); solver.add(solver.minimize(optVar));

  33. Demonstration of Versatility Time in seconds to find sex-equal optimal solution

  34. Conclusion • A new specialised N-ary constraint for SM • Outperforms optimal constraint model • Because compact and simple • Versatile • 1st computational study of SESMP (we think)

  35. Applause & Questions • Thank you

More Related