CS320 Algorithms: Theory and Practice. Course Introduction

Size: px
Start display at page:

Download "CS320 Algorithms: Theory and Practice. Course Introduction"

Transcription

1 Course Objectives CS320 Algorithms: Theory and Practice Algorithms: Design strategies for algorithmic problem solving Course Introduction "For me, great algorithms are the poetry of computation. Just like verse, they can be terse, allusive, dense, and even mysterious. But once unlocked, they cast a brilliant new light on some aspect of computing." - Francis Sullivan Your algorithmic toolbox: Graph algorithms, greedy, divide and conquer, dynamic programming, reductions 2 Algorithms: Course Objectives Design strategies for algorithmic problem solving Reasoning about algorithm correctness Analysis of time and space complexity The Book Grading Assignments 40% (25% programming 15% written) Quizzes 10% Midterm 20% Final 30% Implementation create an implementation that respects the runtime analysis 1

2 Course staff Implementation Why I love Python Asa Ben-Hur (instructor) Zhisheng Xu (TA) 7 Programs will be written in Python v v v v v v v A concise and powerful interpreted language Powerful data structures v tuples, lists, dictionaries Simple, easy to learn syntax Highly readable, compact code Supports object oriented and functional programming An extensive standard library Strong support for integration with other languages (C,C++,Java) I am more productive! Machine performance vs. programmer performance Makes programming fun! image from: ftp:// LovePython.zip Which version? 2.x or 3.x? Stick with 2.x for now. Python 3 is a non-backward compatible version that removes a few warts from the language. Does anyone use python? One of the three official languages in google. Peter Norvig, Director of Research at Google: "Python has been an important part of Google since the beginning, and remains so as the system grows and evolved. Today dozens of Google engineers use Python, and we're looking for more people with skils in this language" q q How will we learn Python? Course website has links to Python tutorials and other resources Special lab times to help you get up to speed Yahoo groups, Yahoo maps % python

3 HW #1 Play with graphs and adjacency matrices Our first problem Problem: Matching residents to hospitals Each resident has a preference list of hospitals Each hospital has a preference list of residents We would like a method for assigning residents to hospitals that is stable. NRMP. (National Resident Matching Program) Matching system in use since the early 50s. Addressed issues of competition between hospitals. Handles over 38,000 residents yearly. Stable Matching Goal. Given a set of preferences among hospitals and students, design a stable matching process. Unstable pair: resident x and hospital y are an unstable pair if: x prefers y to its assigned hospital. y prefers x to one of its admitted applicants. Note that (x,y) is not part of the current matching Stable assignment. Assignment with no unstable pairs. Natural and desirable condition Simplifying the problem Matching students/companies problem a bit messy: Hospital may look for multiple residents Students looking for a single residency Maybe there are more residencies than students, or fewer residencies than students Formulate a "bare-bones" version of the problem The Stable Matching Problem Problem: Given n men and n women where Each man lists women in order of preference Each woman lists men in order of preference find a stable matching of all men and women Note that the preference lists are a strict total order favorite least favorite 1 st 2 nd 3 rd Xavier Amy Bertha Clare Yancey Bertha Amy Clare Zeus Amy Bertha Clare favorite least favorite 1 st 2 nd 3 rd Amy Yancey Xavier Zeus Bertha Xavier Yancey Zeus Clare Xavier Yancey Zeus Stable Matching Problem Perfect matching: Each man matched with exactly one woman, and each woman matched with exactly one man. Stability: no incentive for some pair to undermine the assignment. A pair (m,w) is unstable if man m and woman w prefer each other to current partners. Unstable pair (m, w) can improve their situation. Stable matching: perfect matching with no unstable pairs. Stable matching problem. Given the preference lists of n men and n women, find a stable matching if one exists. Men s Preference Profile Women s Preference Profile

4 Formulation Men: M={m 1,...,m n } Women: W={w 1,...,w n } The cartesian product MxW is the set of all ordered pairs. A perfect matching S is a set of pairs (subset of MxW) such that each individual occurs in exactly one pair How many perfect matchings are there? Instability Given a perfect matching, eg S = { (m 1,w 1 ), (m 2,w 2 ) } But m 1 prefers w 2 and w 2 prefers m 1 (m 1,w 2 ) is an instability for S Notice (m 1,w 2 ) is not in S! S is a stable matching if: S is perfect and there is no instability wrt S Example 1 m 1 : w 1, w 2 m 2 : w 1, w 2 w 1 : m 1, m 2 w 2 : m 1, m 2 What are the perfect matchings? 20 Example 1 Example 1 Example 2 m 1 : w 1, w 2 m 2 : w 1, w 2 w 1 : m 1, m 2 w 2 : m 1, m 2 1. { (m 1,w 1 ), (m 2,w 2 ) } 2. { (m 1,w 2 ), (m 2,w 1 ) } which is stable/unstable? m 1 : w 1, w 2 m 2 : w 1, w 2 w 1 : m 1, m 2 w 2 : m 1, m 2 1. { (m 1,w 1 ), (m 2,w 2 ) } stable 2. { (m 1,w 2 ), (m 2,w 1 ) } unstable, WHY? m 1 : w 1, w 2 m 2 : w 2, w 1 w 1 : m 2, m 1 w 2 : m 1, m 2 1. { (m 1,w 1 ), (m 2,w 2 ) } 2. { (m 1,w 2 ), (m 2,w 1 ) } which is / are unstable/stable? Conclusion? 24 4

5 A naïve algorithm for S in the set of all perfect matchings : if S is stable : return S return None A naïve algorithm for S in the set of all perfect matchings : if S is stable : return S return None Is this algorithm correct? What is its running time? A couple of questions Given a preference list, does a stable matching exist? Can we efficiently construct a stable matching if there is one? initially: no match Towards an algorithm An unmatched man m proposes to the woman w highest on his list. Will this be part of a stable matching? initially: no match Towards an algorithm An unmatched man m proposes to the woman w highest on his list. Will this be part of a stable matching? Not necessarily: w may like some m better So w and m will be in a temporary state of engagement. w is prepared to change her mind when a man higher on her list proposes While not everyone is matched An unmatched man m proposes to the woman w highest on his list that he hasn't proposed to yet. If w is free, they become engaged If w is engaged to m : If w prefers m over m, m stays free If w prefers m over m 5

