2) Combinatorial Algorithms for Traditional Market Models 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
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: nonlinear convex program Eisenberg-Gale Convex Program, 1959
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
Can equilibrium allocations be captured via an LP? Set of feasible allocations:
Does equilibrium optimize a global objective function? Guess 1: Maximize sum of utilities, i.e., Problem: and are equivalent utility functions.
However,
Guess 2: Product of utilities.
However, suppose a buyer with $200 is split into two buyers with $100 each And same utility function. Clearly, equilibrium should not change.
However,
Money of buyers is relevant. Assume a utility function is written on each dollar in market
Guess 3: Product of utilities over all dollars
Eisenberg-Gale Program, 1959
Via KKT Conditions can establish: Optimal solution gives equilibrium allocations Lagrange variables give prices of goods
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 $ utilities
Bang per buck $100 $60 $20 $140 $20 $40 $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 $ /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 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
x 40x 10x 60x initialize: x = 1 x
x 40x 10x 60x x = 2: another min-cut x>2: Invariant violated
x 80x active frozen reinitialize: x = 1
active frozen x = 1.25
unfreeze
x 100x 20x 120x x = 1, x
m buyers goods
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
Max flow
surplus(i) = m(i) – f(i)
surplus(i) = m(i) – f(i) 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
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.
Polynomial time Theorem: max-flow computations suffice.
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