# Combinatorial Algorithms for Market Equilibria Vijay V. Vazirani.

## Presentation on theme: "Combinatorial Algorithms for Market Equilibria Vijay V. Vazirani."— Presentation transcript:

Combinatorial Algorithms for Market Equilibria Vijay V. Vazirani

Arrow-Debreu Theorem: Equilibria exist.

Do markets operate at equilibria?

Arrow-Debreu Theorem: Equilibria exist. Do markets operate at equilibria? Can equilibria be computed efficiently?

Arrow-Debreu is highly non-constructive

“Invisible hand” of the market: Adam Smith Scarf, 1973: approximate fixed point algs. Convex programs:  Fisher: Eisenberg & Gale, 1957  Arrow-Debreu: Newman and Primak, 1992

Used for deciding tax policies, price of new products etc. New markets on the Internet

Algorithmic Game Theory Use powerful techniques from modern algorithmic theory and notions from game theory to address issues raised by Internet. Combinatorial algorithms for finding market equilibria.

Two Fundamental Models Fisher’s model Arrow-Debreu model, also known as exchange model

Combinatorial Algorithms Primal-dual schema based algorithms  Devanur, Papadimitriou, Saberi & V., 2002 Combinatorial algorithm for Fisher’s model Auction-based algorithms  Garg & Kapoor, 2004 Approximation algorithms.

Approximation Find prices s.t. all goods clear Each buyer get goods providing at least optimal utility.

Primal-Dual Schema Highly successful algorithm design technique from exact and approximation algorithms

Exact Algorithms for Cornerstone Problems in P: Matching (general graph) Network flow Shortest paths Minimum spanning tree Minimum branching

Approximation Algorithms set cover facility location Steiner tree k-median Steiner network multicut k-MST feedback vertex set scheduling...

Main new idea Previous: problems captured via linear programs DPSV algorithm: problem captured via a nonlinear convex program

Fisher’s Model n buyers, with specified money, m(i) for buyer i k goods (unit amount of each good) Linear utilities: is utility derived by i on obtaining one unit of j Total utility of i,

Fisher’s Model n buyers, with specified money, m(i) k goods (each unit amount, w.l.o.g.) Linear utilities: is utility derived by i on obtaining one unit of j Total utility of i, Find prices s.t. market clears

Eisenberg-Gale Program, 1959

DPSV Algorithm “primal” variables: allocations of goods “dual” variables: prices algorithm: primal & dual improvements Allocations Prices

 Buyer i’s optimization program:  Global Constraint: Market Equilibrium

People Goods \$100 \$60 \$20 \$140

Prices and utilities \$100 \$60 \$20 \$140 \$20 \$40 \$10 \$60 10 20 4 2 utilities

Bang per buck \$100 \$60 \$20 \$140 \$20 \$40 \$10 \$60 10 20 4 2 10/20 20/40 4/10 2/60

Bang per buck Utility of \$1 worth of goods Buyers will only buy goods providing maximum bang per buck

Equality subgraph \$100 \$60 \$20 \$140 \$20 \$40 \$10 \$60 10 20 4 2 10/20 20/40 4/10 2/60

Equality subgraph \$100 \$60 \$20 \$140 \$20 \$40 \$10 \$60 Most desirable goods for each buyer

Any goods sold in equality subgraph make agents happiest How do we maximize sales in equality subgraph?

Any goods sold in equality subgraph make agents happiest How do we maximize sales in equality subgraph? Use max-flow!

Max flow 100 60 20 140 20 40 10 60 infinite capacities

Idea of Algorithm Invariant: source edges form min-cut (agents have surplus) Iterations: gradually raise prices, decrease surplus Terminate: when surplus = 0, i.e., sink edges also form a min-cut

Ensuring Invariant initially Set each price to 1/n Assume buyers’ money integral

How to raise prices? Ensure equality edges retained i j l

How to raise prices? Ensure equality edges retained i j l Raise prices proportionately

100 60 20 140 20x 40x 10x 60x initialize: x = 1 x

100 60 20 140 20x 40x 10x 60x x = 2: another min-cut x>2: Invariant violated