6 The Gayle-Shapley algorithm 1, m becomes free 1 D. Gale and L. S. Shapley: "College Admissions and the Stability of Marriage", American Mathematical Monthly 69, 9-14, Victor Bertha Wyatt Diane Bertha Amy Clare Erika Xavier Bertha Erika Clare Diane Amy Yancey Amy Diane Clare Bertha Erika Zeus Bertha Diane Amy Erika Clare Bertha Xavier Men s Preference Profile 0 th 1 st 2 nd 3 rd 4 th Amy Diane Erika Clare Women s Preference Profile 0 th 1 st 2 nd 3 rd 4 th Amy Zeus Victor Wyatt Wyatt Yancey Victor Zeus Clare Wyatt Xavier Yancey Zeus Victor Diane Victor Zeus Yancey Yancey Xavier Xavier Wyatt Erika Yancey Wyatt Zeus Xavier Victor DEMO The Gayle-Shapley algorithm 1, m becomes free A few non-obvious questions: How long does it take? Does the algorithm return a stable matching? Does it even return a perfect matching? 1 D. Gale and L. S. Shapley: "College Admissions and the Stability of Marriage", American Mathematical Monthly 69, 9-14, Observations Observations Observations, m becomes free, m becomes free, m becomes free Each woman remains engaged from the first proposal and the sequence of partners gets better Each man proposes to less and less preferred women and will not propose to the same woman twice Claim. The algorithm terminates after at most n 2 iterations of the while loop. Claim. The algorithm terminates after at most n 2 iterations of the while loop. At each iteration a man proposes (only once) to a woman he has never proposed to, and there are only n 2 possible pairs (m,w)

7 8/20/12 Observations Proof of Correctness: Stability Summary, m becomes free When the loop terminates, the matching is perfect Proof: By contradiction. Assume there is a free man, m. Because the loop terminates, m proposed to all women But then all women are engaged, hence there is no free man àcontradiction 37 Claim. No unstable pairs. Proof. Consider an arbitrary pair (m, w) which is not in the Gale-Shapley matching S*. men propose in decreasing S* order of preference m, w Case 1: m never proposed to w. m, w m prefers his GS partner to w (m, w) is stable.... Case 2: m proposed to w. w rejected m (right away or later) w prefers her GS partner to m. (m, w) is stable. women only trade up In either case (m, w) is not an instability wrt S* 38 Stable matching problem. Given n men and n women and their preferences, find a stable matching if one exists. Gale-Shapley algorithm. Guaranteed to find a stable matching for any problem instance. Q. How to implement the GS algorithm efficiently? Q. If there are multiple stable matchings, which one does GS find? 39 Which solution? Symmetry Non-determinism m 1 : w 1, w 2 m 2 : w 2, w 1 w 1 : m 2, m 1 w 2 : m 1, m 2 The stable matching problem is symmetric wrt to men and women, but the GS algorithm is asymmetric. q Notice the following line in the GS algorithm: Two stable solutions 1: { (m 1,w 1 ), (m 2,w 2 ) } 2: { (m 1,w 2 ), (m 2,w 1 ) } GS will always find one of them (which?) There is a certain unfairness in the algorithm: If all men list different women as their first choice, they will end up with their first choice, regardless of the women's preferences. q The algorithm does not specify WHICH Still, it can be shown that all executions of the algorithm find the same stable matching (see book) When will the other be found?

8 Extensions: Matching Residents to Hospitals In this setting: Men hospitals, Women med school residents. Variant 1. Some participants declare others as unacceptable. Representative Problems Remember the problem solving paradigm q Formulate it with precision (usually using mathematical concepts, such as sets, relations, and graphs) Variant 2. Unequal number of men and women. resident A unwilling to work in Cleveland q Design an algorithm Variant 3. Limited polygamy. hospital X wants to hire 3 residents It has been proven that lying does not get you a better match! q q q Prove its correctness Analyze its complexity Implement respecting the derived complexity Variant 4. The stable roommates problem Interval Scheduling You have a resource (hotel room, printer, lecture room, telescope, manufacturing facility...) There are requests to use the resource in the form of start time s i and finish time f i, such that s i <f i Objective: grant as many requests as possible. Two requests i and j are compatible if they don't overlap, ie f i <=s j or f j <=s i Interval Scheduling Input. Set of jobs with start times and finish times. Goal. Find maximum cardinality subset of compatible jobs. b a c d e f g Algorithmic Approach The interval scheduling problem is amenable to a very simple solution. Now that you know this, can you think of it? Hint: Think how to pick a first interval while preserving the longest possible free time h Time 47 8

9 Weighted Interval Scheduling Input. Set of jobs with start times, finish times, and weights. Goal. Find maximum weight subset of compatible jobs Time Bipartite Matching Stable matching was defined as matching elements of two disjoint sets. We can express this in terms of graphs. A graph is bipartite if its nodes can be partitioned in two sets X and Y, such that the edges go from one x in X to a y in Y Bipartite Matching Input. Bipartite graph. Goal. Find maximum cardinality matching. Matching in bipartite graphs can model assignment problems, e.g., assigning jobs to machines, where an edge between a job j and a machine m indicates that m can do job j, or professors and courses. How is this different from the stable matching problem? A B C D 4 E Independent Set Input. Graph. Goal. Find maximum cardinality independent set. 1 subset of nodes such that no two are joined by an edge 2 v v v Independent set problem There is no known efficient way to solve the independent set problem. What does that mean? The only solution we have so far is trying all sub sets and finding the largest independent one. q q q Representative Problems / Complexities Interval scheduling: n log(n) greedy algorithm. Weighted interval scheduling: n log(n) dynamic programming algorithm. Bipartite matching: polynomial max-flow based algorithm v How many sub sets of a set of n nodes are there? q Independent set: NP-complete (no known polynomial algorithm exists). 6 Can you formulate interval scheduling as an independent set problem? 7 q Competitive facility location (see book): PSPACEcomplete

