Vazirani2

advertisement
Algorithms for the Linear Case,
Algorithmic Game Theory
and Beyond …
and Internet Computing
Vijay V. Vazirani
Georgia Tech
Irving Fisher, 1891
 Defined a fundamental
market model
 Special case of Walras’
model
Several buyers with
different utility functions and moneys.
Find equilibrium prices!!
p1
p2
p3
Linear Fisher Market

Assume:
 Buyer
i’s total utility,
vi   uij xij
jG

mi : money of buyer i.
 One unit of each good j.

Find market clearing prices!
Eisenberg-Gale Program, 1959
max  mi log vi
i
s.t.
i : vi   j u ij x ij
 x 1
ij : x  0
j :
ij
i
ij
Eisenberg-Gale Program, 1959
max  mi log vi
i
s.t.
i : vi   j u ij x ij
 x 1
ij : x  0
j :
ij
i
ij
prices pj
Convex programs that
capture market equilibria

Underly all “efficient” markets (so far).

Rational convex programs for many markets!

Algorithms:

combinatorial, for rational (primal-dual)
 continuous (ellipsoid/interior point)
Combinatorial algorithms for
rational convex programs

Natural extension of field of
combinatorial optimization!
Combinatorial algorithms for
rational convex programs

Natural extension of field of
combinatorial optimization!

Central aspect of C.O. – efficient algorithms
for solving integral LP’s, e.g. matching, flow.
Combinatorial Algorithm for
Linear Case of Fisher’s Model

Devanur, Papadimitriou, Saberi & V., 2002
By extending the primal-dual paradigm to the
setting of convex programs & KKT conditions
Combinatorial algorithms

Yield deep structural insights.

Preferable for applications.
Auction for Google’s TV ads
N. Nisan et. al, 2009:

Used market equilibrium based approach.

Combinatorial algorithms for linear case
provided “inspiration”.
Primal-Dual Paradigm
 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
Steiner tree
Steiner network
k-MST
scheduling . . .
facility location
k-median
multicut
feedback vertex set
Yin & Yang
An easier question

Given prices p, are they equilibrium prices?

If so, find equilibrium allocations.
An easier question

Given prices p, are they equilibrium prices?

If so, find equilibrium allocations.

Equilibrium prices are unique!
Bang-per-buck

At prices p, buyer i’s most
uij
desirable goods,
Si = arg max j
pj

Any goods from Si worth m(i)
constitute i’s optimal bundle
For each buyer, most desirable goods, i.e.

 uij 

Si  arg max j  

 pj 

m(1)
p(1)
m(2)
p(2)
m(3)
p(3)
m(4)
p(4)
Network N(p)
p(1)
m(1)
t
p(2)
m(2)
p(3)
m(3)
m(4)
p(4)
infinite capacities
s
Max flow in N(p)
p(1)
m(1)
m(2)
p(2)
p(3)
m(3)
m(4)
p(4)
p: equilibrium prices iff both cuts saturated
Idea of algorithm

“primal” variables: allocations

“dual” variables: prices of goods

Approach equilibrium prices from below:
 start
with very low prices; buyers have surplus money
 iteratively keep raising prices
and decreasing surplus
An important consideration

The price of a good never exceeds
its equilibrium price
 Invariant:
s is a min-cut
Invariant: s is a min-cut in N(p)
p(1)
m(1)
p(2)
m(2)
p(3)
m(3)
m(4)
p(4)
p:
low prices
s
Idea of algorithm

Iterations:
execute primal & dual improvements
Allocations
Prices
How is primal-dual paradigm
adapted to nonlinear setting?
Fundamental difference between
LP’s and convex programs

Complementary slackness conditions:
involve primal or dual variables, not both.

KKT conditions: involve primal and dual
variables simultaneously.
KKT conditions
1.j : p j  0
2.j : p j  0   i xij  1
uij
vi
3.i, j :

p j m(i )
uij
vi
4.i, j : xij  0 

p j m(i )
KKT conditions
1.j : p j  0
2.j : p j  0   i xij  1
uij
vi
3.i, j :

p j m(i )
u
x

ij
ij
vi
j
4.i, j : xij  0 


p j m(i)
m(i)
uij
Primal-dual algorithms so far
(i.e., LP-based)

Raise dual variables greedily. (Lot of effort spent
on designing more sophisticated dual processes.)
Primal-dual algorithms so far

Raise dual variables greedily. (Lot of effort spent
on designing more sophisticated dual processes.)
 Only
exception: Edmonds, 1965: algorithm
for max weight matching.
Primal-dual algorithms so far