100 60 20 140 40x 80x 20 120 active frozen reinitialize: x = 1

100 60 20 140 50 100 20 120 active frozen x = 1.25

100 60 20 140 50 100 20 120

100 60 20 140 50 100 20 120 unfreeze

100 60 20 140 50x 100x 20x 120x x = 1, x

m p buyers goods ensure Invariant

m p buyers goods equality subgraph ensure Invariant

m pxpx x = 1, x

} { S

} { S freeze S tight set

} { S prices in S are market clearing

x = 1, x S active frozen pxpx

x = 1, x S active frozen pxpx

x = 1, x S active frozen pxpx

new edge enters equality subgraph S active frozen

unfreeze component active frozen

All goods frozen => terminate (market clears)

All goods frozen => terminate (market clears) When does a new set go tight? Solve as parametric cut problem

Termination Prices in S* have denominators Terminates in max-flows.

Polynomial time? Problem: very little price increase between freezings

Polynomial time? Problem: very little price increase between freezings Solution: work with buyers having large surplus

Max flow 100 60 20 140 20 40 10 60

100 60 20 140 20 40 10 60 20 0 10 60 40 0 Max flow

surplus(i) = m(i) – f(i) 100 60 20 140 20 40 10 60 20 0 10 60 40 0 60 20 70

surplus(i) = m(i) – f(i) 100 60 20 140 20 40 10 60 20 0 10 60 40 0 60 20 70 Surplus vector = (40, 60, 20, 70)

Balanced flow A max-flow that minimizes l 2 norm of surplus vector  tries to make surpluses as equal as possible

Algorithm Compute balanced flow

active frozen Active subgraph: Buyers with maximum surplus

active frozen x = 1, x pxpx

active frozen new edge enters equality subgraph

active frozen Unfreeze buyers having residual path to active subgraph

active frozen Unfreeze buyers having residual path to active subgraph Do they have large surplus?

f: balanced flow R(f): residual graph Theorem: If R(f) has a path from i to j then surplus(i) > surplus(j)

active frozen New set tight

active frozen New set tight: freeze

Theorem: After each freezing, l 2 norm of surplus vector drops by (1 - 1/n 2 ) factor. Two reasons:  total surplus decreases  flow becomes more balanced

Idea of Algorithm algorithm: primal & dual improvements measure of progress: l 2 -norm of surplus vector Allocations Prices

Polynomial time Theorem: max-flow computations suffice.

Weak gross substitutability Increasing price of one good cannot decrease demand for another good.

Weak gross substitutability Increasing price of one good cannot decrease demand for another good. => never need to decrease prices (dual variables).

Weak gross substitutability Increasing price of one good cannot decrease demand for another good. => never need to decrease prices (dual variables). Almost all primal-dual algs work this way.

Arrow-Debreu Model Approximate equilibrium algorithms:  Jain, Mahdian & Saberi, 2003: Use DPSV as black box.  Devanur & V., 2003: More efficient, by opening DPSV.

Garg & Kapoor, 2004 Auction-based algorithm Start with very low prices Keep increasing price of good that is in demand B has excess money. Favorite good: g Currently at price p and owned by B’ B outbids B’

Outbid

Auction-based algorithm Go in rounds: In each round, total surplus decreases by factor Hence iterations suffice, total money M= total money

Arrow-Debreu Model Start with all prices 1 Allocate money to agents (initial endowment) Perform outbid and update agents’ money

Arrow-Debreu Model Start with all prices 1 Allocate money to agents (initial endowment) Perform outbid and update agents’ money Any good with price >1 is fully sold

Arrow-Debreu Model Start with all prices 1 Allocate money to agents (initial endowment) Perform outbid and update agents’ money Any good with price >1 is fully sold Eventually every good will have price >1

Garg, Kapoor & V., 2004: Auction-based algorithms for additively separable concave utilities satisfying weak gross substitutability

Kapoor, Mehta & V., 2005: Auction-based algorithm for a (restricted) production model

Q: Distributed algorithm for equilibria? Appropriate model? Primal-dual schema operates via local improvements