applied algorithm design lecture 1
play

Applied Algorithm Design Lecture 1 Pietro Michiardi Eurecom - PowerPoint PPT Presentation

Applied Algorithm Design Lecture 1 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 1 / 63 Introduction As an opening topic we will look at an algorithmic problem that nicely illustrates many of the


  1. Applied Algorithm Design Lecture 1 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 1 / 63

  2. Introduction As an opening topic we will look at an algorithmic problem that nicely illustrates many of the themes we will address in this course. This problem is motivated by some very practical concerns and our goal in the reminder of this lecture will be to: Define clearly the problem Find an algorithm to solve the problem Prove that the algorithm is correct Study the amount of time it takes to come up with a solution Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 2 / 63

  3. The Stable Matching problem: historical note The stable matching problem originated from two mathematical economists, D. Gale and L. Shapley, that asked the following question: Job hunting: Could one design a job recruiting process or college admission process that is self-enforcing ? Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 3 / 63

  4. The Job recruiting process Informally, the essence of the application process is the interplay between two parties: the company and the the applicants . Each applicant has a preference ordering on companies, and each company, once the applications come in, forms a preference ordering on its applicants. Based on these preferences, companies extend offers to some applicants and applicants chose which offer to accept. Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 4 / 63

  5. What could go wrong? The applicants could “misbheave”: Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 5 / 63

  6. What could go wrong? The applicants could “misbheave”: Alice accepts a summer job at BayTelecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 5 / 63

  7. What could go wrong? The applicants could “misbheave”: Alice accepts a summer job at BayTelecom Few days later a small company, WebJoy, offers Alice a better deal and Alice turns down BayTelecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 5 / 63

  8. What could go wrong? The applicants could “misbheave”: Alice accepts a summer job at BayTelecom Few days later a small company, WebJoy, offers Alice a better deal and Alice turns down BayTelecom BayTelecom then contacts Bob, who was on a waiting list, and offers him a job Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 5 / 63

  9. What could go wrong? The applicants could “misbheave”: Alice accepts a summer job at BayTelecom Few days later a small company, WebJoy, offers Alice a better deal and Alice turns down BayTelecom BayTelecom then contacts Bob, who was on a waiting list, and offers him a job Bob promptly reacts, turns down the offer from BubbleSoft and accept the offer from BayTelecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 5 / 63

  10. What could go wrong? The applicants could “misbheave”: Alice accepts a summer job at BayTelecom Few days later a small company, WebJoy, offers Alice a better deal and Alice turns down BayTelecom BayTelecom then contacts Bob, who was on a waiting list, and offers him a job Bob promptly reacts, turns down the offer from BubbleSoft and accept the offer from BayTelecom And the situation begins to spiral out of control... Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 5 / 63

  11. What could go wrong? The companies could “misbheave”: Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 6 / 63

  12. What could go wrong? The companies could “misbheave”: Suppose Chelsea, destined to BubbleSoft, hears about Alice being employed at WebJoy Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 6 / 63

  13. What could go wrong? The companies could “misbheave”: Suppose Chelsea, destined to BubbleSoft, hears about Alice being employed at WebJoy Nothing prevents Chelsea to call up WebJoy and send her application Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 6 / 63

  14. What could go wrong? The companies could “misbheave”: Suppose Chelsea, destined to BubbleSoft, hears about Alice being employed at WebJoy Nothing prevents Chelsea to call up WebJoy and send her application WebJoy, on looking at Chelsea application just realize they would have preferred to have her for the summer Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 6 / 63

  15. What could go wrong? The companies could “misbheave”: Suppose Chelsea, destined to BubbleSoft, hears about Alice being employed at WebJoy Nothing prevents Chelsea to call up WebJoy and send her application WebJoy, on looking at Chelsea application just realize they would have preferred to have her for the summer ... and thus turn down Alice, that now would have no summer job at all (she lost her initial one at BayTelecom) Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 6 / 63

  16. What could go wrong? The companies could “misbheave”: Suppose Chelsea, destined to BubbleSoft, hears about Alice being employed at WebJoy Nothing prevents Chelsea to call up WebJoy and send her application WebJoy, on looking at Chelsea application just realize they would have preferred to have her for the summer ... and thus turn down Alice, that now would have no summer job at all (she lost her initial one at BayTelecom) Situations like those rapidly generate chaos: if people are allowed to act in their self-interest, then everything could break down! Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 6 / 63

  17. What could go wrong? Question: Is there a way to formulate the problem such that self-interest itself pre- vents offers from being retracted and redirected? Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 7 / 63

  18. This is the question Gale and Shapley really asked Question: Given a set of preferences among employers and applicants, can we assign applicants to employers so that for every employer E , and ev- ery applicant A who is not scheduled to work for E , at least on of the following two things is the case? i) E prefers every one of its accepted applicants to A ; or ii) A prefers her current situation over working for employer E If this holds, the outcome is stable: individual self-interest will prevent any applicant/employer deal from being made behind the scenes. Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 8 / 63

  19. Formulating the problem In this course, we’re not only interested in taking a formal definition of a problem from a text book and trying to find an algorithmic solution to it. What is really important here is: how can we clearly formulate a problem? Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 9 / 63

  20. Difficulties The world of companies and applicants contains some distracting asymmetries . Each applicant is looking for a single company, but each company is looking for many applicants There may be more applicants than there are available slots for summer jobs Each applicant does not typically apply to every company Question: Can we eliminate these complications and arrive at a more “bare- bones” version of the problem? Can we do so while preserving the fundamental issues of the initial problem, so that any extensions apply to the general case as well? Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 10 / 63

  21. Assumptions We assume here that each of n applicants applies to each of n companies, and each company wants to accept a single applicant. Stable marriage problem The problem can be viewed as the problem of devising a system by which each of n men and n women can end up getting married: our problem has a natural analogue of two “genders” - the applicants and the companies - and in the case we are considering, everyone is seek- ing to be paired with exactly one individual of the opposite gender. Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 11 / 63

  22. Definitions: matchings Consider a set M = { m 1 , ..., m n } of n men, and a set W = { w 1 , ..., w n } of n women. Let M × W denote the set of all possible ordered pairs of the form ( m , w ) , where m ∈ M and w ∈ W . Matching A matching S is a set of ordered pairs, each from M × W , with the property that each member of M and each member of W appears in at most one pair in S . Perfect Matching A perfect matching S ′ is a matching with the property that each member of M and each member of W appears in exactly one pair in S ′ . Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 12 / 63

  23. Definitions: preference lists We now formally define the notion of preferences to the Stable Marriage problem setting. Each man m ∈ M ranks all the women; we say that m prefers w to w ′ if m ranks w higher than w ′ . We will refer to the ordered ranking of m as his preference list . Analogously, each woman ranks all the men. Important: we do not allow ties in the ranking 1 . 1 What would happen in this case? Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 1 13 / 63

Recommend


More recommend