Title: Algorithmic Game Theory and Internet Computing
1Algorithmic Game Theoryand Internet Computing
Primal-Dual Algorithms for Rational Convex
Programs I
- Vijay V. Vazirani
- Georgia Tech
-
2Rational convex program
- A nonlinear convex program that
- always has a rational solution,
- using polynomially many bits,
- if all parameters are rational.
3Rational convex program
- A nonlinear convex program that
- always has a rational solution,
- using polynomially many bits,
- if all parameters are rational.
- i.e., it behaves like an LP!
4Central Tenet withinMathematical Economics
- Markets should operate at equilibrium
- i.e., prices s.t.
- Parity between supply and demand
5Do markets even admitequilibrium prices?
6Easy if only one good!
Do markets even admitequilibrium prices?
7Supply-demand curves
8What if there are multiple goods and multiple
buyers with diverse desires and different buying
power?
Do markets even admitequilibrium prices?
9Irving Fisher, 1891
- Defined a fundamental
- market model
-
- Special case of Walras model
10(No Transcript)
11(No Transcript)
12Concave utility function (for good j)
utility
13total utility
14For given prices,find optimal bundle of goods
15Several buyers with different utility functions
and moneys.
16Several buyers with different utility functions
and moneys.Equilibrium prices
17Several buyers with different utility functions
and moneys.Find equilibrium prices!
18Linear utility function
utility of i
amount of j
19Linear Fisher Market
- Assume
- Buyer is total utility,
- mi money of buyer i.
- One unit of each good j.
- n buyers and g goods.
- Find equilibrium prices!
20Eisenberg-Gale Program, 1959
21Eisenberg-Gale Program, 1959
prices pj
22Why remarkable?
- Equilibrium simultaneously optimizes
- for all agents.
- How is this done via a single objective function?
23Eisenberg-Gale Program
- Theorem Optimal soln. gives equilibrium
allocations, dual gives prices. - Equilibrium utilities and prices are unique.
- Show Each buyer spends all her money
- buys an optimal bundle of goods.
- All goods fully sold.
24KKT conditions
25Proof of rationality
- Guess positive allocation variables (say k).
- Substitute 1/pj by a new variable, say qj
- LP with (k g) unknowns. Constraints
- Inequalities KKT Conds. (3) non-negativity.
- Equations KKT Conds. (2) (4).
26KKT conditions
27 Combinatorial Algorithm for Linear Case of
Fishers Model
- Devanur, Papadimitriou, Saberi V., 2002
- By extending the primal-dual paradigm to the
- setting of convex programs KKT conditions
-
28Combinatorial algorithms
- Yield deep structural insights.
- Preferable for applications.
29Auction for Googles TV ads
- N. Nisan et. al, 2009
- Used market equilibrium based approach.
- Combinatorial algorithms for linear case
- provided
inspiration.
30(No Transcript)
31(No Transcript)
32Yin Yang
33An easier question
- Given prices p, are they equilibrium prices?
- If so, find equilibrium allocations.
34An easier question
- Given prices p, are they equilibrium prices?
- If so, find equilibrium allocations.
- Equilibrium prices are unique!
35Bang-per-buck
- At prices p, buyer is most
- desirable goods, Si
-
- Any goods from Si worth m(i)
- constitute is optimal bundle
-
36For each buyer, most desirable goods, i.e.
37Network N(p)
p(1)
m(1)
p(2)
m(2)
t
s
p(3)
m(3)
m(4)
p(4)
infinite capacities
38Max flow in N(p)
p(1)
m(1)
p(2)
m(2)
p(3)
m(3)
m(4)
p(4)
p equilibrium prices iff both cuts saturated
39Idea 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
-
-
40An important consideration
- The price of a good never exceeds
- its equilibrium price
- Invariant s is a min-cut
41Invariant s is a min-cut in N(p)
p(1)
m(1)
p(2)
m(2)
s
p(3)
m(3)
m(4)
p(4)
p low prices
42Idea of algorithm
- Iterations
- execute primal dual improvements
43How is primal-dual paradigm adapted to
nonlinear setting?
44Fundamental difference betweenLPs and convex
programs
- Complementary slackness conditions
- involve primal or dual variables, not
both. - KKT conditions involve primal and dual
- variables simultaneously.
45KKT conditions
46KKT conditions
47Primal-dual algorithms so far(i.e., LP-based)
- Raise dual variables greedily. (Lot of effort
spent - on designing more sophisticated dual
processes.)
48Primal-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.
49Primal-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.
50Our algorithm
- Dual variables (prices) are raised greedily
- Yet, primal objects go tight and loose
- Because of enhanced KKT conditions
51Our algorithm
- Dual variables (prices) are raised greedily
- Yet, primal objects go tight and loose
- Because of enhanced KKT conditions
- New algorithmic ideas needed!
52Key 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
53Max-flow in N
p
m
s
t
i
W.r.t. a max-flow f, surplus(i) m(i)
f(i,t)
54Max-flow in N
p
m
s
t
i
surplus vector vector of surpluses w.r.t. f
55Obvious potential function
- Total surplus money l1 norm of surplus
vector - Decrease l1 norm of surplus vector by
- inverse polynomial fraction in each iteration
56Balanced flow
- A max-flow that
- minimizes l2 norm of surplus vector.
- Makes surpluses as equal as possible.
57Max-flow in N
p
m
s
t
i
surplus vector vector of surpluses w.r.t. f
58Balanced flow
- A max-flow that
- minimizes l2 norm of surplus vector.
- Makes surpluses as equal as possible.
- All balanced flows have same surplus vector.
59Our algorithm
- Decreases l2 norm of surplus vector by
- inverse polynomial fraction in each iteration.
60(No Transcript)
61Property 1
- f max-flow in N.
- R residual graph w.r.t. f.
- If surplus (i) lt surplus(j) then there is no
- path from i to j in R.
62Property 1
R
i
j
surplus(i) lt surplus(j)
63Property 1
R
i
j
surplus(i) lt surplus(j)
64Property 1
R
i
j
Circulation gives a more balanced flow.
65Property 1
- Theorem A max-flow is balanced iff
- it satisfies Property 1.
66Algorithm for an iteration
- Construct N(I, J)
- Raise prices in J
- New edge enters N
- Stop when Invariant is threatened
67Network N(p)
p
m
bang-per-buck edges
buyers
goods
68- 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
69Network N(p)
N - N
J
I
N(I, J)
70Network N(p)
N - N
J
I
N(I, J)
71- Construct N(I, J)
- Raise prices in J
- N is decoupled from N - N
- New edge enters N
- Stop when Invariant is threatened
72Network N(p)
N - N
J
I
N(I, J)
73Network N(p)
N - N
J
I
N(I, J)
Hence Invariant is not violated by its removal.
By Property 1, this edge did not carry any flow.
74Raise prices in J
- proportionately, so that
- edges in N dont change.
- p . x, for each p in J
- initialize x 1
- raise x
75- Construct N(I, J)
- Raise prices in J
- New edge enters N
- Stop when Invariant is threatened
76Network N(p)
N - N
J
I
N(I, J)
77- 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
78Network N(p)
N - N
J
I
N(I, J)
79Network N(p)
N - N
J
I
N(I, J)
80Network N(p)
N - N
J
I
N(I, J)
81- 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
82Algorithm for an iteration
- Construct N(I, J)
- Raise prices in J
- New edge enters N
- Stop when Invariant is threatened
83Tight set p(S) m(T)
N - N
S
T
N(I, J)
84- Surplus of buyers in T drops to 0
85- Surplus of buyers in T drops to 0
- l1 norm of surplus vector drops by 1/n
fraction - after the iteration.
86- 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.
87Network N(p)
N - N
J
I
N(I, J)
88- 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
89Network N(p)
N - N
J
I
N(I, J)
90- 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
91Our algorithm
- Decreases l2 norm of surplus vector by
- 1/n2 fraction in each iteration
92Open question
- Can define balanced flow without l2 norm
- Balanced flow lexicographically smallest flow
- Q Can we dispense with l2 norm in proof?
93Open 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!
94(No Transcript)
95KKT conditions were relaxed
- e(i) money currently spent by i
- w.r.t. a balanced flow in N
- surplus
money of i
96Relaxed KKT conditions
e(i)
e(i)
97Potential function
Algorithm drops potential by an inverse
polynomial factor in each iteration (strongly
polynomial time).
98Running time
- No. of iterations is log in
- Polynomial running time.
99Running time
- No. of iterations is log in
- Polynomial running time.
- Q Strongly polynomial algorithm?
100A new development
- Orlin, 2009 Strongly polynomial algorithm
- for Fishers linear case.
- Open For rest.
101Second point of departure
- KKT conditions are satisfied via a
- continuous process
- Normally in discrete steps
102Relaxed KKT conditions
e(i)
e(i)
103Open
- Can Fishers linear case
- be captured via an LP?