10 Algorithm Algorithm: effective procedure mapping input to output effective: unambiguous, executable Turing defined it as: "like a Turing machine" program = effective procedure Is there an algorithm for every possible problem? Ulam's problem def f(n) : if (n==1) return 1 elif (odd(n)) return f(3*n+1) return f(n/2) Steps in running f(n) for a few values of n: 1 2, 1, 3, 10, 5, 16, 8, 4, 2, 1 4, 2, 1 5, 16, 8, 4, 2, 1 6, 3, 10, 5, 16, 8, 4, 2, 1 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 8, 4, 2, 1 9, 28, 14, 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1 10, 5, 16, 8, 4, 2, 1 Does f(n) always stop? Ulam's problem def f(n) : if (n==1) return 1 elif (odd(n)) return f(3*n+1) return f(n/2) Nobody has found an n for which f does not stop Nobody has found a proof (so there can be no algorithm deciding this.) A generalization of this problem has been proven to be undecidable. A problem P is undecidable, if there is no algorithm that produces P(x) for every possible input x The Halting Problem is undecidable Given a program P and input x will P stop on x? We can prove (cs420): the halting problem is undecidable i.e. there is no algorithm Halt(P,x) that for any program P and input x decides whether P stops on x. 10

1. REPRESENTATIVE PROBLEMS

1. REPRESENTATIVE PROBLEMS 1. REPRESENTATIVE PROBLEMS stable matching five representative problems Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley Copyright 2013 Kevin Wayne http://www.cs.princeton.edu/~wayne/kleinberg-tardos

More information

1. REPRESENTATIVE PROBLEMS

1. REPRESENTATIVE PROBLEMS 1. REPRESENTATIVE PROBLEMS stable matching five representative problems Special thanks to Kevin Wayne for sharing the slides Copyright 2005 Pearson-Addison Wesley Last updated on 15/9/12 下午 10:33 1. REPRESENTATIVE

More information

Analysis of Algorithms Fall Some Representative Problems Stable Matching

Analysis of Algorithms Fall Some Representative Problems Stable Matching Analysis of Algorithms Fall 2017 Some Representative Problems Stable Matching Mohammad Ashiqur Rahman Department of Computer Science College of Engineering Tennessee Tech University Matching Med-school

More information

Approximation and Randomized Algorithms (ARA) Lecture 1, September 3, 2012

Approximation and Randomized Algorithms (ARA) Lecture 1, September 3, 2012 Approximation and Randomized Algorithms (ARA) Lecture 1, September 3, 2012 Practicalities Code: 456314.0 intermediate and optional course Previous knowledge 456305.0 Datastrukturer II (Algoritmer) Period

More information

Algorithms. [Knuth, TAOCP] An algorithm is a finite, definite, effective procedure, with some input and some output.

Algorithms. [Knuth, TAOCP] An algorithm is a finite, definite, effective procedure, with some input and some output. Algorithms Algorithm. [webster.com] A procedure for solving a mathematical problem (as of finding the greatest common divisor) in a finite number of steps that frequently involves repetition of an operation.

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 2 Analysis of Algorithms Stable matching problem Asymptotic growth Adam Smith Stable Matching Problem Unstable pair: man m and woman w are unstable if m prefers w

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 2 Analysis of Stable Matching Asymptotic Notation Adam Smith Stable Matching Problem Goal: Given n men and n women, find a "suitable" matching. Participants rate members

More information

1. REPRESENTATIVE PROBLEMS

1. REPRESENTATIVE PROBLEMS 1. REPRESENTATIVE PROBLEMS stable matching five representative problems Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley http://www.cs.princeton.edu/~wayne/kleinberg-tardos Last updated

More information

Creating new worlds inside the computer. COS 116: 2/10/2011 Sanjeev Arora

Creating new worlds inside the computer. COS 116: 2/10/2011 Sanjeev Arora Creating new worlds inside the computer COS 116: 2/10/2011 Sanjeev Arora Pseudocode Simple instructions: involve +, -,, Compound instructions Conditionals Loops No need to sweat over exact wording during

More information

Bipartite Matchings and Stable Marriage

Bipartite Matchings and Stable Marriage Bipartite Matchings and Stable Marriage Meghana Nasre Department of Computer Science and Engineering Indian Institute of Technology, Madras Faculty Development Program SSN College of Engineering, Chennai

More information

cs.washington.edu/417

