Mechanism Design without Money Lecture 8 1 The Match – a success story Stability – 10 years before Gale Shapley “For over 50 years, most United States medical school seniors have chosen to use a matching program … “Before such matching programs … medical students often felt pressure, at an unreasonably early stage… Truthfulness accept from residency programs. … This TO situation “THE MOSToffers IMPORTANT THING FOR APPLICANTS was inefficient, chaotic,programs and unfair…” REMEMBER: Simply rank internship based- Congress on your TRUE preferences, without consideration for where you believe you might be ranked by these programs. List the program that you want most as rank #1, followed by your next most-preferred program as rank #2, and so on.” – APPIC Rural hospitals • The problem with allocation of doctors to rural hospitals. Theorem: When preferences are strict, the set of doctors employed and positions filled is the same at every stable matching. Theorem: When preferences are strict, any hospital that does not fill its quota at some stable matching is assigned precisely the same set of students at every stable matching. 3 Couples • With time and progress, couples became a problem for the NRMP. • The “leading member” adjustment didn’t work very well… • This was one of the main reasons the original NRMP algorithm had to be replaced. 4 stable matching with couples • It turns out that when couples are present, the set of stable matchings may be empty. • Example: 𝐷 = {𝑑1 , 𝑑2 , 𝑑3 }, 𝐻 = {ℎ1 , ℎ2 }, 𝑞ℎ1 = 𝑞ℎ2 = 1 ≻ 𝑑1 ,𝑑2 ∶ (ℎ1 , ℎ2 ) ≻ℎ1 ∶ 𝑑1 𝑑3 ≻𝑑3 ∶ ℎ1 ℎ2 ≻ℎ2 ∶ 𝑑3 𝑑2 • Even when stable matchings do exist, there does not have to be a side-optimal stable matching. 5 Detour – complements and substitutes • Complements: want both A and B (cucumbers and tomatoes to make salad) • Substitutes: Given A, I want B less (apples and bananas when I need a fruit) • Substitutes: greedy allocation can’t be bad • Couples create complementarities 6 Where does DA break? • Suppose we run a doctor’s proposing DA • If a one of the members of the couple gets a negative answer, both leave • Problem – if a couple is temporarily assigned and then gets kicked out, a vacancy is created 7 Roth and Peranson (1999) • The new algorithm works as follows: – First do doctor-proposing deferred-acceptance, with only single doctors involved. – Then add the couples one by one (in random order) and using similar “proposing” mechanism. – If any cycles are detected, start over. • If the algorithm terminates, the resulting matching is stable. • And while supposedly there is no good reason for that, this algorithm always terminates (when using data from previous years or when using random preferences). • Furthermore, it is generally considered a success story, and it was adopted for other programs as well… 8 Roth and Peranson (1999) • Clearinghouses currently using the algorithm (Taken from Roth’s slides): 9 Some questions • When is the set of stable matchings (with couples) non-empty? – NPC • Why does the Roth-Peranson algorithm works? • What about truthfulness? 10 Large markets again… • Kojima, Pathak and Roth (working paper) – Using a model similar to Immorlica and Mahdian (2003) and Kojima and Pathak (2009), if the number of couples is 𝑂( 𝑛) then a stable matching exists (and can be reached by the Roth and Peranson algorithm). • Intuition: Instead of bounding using the probability that there is no rejection cycle (and all rejection chains end with a hospital that had a vacant position). For couples bound using also that there is no rejection path from one member of the couple to the other. 11 Extending Roth’s result • We will present better bounds and slightly more sophisticated algorithm insure existence of stable matching even if the number of couples is 𝑂(𝑛𝛼 ) for any 𝛼 < 1. • No hope for finding a matching with probability 1 – o(1) in case the number of couples is 𝑂(𝑛). 12 Preferences n “strong” doctors ; many “weak” doctors 1.5n residency programs k=n1-e couples, all strong doctors Each hospital ranks all the strong doctors uniformly at random, and then the weak doctors Each single ranks all hospitals uniformly at random Each couple ranks pairs of hospitals uniformly at random, but only considers pairs which are in the same city Algorithm 1. Assign the “strong” singles, according to GS (doctors propose) 2. Insert couples one by one: a) If inserting couple ci didn’t reject any couple - continue b) If assigning ci caused couple cp to get rejected: 1. 2. Backtrack to the time where we assigned cp. Assign ci before cp and continue 3. Assign all weak doctors (doctors proposing) Example H1 1. Assign Alice Bob and Charlie Alice H2 C2 H3 4. Assign C2. Bob get unassigned Bob H4 5. Assign Bob. C1 gets unassigned C1 H5 Charlie H6 2. Assign C1. Charlie gets unassigned 3. Assign Charlie 6. Need to backtrack Redo, with C2 and then C1 H7 Example H1 1. Assign Alice Bob and Charlie 2. Assign C2. Bob gets unassigned 3. Assign Bob 4. Try to Assign C1. They don’t get their first choice 5. Assign C1. They get their second choice Alice H2 C2 H3 Bob H4 C1 H5 Charlie H6 H7 Termination success If no couple ever gets unassigned – the algorithm ends successfully G - a graph on the couples, such that there is an edge from ci to cp if ci causes cp to get unassigned Want: a topological sort on G Defining such a graph is hard: - Whether ci gets cp to be unassigned depends on the rest of the system (who else is assigned right now) - Worst case bounds are not enough: Every couple can potentially unassign many other couples – no topological sort exists Blobs and the dependency graph Blob(ci,0) = set of hospitals doctor pairs which ci can effect, if they were inserted as the first couple From blobs to edges; if: 1. (H,d’) Blob(cp,0) 2. (H,d) Blob(ci,0) 3. Hospital H prefers d to d’ Then there is an edge ci cp Example: (c2-husband, H2), (c2-wife, H3) Blob(c2,0) Alice H2 C2 H3 Bob H4 C1 H5 (Bob,H5) Blob(c2,0) (c1-husband, H5) Blob (c1,0) , and H5 prefers Bob There is an edge from c2 c1 H1 H6 Not everyone can be first: controlling dependencies using high order blobs If a couple is not inserted first, they might see a different picture, e.g. because the hospital they would naturally get into is now taken by a couple who was there before them Blob(ci,r) = set of hospitals doctor pairs which ci can effect, if they were inserted as the first couple and an adversary would be allowed to close r hospitals We add an edge ci cp for high order blobs as well: (H,d’)B(ci,r) and (H,d)B(ci,r) with H preferring d to d’ High order blob example H1 Alice H2 C2 H3 Bob H4 C1 H5 Charlie H6 Example: (c1-husband, H5), (c1-wife, H6), Blob(c1,0) (c1-husband, H1), (c1-wife, H7), Blob(c1,1) H7 Proof intuition Build the dependency graph G based on blobs of order r=3/ Prove that G is a DAG, and can be topologically sorted Main Lemma: Blobs of size 3/ are conservative enough, such that no couple will kick someone outside of their blob Show that our algorithm implicitly generates the blob graph and approximates a topological sort of it Truthfulness in the Match “Programs should be ranked in sequence, according to the applicant's true preferences... It is highly unlikely that either applicants or programs will be able to influence the outcome of the Match in their favor by submitting a list that differs from their true preferences.” NRMP Problem: S1 can cheat Hospital Preferences Capacity is 1 Student Preferences c=(c1,c2) H3,H4 H1,H2 s2 H2 H4 s1 s1 H4 H1 H1 H2 H3 H3 H2 H1 H2 H3 H4 c1 s1 c1 s2 s1 c2 s1 s1 s2 c1 H1 , c2 H2 , s1 H3 , s2 H4 s1 H1 , s2 H2 , c1 H3 , c2 H4 The only stable marriage c2 A linear fraction of couples • The number of married people is proportional to the number of people • Simulations decent success for an Thm : considershow a random market, with rates n singles, constant fraction of couples couples and more than 20n hospitals. With constant is no stable • Is there a wayprobability, to insert there the couples, to get a outcome stable matching? Proof idea – isolated markets 1. Find a small structure, which prevents a stable outcome • A few hospitals and doctors, which (if left alone) can not form a stable outcome 2. Show that this small structure exists with constant probability 3. Show that no one outside the structure ever enters a hospital in the isolated market Instable structure • For a single s and a couple c, with probability O(1/n2) we have the structure • If the structure occurs – no “local” stable outcome • There are n singles and n couples, so with constant probability this structure will occur Doctor Preferences Hospital Preferences Capacity is 1 c=(c1,c2) S H1 H2 H1,H2 H2 … … whatever H1 s c2 … … … c1 s … … Isolated market • The only solution is to insert someone else to h1,h2 thus avoiding the problem • There is an excess of positions, so if a doctor goes to h1,h2 there are hospitals which are left free. We need to show that the doctor prefers them • A quantitative version of the Rural Hospital Theorem – Define a probabilistic process, show it’s a martingale, use Azuma’s inequality Extensions • Roommate problems, multi-sided matching • Many-to-one with discrete money and substitutable preferences (Crawford and Knoer, 1981; Kelso and Crawford, 1982) • Many-to-many with responsive preferences (Roth, 1984) • Matching with contracts (Hatfield and Milgrom, 2005) • Many-to-many matching with contracts (Echenique and Oveido, 2006) • Matching in supply chains (Ostrovsky, 2008) • Matching in networks with bilateral contracts (Hatfield, Kominers, Nichifor, Ostrovsky and Westkamp, working paper) • Matching with minimum quotas, regional caps, etc. (Biro, Fleiner, Irving and Manlove, 2010, Kamada and Kojima, 2013) 29 Related topics • Roth and Vande Vate (1990) – Random paths to stability • Jackson and Watts (2002) • Ausubel and Milgrom (2000) on package bidding 30 Questions? 31 Extra Slides 32 Chicken 33 Road example 1 hour A N minutes N minutes B 1 hour • 50 people want to get from A to B • There are two roads, each one has two segments. One takes an hour, and the other one takes the number of people on it 34 Nash in road example 1 hour A N minutes N minutes B 1 hour • In the Nash equilibrium, 25 people would take each route, for a travel time of 85 minutes 35 Braess’ paradox 1 hour A N minutes N minutes Free B 1 hour • Now suppose someone adds an extra road which takes no time at all. Travel time goes to 100 minutes 36