Document

Algorithmic Game Theory
3) New Market Models,
and Internet Computing
Resource Allocation Markets
Vijay V. Vazirani
Fisher’s Model


n buyers, with specified money, m(i) for buyer i
k goods (unit amount of each good) U  u x

Linear utilities: uij is utility derived by i
on obtaining one unit of j
Total utility of i,
i


u  u x
x [0,1]
i
ij
j
ij
ij
j
ij ij
Fisher’s Model


n buyers, with specified money, m(i)
k goods (each unit amount, w.l.o.g.) U  u x

Linear utilities: uij is utility derived by i
on obtaining one unit of j
Total utility of i,
i


u  u x
i

j
ij
ij
Find prices s.t. market clears
j
ij ij
Eisenberg-Gale Program, 1959
max  m(i ) log ui
i
s.t.
i : ui   j u ij x ij
j :  i x ij  1
ij : x ij  0
Via KKT Conditions can establish:

Optimal solution gives equilibrium
allocations

Lagrange variables give prices of goods
Eisenberg-Gale program
helps establish:
Equilibrium exists (under mild conditions)
 Equilibrium utilities and prices are unique

Eisenberg-Gale program
helps establish:
Equilibrium exists (under mild conditions)
 Equilibrium utilities and prices are unique
 Rational!!

Kelly’s resource allocation model, 1997
Mathematical framework for understanding
TCP congestion control
Kelly’s model
m(1) s1
c (e)
t
Given:
2
network G = (V,E)
(directed or undirected)
capacities on edges
t
1
source-sink pairs (agents)
m(i):
s
2
m ( 2)
money agent i is
willing to pay
Kelly’s model
s
1
t
Network determines:
2
f(i): flow of agent i
Assume utility u(i) = m(i) log f(i)
t
s
2
1
Total utility is additive
Convex Program for Kelly’s Model
max  m(i ) log f (i )
i
s.t.
i : f (i )   p
f
p
i
e : flow(e)  c(e)
i, p :
f
p
i
0
Kelly’s model
s
1
p(e)
t
2
Lagrange variables:
p(e): price/unit flow
t
s
2
1
Kelly’s model
s
1
Optimum flow and edge prices
are in equilibrium:
p(e)
t
2
1). p(e)>0 only if e is saturated
2) flows go on cheapest paths
3) money of each agent is fully used
t
1
Let rate(i) = cost of cheapest path for i
s
2
m(i) = f(i) rate(i)
Kelly’s model
s
1
Optimum flow and edge prices
are in equilibrium:
p(e)
t
2
1). p(e)>0 only if e is saturated
2) flows go on cheapest paths
3) money of each agent is fully used
t
1
Let rate(i) = cost of cheapest path for i
s
2
f(i)’s and rate(i)’s are unique!
TCP Congestion Control
f(i): source rate
 p(e): prob. of packet loss (in TCP Reno)
queueing delay (in TCP Vegas)

TCP Congestion Control


f(i): source rate
prob. of packet loss (in TCP Reno)
p(e):
queueing delay (in TCP Vegas)
Kelly: Equilibrium flows are proportionally fair:
only way of adding 5% flow to someone’s
dollar is to decrease 5% flow from
someone else’s dollar.
TCP Congestion Control
f(i): source rate
 p(e): prob. of packet loss (in TCP Reno)
queueing delay (in TCP Vegas)


Low, Doyle, Paganini: continuous time algs.
for computing equilibria (not poly time).
TCP Congestion Control
f(i): source rate

prob. of packet loss (in TCP Reno)
p(e):
queueing delay (in TCP Vegas)


Low, Doyle, Paganini: continuous time algs.
for computing equilibria (not poly time).

AIMD + RED converges to equilibrium
primal-dual (source-link) alg.
TCP Congestion Control
f(i): source rate
 p(e): prob. of packet loss (in TCP Reno)
queueing delay (in TCP Vegas)


Low, Doyle, Paganini: continuous time algs.
for computing equilibria (not poly time).

FAST: for high speed networks with large
bandwidth
Combinatorial Algorithms

Devanur, Papadimitriou, Saberi & V., 2002:
for Fisher’s linear utilities case