cs.washington.edu/417 SE 417, Winter 2012 Introduc8on, Examples, and nalysis en irnbaum Widad Machmouchi SE 417: lgorithms and omputa8onal omplexity Instructors: en irnbaum (omputer Science Ph.D.) Widad Machmouchi (omputer

More information

CSC2556. Lecture 5. Matching - Stable Matching - Kidney Exchange [Slides : Ariel D. Procaccia]

CSC2556. Lecture 5. Matching - Stable Matching - Kidney Exchange [Slides : Ariel D. Procaccia] CSC2556 Lecture 5 Matching - Stable Matching - Kidney Exchange [Slides : Ariel D. Procaccia] CSC2556 - Nisarg Shah 1 Announcements The assignment is up! It is complete, and no more questions will be added.

More information

CSE 417, Winter Introduc6on, Examples, and Analysis. Ben Birnbaum Widad Machmouchi

CSE 417, Winter Introduc6on, Examples, and Analysis. Ben Birnbaum Widad Machmouchi SE 417, Winter 2012 Introduc6on, Examples, and nalysis en irnbaum Widad Machmouchi Slides adapted from Larry Ruzzo, Steve Tanimoto, and Kevin Wayne 1 Instructors: SE 417: lgorithms and omputa6onal omplexity

More information

Consider a complete bipartite graph with sets A and B, each with n vertices.

Consider a complete bipartite graph with sets A and B, each with n vertices. When DFS discovers a non-tree edge, check if its two vertices have the same color (red or black). If all non-tree edges join vertices of different color then the graph is bipartite. (Note that all tree

More information

1.1 First Problem: Stable Matching. Six medical students and four hospitals. Student Preferences. s6 h3 h1 h4 h2. Stable Matching Problem

1.1 First Problem: Stable Matching. Six medical students and four hospitals. Student Preferences. s6 h3 h1 h4 h2. Stable Matching Problem //0 hapter Introduction: Some Representative Problems Slides by Kevin ayne. opyright 00 Pearson-ddison esley. ll rights reserved.. First Problem: Stable Matching Six medical students and four hospitals

More information

Matching Residents to Hospitals

Matching Residents to Hospitals Midterm Review Matching Residents to Hospitals Goal. Given a set of preferences among hospitals and medical school students, design a self-reinforcing admissions process. Unstable pair: applicant x and

More information

Ma/CS 6b Class 3: Stable Matchings

Ma/CS 6b Class 3: Stable Matchings Ma/CS 6b Class 3: Stable Matchings α p 5 p 12 p 15 q 1 q 7 q 12 By Adam Sheffer Reminder: Alternating Paths Let G = V 1 V 2, E be a bipartite graph, and let M be a matching of G. A path is alternating

More information

1. STABLE MATCHING. stable matching problem Gale Shapley algorithm hospital optimality context

1. STABLE MATCHING. stable matching problem Gale Shapley algorithm hospital optimality context 1. STABLE MATCHING stable matching problem Gale Shapley algorithm hospital optimality context Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley http://www.cs.princeton.edu/~wayne/kleinberg-tardos

More information

COMP251: Bipartite graphs

COMP251: Bipartite graphs COMP251: Bipartite graphs Jérôme Waldispühl School of Computer Science McGill University Based on slides fom M. Langer (McGill) & P. Beame (UofW) Recap: Dijkstra s algorithm DIJKSTRA(V, E,w,s) INIT-SINGLE-SOURCE(V,s)

More information

COMP251: Bipartite graphs

COMP251: Bipartite graphs COMP251: Bipartite graphs Jérôme Waldispühl School of Computer Science McGill University Based on slides fom M. Langer (McGill) & P. Beame (UofW) Recap: Dijkstra s algorithm DIJKSTRA(V, E,w,s) INIT-SINGLE-SOURCE(V,s)

More information

Matchings in Graphs. Definition 3 A matching N in G is said to be stable if it does not contain a blocking pair.

Matchings in Graphs. Definition 3 A matching N in G is said to be stable if it does not contain a blocking pair. Matchings in Graphs Lecturer: Scribe: Prajakta Jose Mathew Meeting: 6 11th February 2010 We will be considering finite bipartite graphs. Think of one part of the vertex partition as representing men M,

More information

The key is that there are two disjoint populations, and everyone in the market is on either one side or the other

The key is that there are two disjoint populations, and everyone in the market is on either one side or the other Econ 805 Advanced Micro Theory I Dan Quint Fall 2009 Lecture 17 So... two-sided matching markets. First off, sources. I ve updated the syllabus for the next few lectures. As always, most of the papers

More information

Omega notation. Transitivity etc.

Omega notation. Transitivity etc. Omega notation Big-Omega: Lecture 2, Sept. 25, 2014 f () n (()) g n const cn, s.t. n n : cg() n f () n Small-omega: 0 0 0 f () n (()) g n const c, n s.t. n n : cg() n f () n 0 0 0 Intuition (works most

More information

1 Definitions and Things You Know

1 Definitions and Things You Know We will discuss an algorithm for finding stable matchings (not the one you re probably familiar with). The Instability Chaining Algorithm is the most similar algorithm in the literature to the one actually

More information

CSEP 521 Applied Algorithms. Richard Anderson Winter 2013 Lecture 1

CSEP 521 Applied Algorithms. Richard Anderson Winter 2013 Lecture 1 CSEP 521 Applied Algorithms Richard Anderson Winter 2013 Lecture 1 CSEP 521 Course Introduction CSEP 521, Applied Algorithms Monday s, 6:30-9:20 pm CSE 305 and Microsoft Building 99 Instructor Richard

More information

Ma/CS 6b Class 3: Stable Matchings

Ma/CS 6b Class 3: Stable Matchings Ma/CS 6b Class 3: Stable Matchings α p 5 p 12 p 15 q 1 q 7 q 12 β By Adam Sheffer Neighbor Sets Let G = V 1 V 2, E be a bipartite graph. For any vertex a V 1, we define the neighbor set of a as N a = u

More information

Matching Theory and the Allocation of Kidney Transplantations

Matching Theory and the Allocation of Kidney Transplantations University of Utrecht Bachelor Thesis Matching Theory and the Allocation of Kidney Transplantations Kim de Bakker Supervised by Dr. M. Ruijgrok 14 June 2016 Introduction Matching Theory has been around

More information

What do you do when you can t use money to solve your problems?

What do you do when you can t use money to solve your problems? Markets without money What do you do when you can t use money to solve your problems? Matching: heterosexual men and women marrying in a small town, students matching to universities, workers to jobs where

More information

We set up the basic model of two-sided, one-to-one matching

We set up the basic model of two-sided, one-to-one matching Econ 805 Advanced Micro Theory I Dan Quint Fall 2009 Lecture 18 To recap Tuesday: We set up the basic model of two-sided, one-to-one matching Two finite populations, call them Men and Women, who want to

More information

Stable Marriage with Ties and Bounded Length Preference Lists

Stable Marriage with Ties and Bounded Length Preference Lists Stable Marriage with Ties and Bounded Length Preference Lists Robert W. Irving, David F. Manlove, and Gregg O Malley Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, UK. Email:

More information

CS 6901 (Applied Algorithms) Lecture 2

CS 6901 (Applied Algorithms) Lecture 2 CS 6901 (Applied Algorithms) Lecture 2 Antonina Kolokolova September 15, 2016 1 Stable Matching Recall the Stable Matching problem from the last class: there are two groups of equal size (e.g. men and

More information

Two-Sided Matching. Terence Johnson. December 1, University of Notre Dame. Terence Johnson (ND) Two-Sided Matching December 1, / 47

Two-Sided Matching. Terence Johnson. December 1, University of Notre Dame. Terence Johnson (ND) Two-Sided Matching December 1, / 47 Two-Sided Matching Terence Johnson University of Notre Dame December 1, 2017 Terence Johnson (ND) Two-Sided Matching December 1, 2017 1 / 47 Markets without money What do you do when you can t use money

More information

Math 301: Matchings in Graphs

Math 301: Matchings in Graphs Math 301: Matchings in Graphs Mary Radcliffe 1 Definitions and Basics We begin by first recalling some basic definitions about matchings. A matching in a graph G is a set M = {e 1, e 2,..., e k } of edges

More information

STABLE MARRIAGE PROBLEM WITH TIES AND INCOMPLETE BOUNDED LENGTH PREFERENCE LIST UNDER SOCIAL STABILITY

STABLE MARRIAGE PROBLEM WITH TIES AND INCOMPLETE BOUNDED LENGTH PREFERENCE LIST UNDER SOCIAL STABILITY STABLE MARRIAGE PROBLEM WITH TIES AND INCOMPLETE BOUNDED LENGTH PREFERENCE LIST UNDER SOCIAL STABILITY Ashish Shrivastava and C. Pandu Rangan Department of Computer Science and Engineering, Indian Institute

More information

Matching. Terence Johnson. April 17, University of Notre Dame. Terence Johnson (ND) Matching April 17, / 41

Matching. Terence Johnson. April 17, University of Notre Dame. Terence Johnson (ND) Matching April 17, / 41 Matching Terence Johnson University of Notre Dame April 17, 2018 Terence Johnson (ND) Matching April 17, 2018 1 / 41 Markets without money What do you do when you can t use money to solve your problems?

More information

CS 598RM: Algorithmic Game Theory, Spring Practice Exam Solutions

CS 598RM: Algorithmic Game Theory, Spring Practice Exam Solutions CS 598RM: Algorithmic Game Theory, Spring 2017 1. Answer the following. Practice Exam Solutions Agents 1 and 2 are bargaining over how to split a dollar. Each agent simultaneously demands share he would

More information

Stable Matching Existence, Computation, Convergence Correlated Preferences. Stable Matching. Algorithmic Game Theory.

Stable Matching Existence, Computation, Convergence Correlated Preferences. Stable Matching. Algorithmic Game Theory. Existence, Computation, Convergence Correlated Preferences Existence, Computation, Convergence Correlated Preferences Stable Marriage Set of Women Y Set of Men X Existence, Computation, Convergence Correlated

More information

Advanced Algorithms. Lecture Notes for April 5, 2016 Dynamic programming, continued (HMMs); Iterative improvement Bernard Moret

Advanced Algorithms. Lecture Notes for April 5, 2016 Dynamic programming, continued (HMMs); Iterative improvement Bernard Moret Advanced Algorithms Lecture Notes for April 5, 2016 Dynamic programming, continued (HMMs); Iterative improvement Bernard Moret Dynamic Programming (continued) Finite Markov models A finite Markov model

More information

Lecture 5: The Principle of Deferred Decisions. Chernoff Bounds

Lecture 5: The Principle of Deferred Decisions. Chernoff Bounds Randomized Algorithms Lecture 5: The Principle of Deferred Decisions. Chernoff Bounds Sotiris Nikoletseas Associate Professor CEID - ETY Course 2013-2014 Sotiris Nikoletseas, Associate Professor Randomized

More information

2.1 Computational Tractability. Chapter 2. Basics of Algorithm Analysis. Computational Tractability. Polynomial-Time

2.1 Computational Tractability. Chapter 2. Basics of Algorithm Analysis. Computational Tractability. Polynomial-Time Chapter 2 2.1 Computational Tractability Basics of Algorithm Analysis "For me, great algorithms are the poetry of computation. Just like verse, they can be terse, allusive, dense, and even mysterious.

More information

Lecture 2: Just married

Lecture 2: Just married COMP36111: Advanced Algorithms I Lecture 2: Just married Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2017 18 Outline Matching Flow networks Third-year projects The stable marriage problem

More information

PROBLEMS OF MARRIAGE Eugene Mukhin

PROBLEMS OF MARRIAGE Eugene Mukhin PROBLEMS OF MARRIAGE Eugene Mukhin 1. The best strategy to find the best spouse. A person A is looking for a spouse, so A starts dating. After A dates the person B, A decides whether s/he wants to marry

More information

Assignment 3 Logic and Reasoning KEY

Assignment 3 Logic and Reasoning KEY Assignment 3 Logic and Reasoning KEY Print this sheet and fill in your answers. Please staple the sheets together. Turn in at the beginning of class on Friday, September 8. Recall this about logic: Suppose

More information

Complexity Theory Part I

Complexity Theory Part I Complexity Theory Part I Outline for Today Recap from Last Time Reviewing Verifiers Nondeterministic Turing Machines What does nondeterminism mean in the context of TMs? And just how powerful are NTMs?

More information

Matching Problems. Roberto Lucchetti. Politecnico di Milano

Matching Problems. Roberto Lucchetti. Politecnico di Milano Politecnico di Milano Background setting Problems introduced in 1962 by Gale and Shapley for the study of two sided markets: 1) workers & employers 2) interns & hospitals 3) students & universities 4)

