Download presentation
Presentation is loading. Please wait.
Published byThomasina Wilkins Modified over 9 years ago
1
Approximating Market Equilibria Kamal Jain, Microsoft Research Mohammad Mahdian, MIT Amin Saberi, Georgia Tech
2
Background Consider a market consisting of n agents trading m types of divisible goods. The amount of good j that agent i initially has is w i j. We can assume, wlog, that total amount of good j in the market is 1 (i.e., i w i j =1). Agent i has a utility function u i : R m R +. This means that if for two bundles x, x’2 R m, we have u i (x)>u i (x’), then agent i prefers x to x’.
3
Background, cont’d. Assume a price of p * j dollars is set for one unit of good j. Agent i can sell her initial endowment for j p * j w i j dollars. With this money, she buys a bundle x that Such a bundle x is called an optimal bundle for i. maximizesu i (x) subject to j p * j x j · j p * j w i j.
4
The Arrow-Debreu Theorem Theorem. Assume utility functions are strictly concave. Then there’s a price vector p * such that if each agent buys her optimal bundle with respect to p *, then the market clears. When utility functions are not strictly concave, there exist a price vector p * and an optimal bundle for each agent, such that if the agents buy those bundles, then the market clears. Open Problem: Compute this equilibrium price vector in polynomial time.
5
Fisher’s Model Assume we have n buyers, and m sellers, each selling a different divisible good. Buyer i has a budget of e i dollars, and a utility function u i : R m R +. Want to set prices such that if each buyer buys an optimal bundle (subject to her budget), then the market clears. [DPSV] There is a polynomial time algorithm that computes equilibrium prices in the Fisher’s model when utilities are linear.
6
The DPSV algorithm Given a price vector p, they define an equality subgraph N(p). Vertex set of N(p) is A [ B [ {s,t}, where A is the set of sellers, B is the set of buyers, s is the source, and t is the sink. There are edges from s to j2A of capacity p j, from i2B to t of capacity e i, and from j2A to i2B of capacity 1 if j has the maximum bang per buck (utility/price) for i.
7
Equality subgraph, an example. Prices are market clearing iff max flow = j p j = i e i. In other words, want both C and C ’ to be min cuts. Idea of the DPSV alg: maintain the invariant that C is a min cut, and increase prices until C ’ becomes a min cut too. st 5 2 1 1 2 0 10 3 6 8 C C’ 40/11 80/11 100/11
8
The DPSV Algorithm, cont’d. Invariant. For every S µ A, price vector p satisfies m(S) · m( (S)), where m(S) = sum of prices of goods in S, and m( (S)) = sum of budgets of buyers who have edges to goods in S. Theorem [DPSV]. If p 0 satisfies the invariant, then there is a market-clearing price vector p * such that p * ¸ p 0. Moreover, p * can be computed in polytime.
9
Approximate Market Equilibrium Definition [DPS]. An -approximate market equilibrium is a price vector p * and a bundle x i for agent i such that the market clears, i.e., for every j, i x i j =1, and all agents are approximately maximally happy, i.e., u i (x i ) is at least (1- ) times u i of the optimal bundle for i w.r.t. p *. We will give a polytime algorithm for computing an -approximate equilibrium in the Arrow-Debreu model for every , using the DPSV algorithm.
10
The Idea of the Algorithm The problem is similar to Fisher’s model, except here the budgets of buyer i is a linear function of prices, which we denote by e i (p). We can define the equality subgraph in the same way. Define deficiency of S µ A as m(S) – m( (S)). Maximum deficiency of S µ A is denoted by maxdef(p). Fact. p * is market-clearing iff maxdef(p * )=0. Idea 1. Decrease relative max def in every step. Idea 2. Do it in steps; in each step fix the budgets.
11
The Algorithm 1. Start with p := (1,1,…,1). 2. Let D := maxdef(p). 3. Construct an instance M p of the Fisher’s model by fixing the budgets of buyers at e i (p) and adding a dummy buyer of budget D who is interested in all goods at price p. 4. Run DPSV algorithm on M p starting from p. Let p’ be the output. 5. If for every agent i, e i (p’)/e i (p) · 1+ , then stop and output p’; else, continue at step 2 with p := p’.
12
An Example st 5 2 1 1 2 0 2 1 1 1 1 Dummy 1 2 2 2 3 12/11 24/11 30/11 36/11 30/11 Iteration 1 Iteration 2Iteration 3 Tom has milk and cheese. Jerry has meat. This is an equilibrium!
13
Fact 1. The price vector p satisfies the invariant on M p. Proof. By definition, for every set S, m(S) – m( (S)) · D in the original graph. After adding the dummy buyer m( (S)) increases by D. Thus, after adding the dummy buyer, m(S) · m( (S)). Proof of Correctness Fact 2. The output is an -approximate equilibrium. Proof. Consider the last iteration of the algorithm. At prices p’, buyer i can buy a bundle of cost e i (p) that only consists of items with max bang per buck for i. Thus, since e i (p’)/e i (p) · 1+ , buyer i spends a 1- fraction of her budget on items that have the max utility per price for her. Hence, her utility is at least 1- times her optimal utility w.r.t. p’. Distribute remaining goods among buyers arbitrarily.
14
Analysis of Running Time Algorithm never increases maxdef(p). Consider one iteration of the algorithm. Let e’ i := e i (p’), e i := e i (p). e i ’ – e i · D. If e’ i /e i > 1 + , then m/e i > Thus, e i < m/ . The inequality e’ i /e i > 1 + holds in at most log 1+ ((m/ ) / e min ) iterations. Thus, the total # of iterations is at most ) e’ i /e i · 1 + D/e i · 1 + m/e i.
15
Open Questions Find a polynomial time algorithm for computing an exact market equilibrium. Find a strongly polynomial time algorithm in the Fisher’s setting. Is the first algorithm of [DPSV] strongly polynomial time? What about non-linear utility functions? Incentive issues…
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.