Kelly & V., 2002: Kelly’s model is a
generalization of Fisher’s model.
Find combinatorial poly time algorithms!
Irrational for 2 sources & 3 sinks
$1
$1
s
2
1
1
t
s
1
2
t
t
1
1
2
2
$1
Irrational for 2 sources & 3 sinks
s
1
3
1
t
s
1
3
1 3
2
Equilibrium prices
2
t
t
1
2
1 source & multiple sinks
 2 source-sink pairs

1
t
1
$10
2
s
2
t
2
$10
1
$5
t
1
$10
t
$10
2
s
2
$5
2
1
t
1
$120
10
2
s
2
t
2
$10
$30
1
$10
t
1
$120
2
s
2
$40
t
2
$10
Jain & V., 2005: strongly poly alg

Primal-dual algorithm
 Usual:
linear programs & LP-duality
 This: convex programs & KKT conditions

Ascending price auction
 Buyers:
sinks (fixed budgets, maximize flow)
 Sellers: edges (maximize price)
t
s
1
t
rate(i): cost of cheapest
2
t
3
s t
t
i
4
path
t
t
s
1
t
2
t
3
t
4
t
t
s
Capacity of
1
t
2
t
3
t i  t edge =
t
4
m(i)
rate(i )
t
t
1
t
s
min s-t cut
2
t
3
t
4
t
t
1
t
s
p
2
t
3
t
4
t
t
1
t
s
p

2
t
3
t
4
t
t
s
t
p p
2
1
t
3
t
4
rate(2) 
0
p
0
t
t
s
t
p
0
1
t
2
p

3
t
4
rate(2) 
p
0
t
t
s
t
1
t
2
3
t
4
rate(2) 
p
0
p
1
p
rate(1)  rate(3)  p  p
0
0
1
t
t
s
t
p
0
1
t
2
p
1
3
t
p
4

t
t
s
t
p
0
1
t
2
p
1
3
t
p
4
nested cuts
2
t
t
s
t
1
t
2
3
t
4
rate(2) 
rate(1)  rate(3) 
p
0
p
1
p
2
rate(4) 
p
0
p p
0
1
p pp
0
1
2

Find s-t max flow

Flow and prices will:
 Saturate
all red cuts
 Use up sinks’ money
 Send flow on cheapest paths
a
1
t
1
$120
t
$10
2
s
2
b
2
t
a
1
120
1
p
t
2
s
10
2
p
b
t
2
p
t
a
1
120
1
2
10
t
s
t
10 10  1
2
2
b
p  10
t
a
120
10  p
1
1
2
t
s
t
1
2
2
b
p
0
 10
p
t
a
1
120
3
10  30
1
2
t
s
t
1
2
2
b
p
0
 10
p  30
$30
1
$10
t
1
$120
2
s
2
$40
t
2
$10
Rational!!
Max-flow min-cut theorem
Other resource allocation markets
2 source-sink pairs (directed/undirected)
 Branchings rooted at sources (agents)

Branching market (for broadcasting)

Given: Network G = (V, E)
 edge
capacities
S V
 sources,
 money of each source

Find: edge prices and
a packing of branchings rooted at sources s.t.

p(e) > 0 => e is saturated
 each branching is cheapest possible
 money of each source fully used.
Eisenberg-Gale-type program
for branching market
max iS m(i) log bi
s.t.
packing of branchings
Other resource allocation markets
2 source-sink pairs (directed/undirected)
 Branchings rooted at sources (agents)
 Spanning trees
 Network coding

Eisenberg-Gale-Type Convex Program
max  i m(i) log ui
s.t.
packing constraints
Eisenberg-Gale Market

A market whose equilibrium is captured
as an optimal solution to an
Eisenberg-Gale-type program



Megiddo, 1974: Let T = set of sinks (agents)
For S  T define v(S) to be the max-flow
possible from s to sinks in S.
Then v is a submodular function, i.e., for
A  B  T,
t  A,
v( B  t )  v( B)  v( A  t )  v( A)
Simpler convex program for
single-source market
max  m(i ) log f (i )
s.t.
i
S  T : iS f (i )  v( S )
i : f (i )  0
Submodular Utility Allocation Market

Any market which has simpler program
and v is submodular
Submodular Utility Allocation Market

Any market which has simpler program
and v is submodular

Theorem: Strongly polynomial algorithm
for SUA markets.
Submodular Utility Allocation Market

Any market which has simpler program
and v is submodular