More information

Matching Problems. Roberto Lucchetti. Politecnico di Milano

Matching Problems. Roberto Lucchetti. Politecnico di Milano Politecnico di Milano Background setting Problems introduced in 1962 by Gale and Shapley for the study of two sided markets: 1) workers & employers; 2) interns & hospitals; 3) students & universities;

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Algorithm runtime analysis and computational tractability Time Complexity of an Algorithm How do we measure the complexity (time, space requirements) of an algorithm. 1 microsecond? Units of time As soon

More information

Subramanian s stable matching algorithm

Subramanian s stable matching algorithm Subramanian s stable matching algorithm Yuval Filmus November 2011 Abstract Gale and Shapley introduced the well-known stable matching problem in 1962, giving an algorithm for the problem. Subramanian

More information

SEQUENTIAL ENTRY IN ONE-TO-ONE MATCHING MARKETS

SEQUENTIAL ENTRY IN ONE-TO-ONE MATCHING MARKETS REVISTA DE LA UNIÓN MATEMÁTICA ARGENTINA Vol. 54, No. 2, 2013, Pages 1 14 Published online: December 21, 2013 SEQUENTIAL ENTRY IN ONE-TO-ONE MATCHING MARKETS BEATRIZ MILLÁN Abstract. We study in one-to-one

