1 / 15

Approximating Market Equilibria

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 .

livvy
Download Presentation

Approximating Market Equilibria

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Approximating Market Equilibria Kamal Jain, Microsoft Research Mohammad Mahdian, MIT Amin Saberi, Georgia Tech

  2. 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: RmR+. This means that if for two bundles x, x’2Rm, we have ui(x)>ui(x’) , then agent i prefers x to x’.

  3. 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.

  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 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.

  6. 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.

  7. 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.

  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 p0 satisfies the invariant, then there is a market-clearing price vector p* such that p* ¸ p0. 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 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.

  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 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.

  11. 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’.

  12. 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!

  13. 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.

  14. 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.

  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…

More Related