cs234r Markets for Networks and Crowds BRENDAN LUCIER, MICROSOFT RESEARCH NE NICOLE IMMORLICA, MICROSOFT RESEARCH NE Lecture 1, Part 2: Exchange Markets. Allocation Problems β’ n agents, m indivisible objects. (Think: houses) β’ agents have strict preferences over objects. β’ how should they be allocated? Allocation Problems Agents Objects Allocation Problems Notation. π β»π π: agent π prefers object π to object π. π β½π π: β¦ or is indifferent. An assignment π assigns objects to agents: π(π) is the object that agent π receives in π, or β (unassigned). π is a matching if, for all agents π and π, β’ π π = π π β π = π or π π = π π = β Applications: β’ Housing, Organ donation, Book swap, β¦ Allocation Problems Agents An assignment: Objects Allocation Problems Agents A matching: Objects Allocation Problems Agents Objects j Not PE k Matching π is Pareto Efficient if there is no other π such that 1. π π β½π π π for every agent π 2. βπ such that π π β»π π(π) Allocation Problems Not PE Agents Objects i a j b k c π β»π π π β»π π π β»π π Matching π is Pareto Efficient if there is no other π such that 1. π π β½π π π for every agent π 2. βπ such that π π β»π π(π) Exchange Markets An exchange market is an assignment problem in which 1) All preferences are strict, 2) n = m (same number of objects and agents) 3) There is an initial allocation: agent π owns object ππ Exchange Markets An exchange market is an assignment problem in which 1) All preferences are strict, 2) n = m (same number of objects and agents) 3) There is an initial allocation: agent π owns object ππ Matching π is individually rational if π π β½π ππ for all π. Exchange Markets An exchange market is an assignment problem in which 1) All preferences are strict, 2) n = m (same number of objects and agents) 3) There is an initial allocation: agent π owns object ππ Matching π is in the core if there is no π and coalition π of agents such that β’ π π β½π π π for every agent π β π, β’ βπ β π such that πβ² π β»π π(π), and β’ π π is initially owned by some π β π In other words: no group of agents would be better off deviating and only trading amongst themselves. Exchange Markets Not Core (also not IR) Agents Objects i a j b k c π β»π π π β»π π π β»π π Exchange Markets Another property we might like: strategyproofness A mechanism π takes as input a preference profile β» = (β»1 , β»2 , β¦, β»π ) and assigns a matching π(β»). Mechanism π is strategyproof if for every agent i, and any possible reports of the other agents, agent i prefers his outcome in matching π(β»π , β»βπ ) to his outcome in matching π(β»β²π , β»βπ ). In other words: no agent ever gets a better outcome by misrepresenting their preferences. Exchange Markets Theorem: There exists a core, strategyproof allocation mechanism for exchange markets. Moreover, the core allocation is unique, and can be found in polynomial time. Top Trading Cycles (TTC) TTC Algorithm: 1. Ask each agent to point to their favorite object. 2. Each object points to the agent that owns it. 3. For each cycle, give each agent in the cycle the object they are pointing to. Remove those agents and objects. 4. Repeat until done. 1: π β»1 π β»1 π β»1 π 1 a 2: π β»2 π β»2 π β»2 π 2 b 3: π β»3 π β»3 π β»3 π 3 c 4: π β»4 π β»4 π β»4 π 4 d Top Trading Cycles (TTC) TTC Algorithm: 1. Ask each agent to point to their favorite object. 2. Each object points to the agent that owns it. 3. For each cycle, give each agent in the cycle the object they are pointing to. Remove those agents and objects. 4. Repeat until done. 2: π β»2 π β»2 π β»2 π 2 b 4: π β»4 π β»4 π β»4 π 4 d Top Trading Cycles (TTC) Claim: The TTC algorithm is well-defined. Intuition: start at an agent, follow directed path, must repeat. Claim: The TTC algorithm is strategyproof. Intuition: Consider a round of the TTC algorithm. β’ If an agent is being matched this round, they are getting their top choice of whatβs left, so no reason to misreport. β’ If an agent is not being matched, any misreport either a) closes a loop, or b) doesnβt. If (a), that loop would still be present on the next round (why?). If (b), the outcome does not change. Either way, no benefit from misreporting. Top Trading Cycles (TTC) Claim: The TTC algorithm finds a core matching. Proof: by induction on cycles. β’ No agent in the first cycle can be in a coalition, since they each get their top choice. β’ IH: no agent in any of the first k cycles can be in a coalition. β’ Then any coalition only includes items belonging to agents in cycles (k+1) and beyond. β’ But the agents in cycle k+1 get their favorite of these items! So no agent in cycle k+1 is part of a coalition. Top Trading Cycles (TTC) Claim: The core matching is unique. Proof: β’ π: TTC matching. π: another core matching. Say π β π. β’ Let π be the first agent, in order of TTC resolution, with π π β π π . Let πΆπ be the TTC cycle containing π. Then: β’ π j = π(π) for all j matched before i. β’ So π j β½π π(π) for all π β πΆπ (TTC). β’ And π i β»π π(π) (since β ). β’ For all π β πΆπ , π π initially owned by some other agent in πΆπ . β πΆπ is a deviating coalition for π! i πΆπ Exchange Markets Theorem: There exists a core, strategyproof allocation mechanism for exchange markets. Moreover, the core allocation is unique, and can be found in polynomial time. Kidney Exchange patient 1 donor 1 patient 2 donor 2 Kidney Exchange Patients Donors Can we use TTC? Complication: long cycles are not feasible! (Many simultaneous surgeries, increased risk) Pairwise Kidney Exchange A different representation: patient 1 donor 1 π patient 2 donor 2 π π = (π, π): compatible match Pairwise Kidney Exchange Unlike the previous setting, there is (a lot of) indifference. Pairwise Kidney Exchange a b i c d Unlike the previous setting, there is (a lot of) indifference. π =π π =π π =π π β»π π =π π =π β¦ =π β compatible incompatible Pairwise Kidney Exchange Pairwise exchange: only 2-cycles are allowed. Then max # transplants = max matching in the graph Pairwise Kidney Exchange Pairwise exchange: only 2-cycles are allowed. Then max # transplants = max matching in the graph How do we choose who is matched? Pairwise Kidney Exchange Priority Mechanism: 1. Start with empty matching π 2. For agents in order π = 1,2,3, β¦ 3. If β πβ² that matches all of π β π βͺ π , set π = πβ² 4. Return π 1 4 5 3 2 Claim: Priority mechanism is Pareto Efficient and strategyproof (incentives to reveal compatibilities). Kidney Exchange Do larger cycles actually help? Market structure! Compatibility is dictated mainly by blood type: O A B AB patient donor O A Under-demanded! Kidney Exchange Do larger cycles actually help? Over-demanded and neutral: Under-demanded: 3-cycles can serve more under-demanded nodes Kidney Exchange Do larger cycles actually help? Over-demanded and neutral: Under-demanded: Claim: under some (reasonable) assumptions, marginal benefit of β₯ 4-cycles is at most # (AB-O) pairs (rare). Dynamic Kidney Exchange Up to this point, we have considered a static pool of agents in the market. What if agents arrive and depart over time? Dynamic Kidney Exchange Model: β’ Agents arrive at rate π > 1, βperishβ at rate 1 β’ Formally: Poisson processes with expectations m and 1, respectively β’ Each pair of agents is compatible with probability π/π, iid. (for some π < π) Dynamic Kidney Exchange A dynamic matching mechanism is an online algorithm that selects which pairs to match, and when, as a function of the history. Example: Greedy mechanism. β’ Match any pair as soon as it becomes available Dynamic Kidney Exchange For a mechanism π, π(π): the set of matched agents at time π π΄ π : the set of active agents at time π The loss of mechanism π is the long-run ratio of perished agents, in expectation. πΈ ππ β π π β |π΄ π | L π = lim πββ ππ Dynamic Kidney Exchange A negative result: Theorem: for any mechanism π, as π β β, 1 πΏ π β₯ 2π + 1 Dynamic Kidney Exchange An easier statement to prove: Theorem: for the greedy mechanism, as π β β, πΏ πΊπππππ¦ β₯ Ξ 1 π . Dynamic Kidney Exchange Theorem: for the greedy mechanism, as π β β, πΏ πΊπππππ¦ β₯ Ξ 1 π . Intuition: The number of agents who perish is proportional to the expected pool size, πΈ π΄ π β’ Write ππ = π΄ π , consider expected changes. β’ Pool grows if agent arrives and is not matched: πβ 1β β’ π ππ π NB: in lecture there was a typo here. This version is corrected. Pool shrinks if an agent expires, or arrives and is matched: ππ + π β 1 β 1 π ππ β π Dynamic Kidney Exchange Pool grows at rate π β 1 β π ππ π Pool shrinks at rate ππ + π β 1 β 1 π ππ β π π use 1 β Claim: for large π, if ππ > 2π/π, rate of shrinking > rate of growing If ππ < π/2π, rate of shrinking < rate of growing So should expect πΈ π΄ π βΞ π π , hence loss is roughly ππ ππ =Ξ 1 π . π π π ~ π β1 Dynamic Kidney Exchange Can we hope to do better? Suppose the mechanism is informed when an agent βgoes criticalβ (is about to perish). Patient mechanism: whenever an agent becomes critical, match them with another agent (if possible) Dynamic Kidney Exchange Theorem: if criticality is observable, then as π β β, πΏ πππ‘ππππ‘ β€ π βπ/2 Intuition: the mechanism maintains a large pool of active agents, so it is likely that any given agent will have a match when they are about to perish. Conclusion: determining / signaling critical status can dramatically improve ability to make matches.
© Copyright 2025 Paperzz