More information

Dynamic Matching under Preferences

Dynamic Matching under Preferences Dynamic Matching under Preferences Martin Hoefer Max-Planck-Institut für Informatik mhoefer@mpi-inf.mpg.de Kolkata, 11 March 2015 How to find a stable relationship? Stable Marriage Set of Women Set of

More information

Introduction to Computer Science and Programming for Astronomers

Introduction to Computer Science and Programming for Astronomers Introduction to Computer Science and Programming for Astronomers Lecture 8. István Szapudi Institute for Astronomy University of Hawaii March 7, 2018 Outline Reminder 1 Reminder 2 3 4 Reminder We have

More information

CPSC 320 Sample Solution, Reductions and Resident Matching: A Residentectomy

CPSC 320 Sample Solution, Reductions and Resident Matching: A Residentectomy CPSC 320 Sample Solution, Reductions and Resident Matching: A Residentectomy August 25, 2017 A group of residents each needs a residency in some hospital. A group of hospitals each need some number (one

More information

Friday Four Square! Today at 4:15PM, Outside Gates

Friday Four Square! Today at 4:15PM, Outside Gates P and NP Friday Four Square! Today at 4:15PM, Outside Gates Recap from Last Time Regular Languages DCFLs CFLs Efficiently Decidable Languages R Undecidable Languages Time Complexity A step of a Turing

More information

Stable matching. Carlos Hurtado. July 5th, Department of Economics University of Illinois at Urbana-Champaign

Stable matching. Carlos Hurtado. July 5th, Department of Economics University of Illinois at Urbana-Champaign Stable matching Carlos Hurtado Department of Economics University of Illinois at Urbana-Champaign hrtdmrt2@illinois.edu July 5th, 2017 C. Hurtado (UIUC - Economics) Game Theory On the Agenda 1 Introduction

More information

Complexity Theory Part I

Complexity Theory Part I Complexity Theory Part I Problem Problem Set Set 77 due due right right now now using using a late late period period The Limits of Computability EQ TM EQ TM co-re R RE L D ADD L D HALT A TM HALT A TM

More information

An improved approximation algorithm for the stable marriage problem with one-sided ties

An improved approximation algorithm for the stable marriage problem with one-sided ties Noname manuscript No. (will be inserted by the editor) An improved approximation algorithm for the stable marriage problem with one-sided ties Chien-Chung Huang Telikepalli Kavitha Received: date / Accepted:

More information

Matching Theory. Mihai Manea. Based on slides by Fuhito Kojima. MIT

Matching Theory. Mihai Manea. Based on slides by Fuhito Kojima. MIT Matching Theory Mihai Manea MIT Based on slides by Fuhito Kojima. Market Design Traditional economics focuses mostly on decentralized markets. Recently, economists are helping to design economic institutions

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Chapter 2 2.1 Computational Tractability Basics of Algorithm Analysis "For me, great algorithms are the poetry of computation. Just like verse, they can be terse, allusive, dense, and even mysterious.

More information

Algorithms: COMP3121/3821/9101/9801

Algorithms: COMP3121/3821/9101/9801 Algorithms: COMP311/381/9101/9801 Aleks Ignjatović, ignjat@cse.unsw.edu.au office: 504 (CSE building); phone: 5-6659 Course Admin: Amin Malekpour, a.malekpour@unsw.edu.au School of Computer Science and

More information

Complexity Theory Part II

Complexity Theory Part II Complexity Theory Part II Time Complexity The time complexity of a TM M is a function denoting the worst-case number of steps M takes on any input of length n. By convention, n denotes the length of the

More information

CSE 421 Algorithms. Richard Anderson Autumn 2015 Lecture 1

CSE 421 Algorithms. Richard Anderson Autumn 2015 Lecture 1 CSE 421 Algorithms Richard Anderson Autumn 2015 Lecture 1 CSE 421 Course Introduction CSE 421, Introduction to Algorithms MWF, 1:30-2:20 pm MGH 421 Instructor Richard Anderson, anderson@cs.washington.edu

More information

Midterm 1. Name: TA: U.C. Berkeley CS70 : Algorithms Midterm 1 Lecturers: Anant Sahai & Christos Papadimitriou October 15, 2008

Midterm 1. Name: TA: U.C. Berkeley CS70 : Algorithms Midterm 1 Lecturers: Anant Sahai & Christos Papadimitriou October 15, 2008 U.C. Berkeley CS70 : Algorithms Midterm 1 Lecturers: Anant Sahai & Christos Papadimitriou October 15, 2008 Name: Midterm 1 TA: Answer all questions. Read them carefully first. Be precise and concise. The

More information

Lecture 2: Divide and conquer and Dynamic programming

Lecture 2: Divide and conquer and Dynamic programming Chapter 2 Lecture 2: Divide and conquer and Dynamic programming 2.1 Divide and Conquer Idea: - divide the problem into subproblems in linear time - solve subproblems recursively - combine the results in

More information

Game Theory: Lecture #5

Game Theory: Lecture #5 Game Theory: Lecture #5 Outline: Stable Matchings The Gale-Shapley Algorithm Optimality Uniqueness Stable Matchings Example: The Roommate Problem Potential Roommates: {A, B, C, D} Goal: Divide into two

More information

CSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD

CSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD Course Overview Material that will be covered in the course: Basic graph algorithms Algorithm Design Techniques Greedy Algorithms Divide and Conquer Dynamic Programming Network Flows Computational intractability

More information

Input. A set of men M, and a set of women W.

Input. A set of men M, and a set of women W. Input. A set of men M, and a set of women W. Input. A set of men M, and a set of women W. Every agent has a set of acceptable partners. Input. A set of men M, and a set of women W. Every agent has a set

More information

Midterm 1. Your Exam Room: Name of Person Sitting on Your Left: Name of Person Sitting on Your Right: Name of Person Sitting in Front of You:

Midterm 1. Your Exam Room: Name of Person Sitting on Your Left: Name of Person Sitting on Your Right: Name of Person Sitting in Front of You: CS70 Discrete Mathematics and Probability Theory, Fall 2018 Midterm 1 8:00-10:00pm, 24 September Your First Name: SIGN Your Name: Your Last Name: Your Exam Room: Name of Person Sitting on Your Left: Name

More information

CS 70 Discrete Mathematics and Probability Theory Fall 2016 Seshia and Walrand Midterm 1 Solutions

CS 70 Discrete Mathematics and Probability Theory Fall 2016 Seshia and Walrand Midterm 1 Solutions CS 70 Discrete Mathematics and Probability Theory Fall 2016 Seshia and Walrand Midterm 1 Solutions PRINT Your Name: Answer: Oski Bear SIGN Your Name: PRINT Your Student ID: CIRCLE your exam room: Dwinelle

More information

Algorithmics of Two-Sided Matching Problems

Algorithmics of Two-Sided Matching Problems Algorithmics of Two-Sided Matching Problems David J. Abraham Submitted for the degree of Master of Science, Department of Computing Science, University of Glasgow, October, 2003 c 2003 David J. Abraham

More information

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch]

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch] Undecidability Andreas Klappenecker [based on slides by Prof. Welch] 1 Sources Theory of Computing, A Gentle Introduction, by E. Kinber and C. Smith, Prentice-Hall, 2001 Automata Theory, Languages and