Raise dual variables greedily. (Lot of effort spent
on designing more sophisticated dual processes.)
 Only

exception: Edmonds, 1965: algorithm
for max weight matching.
Otherwise primal objects go tight and loose.
Difficult to account for these reversals -in the running time.
Our algorithm

Dual variables (prices) are raised greedily

Yet, primal objects go tight and loose
 Because
of enhanced KKT conditions
Our algorithm

Dual variables (prices) are raised greedily

Yet, primal objects go tight and loose
 Because

of enhanced KKT conditions
New algorithmic ideas needed!
Key Algorithmic Idea

Dual variables (prices) are raised greedily

Yet, primal objects go tight and loose
 Because

of enhanced KKT conditions
Balanced Flows: For limiting no. of such events
Max-flow in N
t
p
m
i
W.r.t. a max-flow f, surplus(i) = m(i) – f(i,t)
s
Max-flow in N
p
m
i
surplus vector = vector of surpluses w.r.t. f
Obvious potential function

Total surplus money = l1 norm of surplus vector

Reduce l1 norm of surplus vector by
inverse polynomial fraction in each iteration
Balanced flow

A max-flow that
minimizes l2 norm of surplus vector.

Makes surpluses as equal as possible.
Balanced flow

A max-flow that
minimizes l2 norm of surplus vector.

Makes surpluses as equal as possible.

All balanced flows have same surplus vector.
Our algorithm

Reduces l2 norm of surplus vector by
inverse polynomial fraction in each iteration.
s2
(0, 1)
(1, 0)
s1
Property 1

f: max-flow in N.

R: residual graph w.r.t. f.

If surplus (i) < surplus(j) then there is no
path from i to j in R.
Property 1
R:
i
j
surplus(i) < surplus(j)
Property 1
R:
i
j
surplus(i) < surplus(j)
Property 1
R:
i
j
Circulation gives a more balanced flow.
Property 1

Theorem: A max-flow is balanced iff
it satisfies Property 1.
Algorithm for an iteration

Construct N’(I, J)

Raise prices in J

New edge enters N

Stop when Invariant is threatened
Network N(p)
p
m
bang-per-buck
edges
buyers
goods

Construct N’(I, J)
 Find
a balanced flow in N(p)
Let d = max surplus w.r.t. balanced flow
 I = buyers with surplus d
 J = goods desired by I

Raise prices in J

New edge enters N

Stop when Invariant is threatened
Network N(p)
N - N’
I
N’(I, J)
J
Network N(p)
N - N’
I
N’(I, J)
J

Construct N’(I, J)

Raise prices in J

N’ is decoupled from N - N’

New edge enters N

Stop when Invariant is threatened
Network N(p)
N - N’
I
N’(I, J)
J
Network N(p)
N - N’
I
N’(I, J)
J
Hence
Invariant
is not
its removal.
By
Property
1, this
edgeviolated
did notby
carry
any flow.
Raise prices in J


proportionately, so that
edges in N’ don’t change.
p . x, for each p in J

initialize x = 1
 raise x

Construct N’(I, J)

Raise prices in J

New edge enters N

Stop when Invariant is threatened
Network N(p)
N - N’
I
N’(I, J)
J

Construct N’(I, J)

Raise prices in J

New edge enters N
 Recompute
balanced flow
 Buyers in N - N’ having residual paths to N’ 
Move to N’

Stop when Invariant is threatened
Network N(p)
N - N’
I
N’(I, J)
J
Network N(p)
N - N’
I
N’(I, J)
J
Network N(p)
N - N’
I
N’(I, J)
J

Construct N’(I, J)

Raise prices in J

New edge enters N
 Recompute
balanced flow
 Buyers moved to N’ will have
sufficiently large surplus

Stop when Invariant is threatened
Algorithm for an iteration

Construct N’(I, J)

Raise prices in J

New edge enters N

Stop when Invariant is threatened
Tight set: p(S) = m(T)
N - N’
S
T
N’(I, J)

Surplus of buyers in T drops to 0

Surplus of buyers in T drops to 0
 l1
norm of surplus vector drops by 1/n fraction
after the iteration.

Assume k sub-iterations.

Let d0 = d.
At the end of lth sub-iteration,
dl = min {surplus(i) | i is in I}. So, dk = 0.
Network N(p)
N - N’
I
N’(I, J)
J

Some i in old I will achieve minimum.
Its surplus must drop by at least (dl-1 – dl).

Therefore, decrease in l1 norm
in sub-iteration l is at least (dl-1 – dl)

Therefore, decrease in iteration is at least d
Network N(p)
N - N’
I
N’(I, J)
J

Assume k sub-iterations.

