150 likes | 258 Views
Approximating Market Equilibria. Kamal Jain, Microsoft Research Mohammad Mahdian, MIT Amin Saberi, Georgia Tech. 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 .
E N D
Approximating Market Equilibria Kamal Jain, Microsoft Research Mohammad Mahdian, MIT Amin Saberi, Georgia Tech
Background • Consider a market consisting of nagents trading m types of divisible goods. • The amount of good j that agent i initially has is wij. • We can assume, wlog, that total amount of goodj in the market is 1 (i.e., i wij=1). • Agent i has a utility function ui: RmR+. This means that if for two bundles x, x’2Rm, we have ui(x)>ui(x’) , then agent i prefers x to x’.
Background, cont’d. • Assume a price of p*jdollars is set for one unit of good j. • Agent i can sell her initial endowment for jp*jwij dollars. • With this money, she buys a bundle x that • Such a bundle x is called an optimal bundle for i.
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.
Fisher’s Model • Assume we have nbuyers, and msellers, each selling a different divisible good. • Buyer i has a budget of ei dollars, and a utility function ui: Rm 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.
The DPSV algorithm • Given a price vector p, they define an equality subgraphN(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 pj, • from i2B to t of capacity ei, and • from j2A to i2B of capacity 1 if j has the maximum bang per buck (utility/price) for i.
Equality subgraph, an example. C C’ 2 40/11 3 10 1 5 80/11 6 s t 1 2 10 0 8 100/11 • Prices are market clearing iff max flow = j pj = i ei. 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.
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 p0 satisfies the invariant, then there is a market-clearing price vector p* such that p* ¸ p0. Moreover, p* can be computed in polytime.
Approximate Market Equilibrium • Definition [DPS]. An -approximate market equilibrium is a price vector p* and a bundle xi for agent i such that • the market clears, i.e., for every j, i xij =1, and • all agents are approximately maximally happy, i.e., ui(xi) is at least (1-) times ui 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.
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 ei(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.
The Algorithm • Start with p := (1,1,…,1). • Let D := maxdef(p). • Construct an instance Mp of the Fisher’s model by fixing the budgets of buyers at ei(p) and adding a dummy buyer of budget D who is interested in all goods at price p. • Run DPSV algorithm on Mp starting from p. Let p’ be the output. • If for every agent i, ei(p’)/ei(p) · 1+, then stop and output p’; else, continue at step 2 with p := p’.
An Example Tom has milk and cheese. Jerry has meat. 2 12/11 1 2 3 36/11 1 5 2 24/11 1 s t 1 2 2 1 30/11 0 30/11 1 2 1 Dummy Iteration 1 Iteration 2 Iteration 3 This is an equilibrium!
Proof of Correctness • Fact 1. The price vector p satisfies the invariant on Mp. • 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)). 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 ei(p) that only consists of items with max bang per buck for i. • Thus, since ei(p’)/ei(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.
Analysis of Running Time • Algorithm never increases maxdef(p). • Consider one iteration of the algorithm. Let e’i := ei(p’), ei := ei(p). • ei’ – ei · D. • If e’i/ei > 1 + , then m/ei > . Thus, ei < m/. • The inequality e’i/ei > 1 + holds in at most log1+((m/) / emin) iterations. • Thus, the total # of iterations is at most )e’i/ei· 1 + D/ei· 1 + m/ei.
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…