More information

NP, polynomial-time mapping reductions, and NP-completeness

NP, polynomial-time mapping reductions, and NP-completeness NP, polynomial-time mapping reductions, and NP-completeness In the previous lecture we discussed deterministic time complexity, along with the time-hierarchy theorem, and introduced two complexity classes:

More information

CSE 421 Greedy Algorithms / Interval Scheduling

CSE 421 Greedy Algorithms / Interval Scheduling CSE 421 Greedy Algorithms / Interval Scheduling Yin Tat Lee 1 Interval Scheduling Job j starts at s(j) and finishes at f(j). Two jobs compatible if they don t overlap. Goal: find maximum subset of mutually

More information

Two Algorithms for the Student-Project Allocation Problem

Two Algorithms for the Student-Project Allocation Problem Two Algorithms for the Student-Project Allocation Problem David J. Abraham 1, Robert W. Irving 2, and David F. Manlove 2 1 Computer Science Department, Carnegie-Mellon University, 5000 Forbes Ave, Pittsburgh

More information

A (ln 4)-Approximation Algorithm for Maximum Stable Matching with One-Sided Ties and Incomplete Lists

A (ln 4)-Approximation Algorithm for Maximum Stable Matching with One-Sided Ties and Incomplete Lists A ln 4)-Approximation Algorithm for Maximum Stable Matching with One-Sided Ties and Incomplete Lists Chi-Kit Lam C. Gregory Plaxton April 2018 Abstract We study the problem of finding large weakly stable

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2016 http://cseweb.ucsd.edu/classes/sp16/cse105-ab/ Today's learning goals Sipser Ch 4.1, 5.1 Define reductions from one problem to another. Use reductions to prove

More information

Show that the following problems are NP-complete

Show that the following problems are NP-complete Show that the following problems are NP-complete April 7, 2018 Below is a list of 30 exercises in which you are asked to prove that some problem is NP-complete. The goal is to better understand the theory

More information

Computational Thinking

Computational Thinking Computational Thinking Giri Narasimhan School of Computing and Information Sciences College of Engineering and Computing 2 What is Computational Thinking? u [J. Wing, CACM 2006] Thought processes involved

More information

Stable Matching Beyond Bipartite Graphs

Stable Matching Beyond Bipartite Graphs Stable Matching Beyond Bipartite Graphs Jie Wu Department of Computer and Information Sciences Temple University, USA jiewu@temple.edu Abstract Binary matching in bipartite graphs and its extensions have

More information

Glasgow eprints Service

Glasgow eprints Service Abraham, D.J. and Irving, R.W. and Manlove, D.F. (2007) Two algorithms for the student-project allocation problem. Journal of Discrete Algorithms 5(1):pp. 73-90. http://eprints.gla.ac.uk/3439/ Glasgow

More information

Lecture 27: Theory of Computation. Marvin Zhang 08/08/2016

Lecture 27: Theory of Computation. Marvin Zhang 08/08/2016 Lecture 27: Theory of Computation Marvin Zhang 08/08/2016 Announcements Roadmap Introduction Functions Data Mutability Objects This week (Applications), the goals are: To go beyond CS 61A and see examples

More information

4. What is the probability that the two values differ by 4 or more in absolute value? There are only six

4. What is the probability that the two values differ by 4 or more in absolute value? There are only six 1. Short Questions: 2/2/2/2/2 Provide a clear and concise justification of your answer. In this problem, you roll two balanced six-sided dice. Hint: Draw a picture. 1. What is the probability that the

More information

Dynamic Programming( Weighted Interval Scheduling)

