Matching and Market Design:Introduction, Bipartite Matching Nicole Immorlica, Microsoft Research NE
Nicole Immorlica, MSR NE Researcher Background. Computer science, economics, applied research. Ph.D. 2005 (in computer science). Thesis: Computing with Strategic Agents. Postdocs 2005-2008. Studied applications of:theory to advertising markets at MSR, combinatorics to economics at CWI. Professor 2008-2012 (of computer science). Taught courses and advised students in CS-econ. Researcher 2012-present. Study CS-econ issues from the very theoretical to the very applied.
Nicole Immorlica, MSR NE Researcher Research. What are realistic utopias for selfish societies? Mechanism Design: Can we systematically allocate scare resources to people who need it the most?Or sell the resources and generate high revenue? simplicity Social Networks: What behavioral patterns can besupported by various structures? What information can be learned? How does behavior impact structure? diversity partialinformation Market Design: What outcomes will be observedin matching markets, and how can we facilitatethe matching process in practical settings?
Course Logistics Course. CS 286r: Topics at the Interface of Computer Science and Economics – Matching and Market Design. Website. www.Immorlica.com/marketDesign/Harvard Lectures. Fridays, 9am-noon, MD 221. Includes a 20 minute coffee break halfway through, and you’re all invited to join me for lunch afterwards. Teachers. Nicole Immorlica, Ran Shorrer, Brendan Lucier, Scott Kominers, and more! Workload. Readings/participation (around 20 pages/week), 2 problem sets (around 6 hrs each), course project (3 stages).
Outline • Introduction: markets in practice and theory, discussion of market design • Bipartite Matching: elementary definitions, max cardinality & max weight matchings
Part 1: Introduction.
Markets agents objects Markets are a medium of exchange.
Markets high schools ad slots kidneys workers agents objects students firms advertisers patients Sponsored Search Kidney Exchange School Choice Labor Markets
Examples Traditional markets: shopping malls, eBay, ad auctions, FCC spectrum auctions School choice: allocation of students to schools via centralized city-run program Labor markets: NRMP, cadet-branch matching Kidney exchange: matching of kidney donors to compatible recipients
Market Design Al Roth
Market Design Market design involves a responsibility for detail, a need to deal with all of a market’s complications, not just its principle features. Designers therefore cannot work only with the simple conceptual models used for theoretical insights into the general working of markets. Instead, market design calls for an engineering approach. – from The Economist as an Engineer, by Al Roth
Market Design …this paper makes the case that experimental and computationaleconomicsare natural complements to game theory in the work of design. The paper also argues that some of the challenges facing both markets involve dealing with related kinds of complementarities, and that this suggests an agenda for future theoretical research. – from The Economist as an Engineer, by Al Roth
Market Design Develop simple theory, …to deal with complexity in practice.
Computer Science & Economics
Computer Science: computability P versus NP P: set of problems that can be solved efficiently (i.e., in polynomial time). NP: set of problems whose solutions can be checkedefficiently.
Computer Science: computability Traveling Salesman: find smallest route that visits each capitol.
Computer Science: computability Student social network: Study groups of size two? Size three?
Economics: rationality Many systems are composed of many independent self-interested agents These agents are • rational, i.e. they act in their own self-interest • and reason strategically, i.e. they take into account the actions of others
Let’s play a game Experiment: The median game. 1. Guess an integer in [1, …, 100]. 2. Write your number on a piece of paper. P R I Z E : The people whose numbers are closest to 2/3 of the median win.
The Median Game 25 45 0 50 69 winner! Jose Julian Bruce Marcos Nicole Calculating the winner: 1. Sort the numbers: 0, 25, 45, 50, 69 2. Pick the middle one (the median): 45 3. Compute 2/3 of the median: 30
Questions Given computability & rationality assumptions: • How will selfish agents behave? • What properties emerge as a result of selfish behavior? • Is it possible to formulate the rules of the system to encourage socially-optimal behavior?
Market Design Develop simple theory, …to deal with complexity in practice.
Market Design Complexities Thickness: need to attract a sufficient proportion of potential market participants to come together ready to transact with one another. – from What have we learned from market design?, by Al Roth
Market Design Complexities Congestion: must provide enough time or fast enough transactions so that market participants can consider enough alternatives to arrive at satisfactory ones. – from What have we learned from market design?, by Al Roth
Market Design Complexities Simplicity: must make it easy to participate in market as opposed to transacting outside of the marketplace or engaging in strategic behavior that reduces overall welfare. – from What have we learned from market design?, by Al Roth
Market Design Complexities • Others: • Asset to be traded • Nature of contracts • Medium of exchange • Measure of performance • Need for design • Market culture • Fairness and repugnance – from 1/22/14 post on The Leisure of the Theory Class, by Ricky Vohra
Example: traditional markets Practice: FCC spectrum auctions, eBay, ad auctions etc.: sellers offer goods and services, buyers purchase via posted prices or auctions
Example: traditional markets Issues: Strategic behavior, complex agent preferences, price discovery, packages and deals
Example: traditional markets Theory: Existence of market-clearing prices, approximately optimal simple mechanisms, techniques to aid price discovery
Example: school choice Practice: Boston, New York City, etc: students submit preferences about different schools; matched based on “priorities” (e.g., test scores, geography, sibling matches)
Example: school choice Issues: NYC too slow to clear; Boston strategically complicated, result in unstable matches, many complaints in school boards
Example: school choice Theory: theorists proposed alternate mechanisms including the Gale-Shapley algorithm for stable marriage, schools adopt these
Example: entry-level labor markets Practice: National Residency Matching Program (NRMP): physicianslook for residency programs at hospitals in the United States
Example: entry-level labor markets Issues: 1950 1990 decentralized, unraveling, exploding offers inefficiencies centralized clearinghouse, 95% voluntary participation dropping participation sparks redesign to accommodate couples, system still in use
Example: entry-level labor markets Theory: NRMP central clearinghouse algorithm corresponds to Gale-Shapley algorithm
Example: kidney exchange Practice: • In 2005: • 75,000 patients waiting for transplants • 16,370 transplants performed (9,800 from deceased donors, 6,570 from living donors) • 4,200 patients died while waiting
Example: kidney exchange Issues: • Source and allocation of kidneys: • cadaver kidneys: centralized matching mechanism based on priority queue • living donors: patient must identify donor, needs to be compatible • other: angel donors, black market sales
Example: kidney exchange Theory: living donor exchanges: patient 1 donor 1 patient 2 donor 2
Example: kidney exchange Theory: living donor exchanges: adopted mechanism uses top-trading cycles, theory of maximum matching, results in improved welfare (many more transplants)
Part 2: Bipartite Matching.
Matching Boys Girls Questions. 1) What’s the most # of agents we can accommodate? 2) How can we find this allocation?
Matching Bipartite Graph: Boys Girls left vertices right vertices edges
Matching right vertices Bipartite Graph: 0 1 left vertices edges
Matching matching = a set of edges that share no vertices.
Matching maximal How to find a maximum matching?Idea: add edges until we can’t anymore.
Matching maximum maximal How to find a maximum matching?Idea: add edges until we can’t anymore.Not maximum, but close!