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

Slides:



Advertisements
Similar presentations
Problem Reformulation and Search
Advertisements

1D Bin Packing (or “CP? Who cares?”)
Slides by Peter van Beek Edited by Patrick Prosser.
1 Almost stable matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University Péter Biró Department of Computer.
Modelling and Solving the Stable Marriage problem using Constraint Programming David Manlove and Gregg OMalley University Of Glasgow Department of Computing.
Stable Matching Problems with Constant Length Preference Lists Rob Irving, David Manlove, Gregg OMalley University Of Glasgow Department of Computing Science.
Blah blah blah. Zoes shark Thanks to the conference artist Phoebe.
The Stable Marriage Problem and Constraint Programming.
LAW February A 5/3 approximation algorithm for a hard case of stable marriage Rob Irving Computing Science Department University of Glasgow (joint.
Piyush Kumar (Lecture 3: Stable Marriage) Welcome to COT5405.
Introduction to Algorithms NP-Complete
A Constraint Programming Approach to the Hospitals / Residents Problem By David Manlove, Gregg O’Malley, Patrick Prosser and Chris Unsworth.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Matching problems Toby Walsh NICTA and UNSW. Motivation Agents may express preferences for issues other than a collective decision  Preferences for a.
Specialised N-ary Constraint for the Stable Marriage Problem By Chris Unsworth and Patrick Prosser.
What’s the problem? Something like stable marriage problem … but without sex.
The Theory of NP-Completeness
Algorithms and Problems for Quantified SAT Toby Walsh Department of Computer Science University of York England Ian P. Gent School of Computer Science.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Definition of complexity class NP –Nondeterministic computation –Problems.
2 -1 Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
Lecture 4 CSE 331 Sep 9, Blog posts for lectures Starts from today See Sep 8 post on the blog.
Genetic Algorithms GAs are one of the most powerful and applicable search methods available GA originally developed by John Holland (1975) Inspired by.
NP-complete and NP-hard problems
1 Bipartite Matching Polytope, Stable Matching Polytope x1 x2 x3 Lecture 10: Feb 15.
Matching Polytope, Stable Matching Polytope Lecture 8: Feb 2 x1 x2 x3 x1 x2 x3.
The Complexity of Algorithms and the Lower Bounds of Problems
Simple search methods for finding a Nash equilibrium Ryan Porter, Eugene Nudelman, and Yoav Shoham Games and Economic Behavior, Vol. 63, Issue 2. pp ,
Chapter 10: Iterative Improvement Simplex Method The Design and Analysis of Algorithms.
The Stable Marriage Problem
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
Graph Colouring Various Models. an obvious model SAT sets demo random graphs chromatic number maxCol phase transition.
Pelvic floor Specialised Constraints for Stable Matching Problems Contact details: 17 Lilybank Gardens Glasgow G12 8QQ The Problem.
Constrainedness Including slides from Toby Walsh.
Object Oriented Programming Assignment Introduction Dr. Mike Spann
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Lecture 2 CSE 331. Day 1 Survey On UBlearns Day 1 Survey (talking points) Security MS PhD for research Building PC’s for 442 It’s ok to play games –
Stable Matchings a.k.a. the Stable Marriage Problem
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
1 The Stable Marriage Problem Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Cliff Shaffer Computer Science Computational Complexity.
Specialised Binary Constraint for the Stable Marriage Problem with Ties and incomplete preference lists By Chris Unsworth and Patrick Prosser.
1 Design and Analysis of Algorithms Yoram Moses Lecture 11 June 3, 2010
A Constraint Programming Approach to the Hospitals / Residents Problem By David Manlove, Gregg O’Malley, Patrick Prosser and Chris Unsworth.
Solving Problems by searching Well defined problems A probem is well defined if it is easy to automatically asses the validity (utility) of any proposed.
Instructor Neelima Gupta Table of Contents Class NP Class NPC Approximation Algorithms.
Design & Co-design of Embedded Systems Final Project: “The Match Maker” Second Phase Oral Presentation Safa S. Mahmoodian.
Bipartite Matching. Unweighted Bipartite Matching.
The Stable Marriage Problem
1 “Almost stable” matchings in the Roommates problem David Abraham Computer Science Department Carnegie-Mellon University, USA Péter Biró Department of.
Graph Algorithms Maximum Flow - Best algorithms [Adapted from R.Solis-Oba]
Bayesian Optimization Algorithm, Decision Graphs, and Occam’s Razor Martin Pelikan, David E. Goldberg, and Kumara Sastry IlliGAL Report No May.
CSCI 256 Data Structures and Algorithm Analysis Lecture 2 Some slides by Kevin Wayne copyright 2005, Pearson Addison Wesley all rights reserved, and some.
Where are the hard problems?. Remember Graph Colouring? Remember 3Col?
Heuristic Search Planners. 2 USC INFORMATION SCIENCES INSTITUTE Planning as heuristic search Use standard search techniques, e.g. A*, best-first, hill-climbing.
Honors Track: Competitive Programming & Problem Solving Seminar Topics Kevin Verbeek.
When intuition is wrong Heuristics for clique and maximum clique Patrick Prosser esq.
Stable Matching Beyond Bipartite Graphs Jie Wu Dept. of Computer and Info. Sciences Temple University.
Where are the hard problems?
Lower bound for the Stable Marriage Problem
Stable Marriage Problem
Chapter 10 Iterative Improvement
The Stable Marriage Problem
Richard Anderson Autumn 2006 Lecture 1
Number partitioning.
Blah blah blah.
Artificial Intelligence
The Theory of NP-Completeness
A Grand Tour of Stable Matching Problems
15th Scandinavian Workshop on Algorithm Theory
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 and n women : : : : Each man ranks the n women : : : : 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 : : : : : : : : 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

A Constraint Encoding : : : : : : : : (m 4 = 3 w 3 = 4) stable(m 4,w 3 ) 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 : : : 1 (3 4 2) : Each man ranks the n women : : 2 (1 4) 3 : : 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

What is the cost of the decision problem?

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?

How does search cost grow with problem size?

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

Thanks to the APES, David & Rob

Questions?