410 likes | 421 Views
This lecture covers topics such as Gale-Shapley marriage market model extensions, stability concepts, computational issues, multi-item market analysis, single-item market auctions, envy-freeness, competitive equilibrium, and computation algorithms.
E N D
Market Design and Analysis Lecture 3 Lecturer: Ning Chen (陈宁) Email: ningc@ntu.edu.sg
Last Two Lectures… Gale-Shapley marriage market mathematical model extensions (incomplete preferences, different # of M and W) solution concept: stability computational issue: G-S algorithm mathematical properties men/women optimal stable matching lattice, LP economic properties Pareto optimality, core strategic considerations 2
Multi-Item Market $2 $5 $6 $3 $4 $8 How to decide prices and allocations to achieve certain economic goals? 3
Multi-Item Market Market information m sellers, each has one item to sell n potential buyers, each demands at most one item for each buyer i and item j, there is a value vij meaning the max amount that i is willing to pay for item j Output: a tuple (p,x) where price vector (pj) j=1,…,m where pj is the price of item j allocation vector (xi) i=1,…,n where xi is the item that buyer i obtains xi = Ø denotes i obtains nothing xi ≠ xj for all i and j (unless they are Ø) 4
Single Item Market When there is only one item, i.e., m = 1, the problem degenerates to auction a single item Solutions: first price auction, second price auction,... Fairness guaranteed by the first and second price auction: no buyer envies other buyer’s allocation for the given charged price. That is, (e.g., in first price auction) if v1 ≥ v2 ≥ v3 ≥ ... ≥ vn buyer 1 wins the item at price v1 then the output (p,x) is p = v1and x = (1, Ø, Ø, ..., Ø) buyer 1 doesn’t prefer any other’s allocation Ø any other buyer doesn’t prefer buyer 1’s allocation 5
Envy-Freeness Given an output (p,x), the utility of buyer i is defined to be vij – pj, if i wins item j 0, if i wins nothing An output (p,x) is envy-free if the utility of every buyer is maximized at the corresponding allocation for the given price vector. That is, if i wins item j, vij – pj ≥ 0; and for any other item k, vij – pj ≥ vik – pk if i wins nothing, for any other item k, 0 ≥ vik – pk 6
Example Not envy-free! $2 $5 $3 $2 $6 $3 $4 $5 $4 Does an envy-free solution always exist for any instance? $8 7
Competitive Equilibrium An output (x,p) is called a competitive equilibrium if (market clearance) item priced at 0 if not allocated out items of non-zero price are all sold out (fairness) all buyers are envy-free Does a competitive equilibrium exist? 8
Example $2 $5 $0 $5 $6 $3 $0 $6 $4 $8 9
Computation of Competitive Equilibrium Theorem 10.1 (Shapley & Shubik). A competitive equilibrium always exists. How can we find one? 10
Computation – Demand Graph Given a price vector p, create a bipartite graph G(p) = (A,B;E), called demand graph, where Ais the set of buyers, B is the set of items (i,j) is an edge if vij – pj > 0 (i.e., i obtains positive utility from j) vij – pjis maximized among all items For every buyer i, its neighbor set is N(i) = {j: (i,j) ∈ E} items desired by i buyer’s most satisfied items at the current price vector 11
Computation – Price Increment Given a price vector p and demand graph G(p) = (A,B;E) N(i) is the set of items that i desires (i.e., utility-maximized) If there is S ⊆ A s.t. |S| > |T| where T = N(S) there is no way to allocated items in T to buyers in S to satisfy everyone in S T is over-demanded increase prices of items in T to reduce its “over-demand” Which over-demanded items should be increased? 12
Computation – Minimal Over-Demand Items Given a price vector p and demand graph G(p) = (A,B;E) we say a subset of items T ⊆ B is over-demanded if |S| > |T|, where S = {i ∈ A | N(i) ≠ Ø and N(i) ⊆ T} a subset of items T ⊆ B is minimal over-demanded if it is over-demanded and does not contain any over-demanded proper subset 13
Example over-demanded, but not minimal $2 $5 $0 $6 $3 $0 $4 $8 minimal over-demanded 14
Computation – Outline of the Algorithm Let p = 0 and initialize demand graph G(p) While there is an over-demanded subset price-increment: simultaneously increase current price vector p for the items in the minimal over-demanded subset till someone is about to change its demand set update the demand graph G(p) Output price vector: the final prices allocation vector: compute a matching of max size in G(p) 15
Computation – Step 2 Price Increment Let T⊆B be a minimal over-demanded set and S = N(T) Raise pj for each jT by the same amount till one of the following events occurs There are iS and jT s.t. i obtains the max utility from j (i,j) becomes a new edge of G There are iS and jT s.t. (i,j)E and vij = pj max obtainable utility of i (from all items) is 0 delete node i 16
value = (20,10) value = (80,40) value = (100,50) Example • Three buyers {R, B, G} • Two items {a, b} • Valuation vector: • R: (100, 50) • B: (80, 40) • G: (20, 10) a b 17
value = (20,10) value = (80,40) value = (100,50) Initialization: Price p = 0 • Price vector: (0, 0) • Utility vector: • R: (100, 50) • B: (80, 40) • G: (20, 10) p1 = 0 p2 = 0 18
value = (20,10) value = (80,40) value = (100,50) Initialization – Demand Graph • Price vector: (0, 0) • Utility vector: • R: (100, 50) • B: (80, 40) • G: (20, 10) • Minimal over-demanded subset: {a} p1 = 0 p2 = 0 19
value = (20,10) value = (80,40) value = (100,50) While loop1: Increase Price • Price vector: (10, 0) • Utility vector: • R: (90, 50) • B: (70, 40) • G: (10, 10) p1 = 10 p2 = 0 20
value = (20,10) value = (80,40) value = (100,50) While loop1: Update Graph • Price vector: (10, 0) • Utility vector: • R: (90, 50) • B: (70, 40) • G: (10, 10) • Minimal over-demanded subset: {a} p1 = 10 p2 = 0 21
value = (20,10) value = (80,40) value = (100,50) While loop2: Increase Price • Price vector: (40, 0) • Utility vector: • R: (60, 50) • B: (40, 40) • G: (0, 10) p1 = 40 p2 = 0 22
value = (20,10) value = (80,40) value = (100,50) While loop2: Update Graph • Price vector: (40, 0) • Utility vector: • R: (60, 50) • B: (40, 40) • G: (0, 10) • Minimal over-demandedsubset: {a, b} p1 = 40 p2 = 0 23
value = (20,10) value = (80,40) value = (100,50) While loop3: Increase Price • Price vector: (50, 10) • Utility vector: • R: (50, 40) • B: (30, 30) • G: (0, 0) p1 = 50 p2 = 10 24
value = (20,10) value = (80,40) value = (100,50) While loop3: Update Graph • Price vector: (50, 10) • Utility vector: • R: (50, 40) • B: (30, 30) • G: (0, 0) • No over-demanded items! p1 = 50 p2 = 10 25
value = (20,10) value = (80,40) value = (100,50) Final Output • Price vector: (50, 10) • Allocation vector: (a, b, Ø) p1 = 50 p2 = 10 26
Example $2 $5 $0 $2 $1 $6 $3 $0 $4 $3 $2 $5 $1 $4 $8 minimal over-demanded 27
Computation of Competitive Equilibrium Theorem 10.2 (Demange, Gale, Sotomayor). The above “ascending auction” algorithm computes a competitive equilibrium. 28
Properties of Competitive Equilibrium Given an allocation x, the social welfare is defined to be f(x) = ∑i vi,x(i) That is, the total valuations obtained for all buyers. An allocation x is called efficient if for any other feasible allocation x’, f(x) ≥ f’(x). 29
Properties of Competitive Equilibrium First Fundamental Welfare Theorem. For any competitive equilibrium (p,x), the allocation x is efficient, i.e., it maximizes social welfare. Second Fundamental Welfare Theorem. For any efficient allocation x, there is a price vector p such that (p,x) is a competitive equilibrium. 30
Stability and Competitive Equilibrium What is the relation between competitive equilibrium and stability? Definition of preferences: buyers prefer items with larger utility (i.e., vij – pj) sellers (i.e., items) prefer buyers with larger payment 31
Stability in Multi-Item Market Given an outcome (p,x), where pj is the price of item j (i.e., the total payment that seller j receives) xi is the allocation of buyer we say (i,j) a blocking pair if there is p’j such that p’j > pj(i.e., item j can receive more payment) the utility that i obtains in (p,x) is less than vij – p’j(i.e., by payment p’j to item j buyer i can get more utility) An outcome (p,x) is stable if it has no blocking pairs j new utility i old utility i new utility j old utility 32
Stability and Competitive Equilibrium Theorem 10.2 (Shapley, Shubik) In a multi-item market, an outcome (p,x) is a competitive equilibrium if and only if it is stable. Proof. If (p,x) is a competitive equilibrium, consider any buyer i: If xi = j (i.e., i wins item j), then and for any item k, vij – pj ≥ vik – pk. Hence, for any p’k > pk, vij – pj ≥ vik – pk > vik – p’k If xi =Ø (i.e., i wins nothing), for any item k, 0 ≥ vik – pk. Hence, for any p’k > pk, 0 ≥ vik – pk> vik – p’k That is, i and k cannot be a blocking pair, i.e., (p,x) is stable 33
Stability and Competitive Equilibrium Proof (continue). If (p,x) is stable, consider any buyer i: If xi = j (i.e., i wins item j), for any item k, if vij – pj < vik – pk then there is p’k > pk such that vij – pj < vik – p’k < vik – pk That is, (i, k) is a blocking pair, a contradiction. If xi =Ø (i.e., i wins nothing), for any item k, if0 < vik – pkHence, for any p’k > pk, 0 < vik – p’k< vik – pk Again, (i, k) is a blocking pair, a contradiction. That is, everyone is satisfied with his allocation, i.e., (p,x) is a competitive equilibrium 34
Stability and Competitive Equilibrium Since stability = competitive equilibrium, do other properties of stability, e.g., men/women optimal stable matching linear program and lattice structure one side truthfulness apply to competitive equilibrium? 35
Lattice Structure Given two competitive equilibria (p,x) and (p’,x’), we say (p,x) ≤ (p’,x’) if for all items, we have pj ≤ p’j Theorem 10.3 (Shapley, Shubik) The partial order ≤ forms a complete lattice. (p1,x1) (p2,x2) (p3,x3) (p4,x4) 36
Minimum/Maximum Competitive Equilibrium An outcome (p,x) is called a minimum competitive equilibrium if it is a competitive equilibrium and for any other competitive equilibrium (p’,x’), we have pj ≤ p’jfor all items. represents the interests of all buyers in terms of their total payment. maximum competitive equilibrium if it is a competitive equilibrium and for any other competitive equilibrium (p’,x’), we have pj ≥ p’jfor all items. represents the interests of all items (i.e., sellers) in terms of total payment received 37
Properties of Min/Max Competitive Equilibrium Existence. Lattice theorem implies that both minimum and maximum equilibria always exist. Uniqueness. A min/max competitive equilibrium may NOT be unique. For example, two buyers and one item with v1 = v2 = 10, there are two min/max competitive equilibria: p=10, x=(1,Ø) and p=10, x=(Ø,1). However, the price vector in min/max equilibrium is unique. 38
Properties of Min/Max Competitive Equilibrium Connection to first/second price auction. When there is a single item, what are min/max competitive equilibria? min equilibrium = 2nd price auction = buyer-optimal max equilibrium = 1st price auction = seller-optimal 39
Properties of Min/Max Competitive Equilibrium Computation. How can we compute a min/max competitive equilibrium? (Demange, Gale, Sotomayor) ascending auction algorithm computes a min competitive equilibrium computation of max equilibrium 40
Properties of Min/Max Competitive Equilibrium One-side truthfulness. What if (vij) are private information and buyer i bid (bij) strategically for every item j? min competitive equilibrium mechanism: it is a dominant strategy for every buyer to report his true valuation (vij) max competitive equilibrium mechanism: it is possible that some buyer bid a false value to obtain more utility 41