Let d0 = d.
At the end of lth sub-iteration,
dl = min {surplus(i) | i is in I}. So, dk = 0.

Decrease in l1 norm in sub-iteration l
is at least (dl-1 – dl)

Decrease in l22 norm in sub-iteration l
is at least (dl-1 – dl)2
Our algorithm

Reduces l2 norm of surplus vector by
1/n2 fraction in each iteration
Open question

Can define balanced flow without l2 norm
 Balanced

flow = lexicographically smallest flow
Q: Can we dispense with l2 norm in proof?
Open question

Can define balanced flow without l2 norm
 Balanced
flow = lexicographically smallest flow

Q: Can we dispense with l2 norm in proof?

V, 2008: Family of examples s.t. l1 norm of
surplus vector decreases by inverse exponential
fraction in an iteration!
s2
(0, 1)
(1, 0)
s1
KKT conditions were relaxed


e(i): money currently spent by i
w.r.t. a balanced flow in N
 i  mi  e(i)
surplus money of i
Relaxed KKT conditions
1.j : p j  0
2.j : p j  0   i xij  1
uij
vi
3.i, j :

e(i)
p j m(i )
uij
vi
e(i)
4.i, j : xij  0 

p j m(i )
Potential function
      ...  
2
1
2
2
2
n
Algorithm drops potential by an inverse polynomial
factor in each iteration (strongly polynomial time).
Potential function
      ...  
2
1
2
2
2
n
Algorithm drops potential by an inverse polynomial
factor in each iteration (strongly polynomial time).
  poly
 m 
i
i
Second point of departure
KKT conditions are satisfied via a
continuous process
 Normally: in discrete steps

Piecewise linear, concave
utility
Additively separable over
goods
amount of j
Long-standing open problem

Complexity of finding an equilibrium for
Fisher and Arrow-Debreu models under
separable, plc utilities?
How do we build on solution
to the linear case?
Generalize EG program to
piecewise-linear, concave utilities?
utility/unit of j
utility
u
ijk
l
ijk
amount of j
Generalization of EG program
max  mi log vi
i
s.t.
i :
j :
ijk :
ijk :
vi   j ,k u ijk x ijk
 x 1
x  l
x 0
i ,k
ijk
ijk
ij
ijk
Generalization of EG program
max  mi log vi
i
s.t.
i :
j :
ijk :
ijk :
vi   j ,k u ijk x ijk
 x 1
x  l
x 0
i ,k
ijk
ijk
ij
ijk
Build on combinatorial insights

V. & Yannakakis, 2007:
Equilibrium is rational for Fisher and
Arrow-Debreu models under separable,
plc utilities.

Given prices p, are they equilibrium prices?
Case 1
partially allocated
utility
fully allocated
xij
amount of j
Case 2: no p.a. segment
utility
fully allocated
xij
amount of j

p
full & partial segments
Network N(p)
 Theorem:
p equilibrium prices iff
max-flow in N(p) = unspent money.
Network N(p)
m '1
q1
m '2
q2
t
s
q3
m '3
q4
m '4
partially allocated segments

LP for max-flow in N(p); variables = fe’s

Next, let p be variables!

“Guess” full & partial segments – gives N(p)

Write max-flow LP -- it is still linear!

variables =
fe’s & pj’s
Rationality proof

If “guess” is correct,
at optimality, pj’s are equilibrium prices.

Hence rational!
Rationality proof

If “guess” is correct,
at optimality, pj’s are equilibrium prices.


Hence rational!
In P??
NP-hardness does not apply

Megiddo, 1988:
 Equilibrium NP-hard

=> NP = co-NP
Papadimitriou, 1991: PPAD
 2-player
Nash equilibrium is PPAD-complete
 Rational

Etessami & Yannakakis, 2007: FIXP
 3-player
Nash equilibrium is FIXP-complete
 Irrational
Markets with piecewise-linear,
concave utilities

Chen, Dai, Du, Teng, 2009:
 PPAD-hardness
for Arrow-Debreu model
Markets with piecewise-linear,
concave utilities

Chen, Dai, Du, Teng, 2009:
 PPAD-hardness

Chen & Teng, 2009:
 PPAD-hardness

for Arrow-Debreu model
for Fisher’s model
V. & Yannakakis, 2009:
 PPAD-hardness
for Fisher’s model
Markets with piecewise-linear,
concave utilities
V, & Yannakakis, 2009:
 Membership in PPAD for both models,
Algorithmic ratification of the
“invisible hand of the market”
How do we salvage the situation??
Is PPAD really hard??
What is the “right” model??
Open
Can Fisher’s linear case
be captured via an LP?
Download