Theorem: Strongly polynomial algorithm
for SUA markets.

Corollary: Rational!!

Theorem: Following markets are SUA:
2
source-sink pairs, undirected (Hu, 1963)
 spanning tree (Nash-William & Tutte, 1961)
 2 sources branching (Edmonds, 1967 + JV, 2005)

3 sources branching: irrational

Theorem: Following markets are SUA:
2
source-sink pairs, undirected (Hu, 1963)
 spanning tree (Nash-William & Tutte, 1961)
 2 sources branching (Edmonds, 1967 + JV, 2005)

3 sources branching: irrational

Open (no max-min thoerems):
2
source-sink pairs, directed
 2 sources, network coding

Theorem: Following markets are SUA:
2
source-sink pairs, undirected (Hu, 1963)
 spanning tree (Nash-William & Tutte, 1961)
 2 sources branching (Edmonds, 1967 + JV)

3 sources branching: irrational

Open (no max-min thoerems):
2
source-sink pairs, directed
 2 sources, network coding
Chakrabarty, Devanur & V., 2006

EG[2]: Eisenberg-Gale markets with 2 agents

Theorem: EG[2] markets are rational.

EG[2]: Eisenberg-Gale markets with 2 agents

Theorem: EG[2] markets are rational.

Combinatorial EG[2] markets: polytope
of feasible utilities can be described via
combinatorial LP.

Theorem: Strongly poly alg for Comb EG[2].
Using Tardos, 1986.
2 source-sink market in directed graphs
s2
2
1
s1
t1
t2
s2
s1
t1
t2
s2
s1
t1
t2
f2
Polytope of feasible flows
f1  2 f 2  8
f1  f 2  5
f1  4
f1
LP’s corresponding to facets
max f1   f 2
min  c(e) xe
s.t.
s.t.
capacity
d ( s1  t1 )  1
e
d ( s2  t 2 )  
f1  2 f 2  8
s2
xe  1
t1
s1
t2
f1  f 2  5
s2
xe  1/ 2
xe  1
s1
t
t
2
1
s2
t1
s1
t2
$60
$30

For any m(1), m(2), need to ‘‘price’’
at most two facets, with prices say p1 , p2
$5
$10

For any m(1), m(2), need to ‘‘price’’
at most two facets, with prices say p1 , p2

Exponentially many facets!
 Binary
search on


For any m(1), m(2), need to ‘‘price’’
at most two facets, with prices say p1 , p2

Exponentially many facets!
 Binary

search on
Compute duals

x1 , x2
s2
xe  1
t1
s1
t2
s2
xe  1/ 2
xe  1
s1
t
t
2
1

For any m(1), m(2), need to ‘‘price’’
at most two facets, with prices say p1 , p2

Exponentially many facets!
 Binary
search on

Compute duals

Compute

x1 , x2
p(e)  p1 x1 (e)  p2 x2 (e)
s2
$5, each
t1
s1
t2
s2
10/2 = $5, each
$10, each
s1
t
t
2
1
s2
$10
$5
s1
t1
$15
t2
$60
$30
s2
$10
$5
s1
t1
$15
t2
$60
$30
s2
$10
$5
s1
t1
$30=$15x2
$15
t2
$60=$20x3
3-source branching
Single-source
2 s-s undir
SUA
Comb EG[2]
2 s-s dir
Rational
Fisher
EG[2]
EG
t
t
s
1
t
2
t
3
t
4
Observe: Equilibrium is always an s-t max-flow
Efficiency of Markets
‘‘price of capitalism’’
 Agents:

 different
abilities to control prices
 idiosyncratic ways of utilizing resources

Q: Overall output of market when forced
to operate at equilibrium.
Efficiency
equilibrium  utility ( I )
eff ( M )  min I
max  utility ( I )
Efficiency
equilibrium  utility ( I )
eff ( M )  min I
max  utility ( I )
 Rich
classification!
Market
Efficiency
Single-source
1
3-source branching
 1/ 2
k source-sink undirected
 1/(2k  1)
l.b.  1/(k  1)
2 source-sink directed
arbitrarily
small
Other properties:
Fairness (max-min + min-max fair)
 Competition monotonicity

Open issues

Strongly poly algs for approximating
 nonlinear
convex programs
 equilibria

Insights into congestion control protocols?
The End