2) combinatorial algorithms for traditional market models vijay v. vazirani
TRANSCRIPT
2) Combinatorial Algorithms for Traditional Market Models
Vijay V. Vazirani
Arrow-Debreu Theorem: Equilibria exist.
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
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, 1957Arrow-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 algorithmsGarg & Kapoor, 2004
Approximation algorithms.
Approximation
Find prices s.t. all goods clear
Each buyer get goods providing
at least optimal utility.(1 )
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,
i ij ijj
U u xiju
]1,0[
x
xuuij
ijj iji
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
i ij ijj
U u xiju
xuu ijj iji
Can equilibrium allocations be captured via an LP?
Set of feasible allocations:
1
, 0
iji
ij
j x
i j x
Does equilibrium optimize a global objective function?
Guess 1: Maximize sum of utilities, i.e.,
Problem: and
are equivalent utility functions.
max ( ) maxi ij iji i j
u x u x
2 ( )iu x( )iu x
However,
1i 1
1i 1
Maximize ( ) ( ) does not necessarily
maximize 2 ( ) ( )
1
, 0
i
i
iji
ij
u x u x
u x u x
j x
i j x
Guess 2: Product of utilities.
11
11
Maximize ( ) ( )
maximizes 2 ( ) ( )
1
, 0
ii
ii
iji
ij
u x u x
u x u x
j x
i j x
However, suppose a buyer with $200 is
split into two buyers with $100 each
And same utility function.
Clearly, equilibrium should not change.
However,
11
21
1
Maximize ( ) ( ) does not necessarily
maximize ( ) ( )
1
, 0
ii
ii
iji
ij
u x u x
u x u x
j x
i j x
Money of buyers is relevant.
Assume a utility function is written on
each dollar in market
Guess 3: Product of utilities over all dollars
( )Max ( )
1
, 0
m ii
i
iji
ij
u x
j x
i j x
Eisenberg-Gale Program, 1959
max ( ) log
. .
:
: 1
: 0
ii
i ij ijj
iji
ij
m i u
s t
i u
j
ij
u xx
x
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
$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
ij il
j l
u u
p p
How to raise prices? Ensure equality edges retained
i
j
l
ij il
j l
u u
p p
• Raise prices proportionatelyj ij
l il
p u
p u
ij il
j l
u u
p p
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
frozenreinitialize: 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
buyers goods
m p
buyers goods
ensure Invariant
m p
buyers goodsequality
subgraph ensure Invariant
m px
x = 1, x
}{ S( )S
( ) ( ( ))x p S m S
}{ S( )S
( ) ( ( ))x p S m S freeze S
tight set
}{ S( )S
prices in S are market clearing
x = 1, x
S( )S
active
frozen
px
x = 1, x
S( )S
active
frozen
px
x = 1, x
S( )S
active
frozen
px
new edge enters equality subgraph
S( )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.
,nnU
max { }ij ijU u
2 2Mn
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
40
60
20
70
surplus(i) = m(i) – f(i)
100
60
20
140
20
40
10
60
20
0
10
60
40
0
40
60
20
70
Surplus vector = (40, 60, 20, 70)
Balanced flow
A max-flow that minimizes l2 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
px
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, l2 norm of
surplus vector drops by (1 - 1/n2 ) factor.
Two reasons: total surplus decreasesflow becomes more balanced
Idea of Algorithm
algorithm: primal & dual improvements
measure of progress: l2-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
2 2( ( log log ))O n n U MnTheorem:
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, 2004Auction-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’
(1 )p
p
B 'B
p(1 )p
Outbid
Auction-based algorithm Go in rounds:
In each round, total surplus decreases by factor
Hence iterations suffice, M= total moneytotal money
1 2, ,... nB B B
(1 )
(1 )log M
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
maxmax
min minij
ij
uprice
price u
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