CS320 Algorithms: Theory and Practice. Course Introduction
|
|
- Annabel Booker
- 5 years ago
- Views:
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 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 information1. 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 informationAnalysis 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 informationApproximation 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 informationAlgorithms. [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 informationAlgorithm 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 informationAlgorithm 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 information1. 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 informationCreating 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 informationBipartite 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 informationcs.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 informationCSC2556. 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 informationCSE 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 informationConsider 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 information1.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 informationMatching 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 informationMa/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 information1. 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 informationCOMP251: 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 informationCOMP251: 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 informationMatchings 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 informationThe 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 informationOmega 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 information1 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 informationCSEP 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 informationMa/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 informationMatching 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 informationWhat 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 informationWe 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 informationStable 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 informationCS 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 informationTwo-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 informationMath 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 informationSTABLE 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 informationMatching. 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 informationCS 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 informationStable 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 informationAdvanced 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 informationLecture 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 information2.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 informationLecture 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 informationPROBLEMS 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 informationAssignment 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 informationComplexity 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 informationMatching 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 informationMatching 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 informationCopyright 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 informationSubramanian 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 informationSEQUENTIAL 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 informationDynamic 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 informationIntroduction 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 informationCPSC 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 informationFriday 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 informationStable 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 informationComplexity 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 informationAn 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 informationMatching 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 informationCopyright 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 informationAlgorithms: 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 informationComplexity 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 informationCSE 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 informationMidterm 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 informationLecture 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 informationGame 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 informationCSE101: 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 informationInput. 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 informationMidterm 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 informationCS 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 informationAlgorithmics 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 informationUndecidability. 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 informationNP, 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 informationCSE 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 informationTwo 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 informationA (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 informationCSE 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 informationShow 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 informationComputational 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 informationStable 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 informationGlasgow 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 informationLecture 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 information4. 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 informationDynamic 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 informationGreedy 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 informationMatching: 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 information1 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 informationStrategic 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 informationCPSC 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 informationCS 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 informationChapter 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 informationProblems, 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 informationAPPROXIMATION 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 informationNotes 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 informationCOMPSCI 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 informationCS154 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 informationCS711008Z 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 informationCS 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 informationThe 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 informationDiscrete 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 informationAlgorithms 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 informationWeights 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