Dynamic Programming( Weighted Interval Scheduling) Dynamic Programming( Weighted Interval Scheduling) 17 November, 2016 Dynamic Programming 1 Dynamic programming algorithms are used for optimization (for example, finding the shortest path between two points,

More information

Greedy Homework Problems

Greedy Homework Problems CS 1510 Greedy Homework Problems 1. Consider the following problem: INPUT: A set S = {(x i, y i ) 1 i n} of intervals over the real line. OUTPUT: A maximum cardinality subset S of S such that no pair of

More information

Matching: The Theory. Muriel Niederle Stanford and NBER. September 26, 2011

Matching: The Theory. Muriel Niederle Stanford and NBER. September 26, 2011 Matching: The Theory Muriel Niederle Stanford and NBER September 26, 2011 Studying and doing Market Economics In Jonathan Strange and Mr. Norrel, Susanna Clarke describes an England around 1800, with magic

More information

1 Computational Problems

1 Computational Problems Stanford University CS254: Computational Complexity Handout 2 Luca Trevisan March 31, 2010 Last revised 4/29/2010 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

Strategic Behavior and Manipulation in Gender- Neutral Matching Algorithms

Strategic Behavior and Manipulation in Gender- Neutral Matching Algorithms Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 12-2018 Strategic Behavior and Manipulation in Gender- Neutral Matching Algorithms Sanjay Varma Rudraraju sr2567@rit.edu

More information

CPSC 320 Sample Solution, The Stable Marriage Problem

CPSC 320 Sample Solution, The Stable Marriage Problem CPSC 320 Sample Solution, The Stable Marriage Problem September 10, 2016 This is a sample solution that illustrates how we might solve parts of this worksheet. Your answers may vary greatly from ours and

More information

CS 374: Algorithms & Models of Computation, Spring 2017 Greedy Algorithms Lecture 19 April 4, 2017 Chandra Chekuri (UIUC) CS374 1 Spring / 1

CS 374: Algorithms & Models of Computation, Spring 2017 Greedy Algorithms Lecture 19 April 4, 2017 Chandra Chekuri (UIUC) CS374 1 Spring / 1 CS 374: Algorithms & Models of Computation, Spring 2017 Greedy Algorithms Lecture 19 April 4, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 1 Part I Greedy Algorithms: Tools and Techniques Chandra

More information

Chapter 7 Matchings and r-factors

Chapter 7 Matchings and r-factors Chapter 7 Matchings and r-factors Section 7.0 Introduction Suppose you have your own company and you have several job openings to fill. Further, suppose you have several candidates to fill these jobs and

More information

Problems, and How Computer Scientists Solve Them Manas Thakur

Problems, and How Computer Scientists Solve Them Manas Thakur Problems, and How Computer Scientists Solve Them PACE Lab, IIT Madras Content Credits Introduction to Automata Theory, Languages, and Computation, 3rd edition. Hopcroft et al. Introduction to the Theory

More information

APPROXIMATION ALGORITHMS FOR THE STABLE MATCHING PROBLEM

APPROXIMATION ALGORITHMS FOR THE STABLE MATCHING PROBLEM APPROXIMATION ALGORITHMS FOR THE STABLE MATCHING PROBLEM by András Radnai Advisor: Zoltán Király Department of Computer Science Eötvös Loránd University Contents 1 Introduction 3 1.1 Notions and concepts..............................

More information

Notes for Lecture Notes 2

Notes for Lecture Notes 2 Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

COMPSCI 611 Advanced Algorithms Second Midterm Exam Fall 2017

COMPSCI 611 Advanced Algorithms Second Midterm Exam Fall 2017 NAME: COMPSCI 611 Advanced Algorithms Second Midterm Exam Fall 2017 A. McGregor 15 November 2017 DIRECTIONS: Do not turn over the page until you are told to do so. This is a closed book exam. No communicating

More information

CS154 Final Examination

CS154 Final Examination CS154 Final Examination June 7, 2010, 7-10PM Directions: CS154 students: answer all 13 questions on this paper. Those taking CS154N should answer only questions 8-13. The total number of points on this

More information

CS711008Z Algorithm Design and Analysis

CS711008Z Algorithm Design and Analysis CS711008Z Algorithm Design and Analysis Lecture 1 Introduction and some representative problems 1 Dongbo Bu Institute of Computing Technology Chinese Academy of Sciences, Beijing, China 1 The slides are

More information

CS 6783 (Applied Algorithms) Lecture 3

CS 6783 (Applied Algorithms) Lecture 3 CS 6783 (Applied Algorithms) Lecture 3 Antonina Kolokolova January 14, 2013 1 Representative problems: brief overview of the course In this lecture we will look at several problems which, although look

More information

The Complexity of the Comparator Circuit Value Problem

The Complexity of the Comparator Circuit Value Problem The Complexity of the Comparator Circuit Value Problem Stephen Cook Joint work with Yuval Filmus and Dai Tri Man Lê Department of Computer Science University of Toronto Canada Banff 2013 1 / 28 Outline

More information

Discrete Mathematics and Probability Theory Fall 2014 Anant Sahai Midterm 1

Discrete Mathematics and Probability Theory Fall 2014 Anant Sahai Midterm 1 EECS 70 Discrete Mathematics and Probability Theory Fall 2014 Anant Sahai Midterm 1 Exam location: 10 Evans, Last name starting with A-B or R-T PRINT your student ID: PRINT AND SIGN your name:, (last)

More information

Algorithms Exam TIN093 /DIT602

Algorithms Exam TIN093 /DIT602 Algorithms Exam TIN093 /DIT602 Course: Algorithms Course code: TIN 093, TIN 092 (CTH), DIT 602 (GU) Date, time: 21st October 2017, 14:00 18:00 Building: SBM Responsible teacher: Peter Damaschke, Tel. 5405

More information

Weights in stable marriage problems increase manipulation opportunities

Weights in stable marriage problems increase manipulation opportunities Weights in stable marriage problems increase manipulation opportunities Maria Silvia Pini 1, Francesca Rossi 1, Kristen Brent Venable 1, Toby Walsh 2 1 : Department of Pure and Applied Mathematics, University

More information