The Price of Anarchy is Independent of the Network Topology
Tim Roughgarden
(presented by Aleksandr Yampolskiy)
Outline
Motivation The Model Results Conclusion
Q: Which route would you take?
suburb
train station
wide, circuitous road:
1 hour delay
narrow, straight road:
20 minute delay
A: Most drivers would take the narrow road
suburb
train station
resulting in traffic
congestion
What if…there were a dictator who told the cars (or Internet
packets) which route to take?
suburb
train station
red sedan must take the longer
route
Outline
Motivation Model Results Conclusion
The Model
A directed graph G = (V, E) k source-destination pairs {s1, t1}, …, {sk, tk}
A rate ri ≥ 0 of traffic from si to ti
Each edge e has a latency function le(▪) (continuous, non-decreasing)
Pi = a set of simple si-ti paths and
(G, r, l)
s1 t1
v
x
x1
1
0
r1 = 1
w
Simple Paths
s1→v→t1
s1→v→w→t1
s1→w→t1
Flows Flow f: P → R+ = routes of many non-cooperative
agents fp = flow per path
fe = flow per edge =
s1 t1
v
x
x1
1
0
r1 = 1
w
fp2 = ½
fp1 = ½
edge e = (w, t1):fe = ½ + ½ = 1le(fe) = 1
The Cost of a Flow Latency of a path P = sum of latencies of
edges in P
Cost of a flow f = total latency incurred by f :
s1 t1
v
x
x1
1
0
r1 = 1
w
fp2 = ½
fp1 = ½
lp1(f) = ½ + 1 = 1.5
lp2(f) = ½ + 0 + 1 = 1.5
C(f) = ½ * 1.5 + ½ * 1.5 = 1.5
Some Assumptions Finding an optimal routing is difficult Flows behave “selfishly” and “greedily” Each network user controls a negligible
fraction of the overall traffic
In other words: Network routing is a non-
cooperative game and the routes form a
Nash Equilibrium.
Nash FlowsDef: A flow f is a Nash flow iff all traffic is routed on
minimum-latency paths. Formally,
8 i 2 {1, ... , k} and P1, P2 2 Pi with fP1 > 0,
lP1(f) · lP2
(f)
Lemma: [BMW ’56] An acyclic Nash flow exists and is essentially unique.
Lemma: [RT ’00] In a Nash flow f, all si-ti flow paths have equal latency Li(f).
More on Nash Flows
Fact: Nash flow does not optimize the total latency (cf. Prisoner’s Dilemma).
s1 t1
1
x
r1 = 1 flow = ½
flow = ½
s1 t1
1
x
r1 = 1 flow = 0
flow = 1
C(f*) = ½ * 1 + ½ * ½ = ¾ C(f) = 0 * 1 + 1 * 1 = 1
optimal flow Nash flow[Pigou 1920]
Optimal Flows
Def: Marginal latency
Lemma: [BMW ’56] An optimal flow is a Nash flow for the marginal latencies.
s1 t1
1
x
r1 = 1
s1 t1
1
2x
r1 = 1
latency functions marginal cost functions
flow = ½
flow = ½
flow = ½
flow = ½
optimal flow Nash flow
The Price of Anarchy
Def: [KP ’99] Price of anarchy is the worst-case ratio between the cost of a Nash and of an optimal flow.
ρ(G, r, l) =
Outline
Motivation Model Results Conclusion
Linear Latency Functions
Thm: [RT ’00] For linear latency functions, ρ(G, r, l) = C(f) / C(f*) = 4/3.
s1 t1
1
2x
r = 1 flow = ½
flow = ½
s1 t1
1
x
r = 1 flow = 0
flow = 1
C(f*) = ½ * 1 + ½ * ½ = ¾C(f) = 0 * 1 + 1 * 1 = 1
latency functions marginal cost functions
Nash flow: Optimal flow:
Linear Latency Functions (cont.) Linear latencies have the form le(x) = aex + be for
some ae, be ¸ 0. Marginal cost function is le*(x) = 2aex + be.
le*(x/2) = 2ae(x/2) + be = le(x) for each edge e. Thus, lP*(f/2) = lP(f) for each path P.
Corollary: [RT ’00] The Nash flow f/2 is optimal for rate r/2.
Proof Idea Goal: Lower bound C(f*) in terms of C(f) Idea: We create an optimal flow f* for (G, r, l)
via a two-step process:1. Send a scaled down Nash flow f/2 through G. By
corollary, it will be optimal for (G, r/2, l).
2. Augment f/2 to a flow optimal for (G, r, l).
s1 t1
1
x
r = 1
flow = ½
flow = 0
flow = ½
flow =0
r = ½
Proof Idea
cost of f* at rate r
= cost of f/2 at rate r/2
+ cost of augmenting flow to rate r
≥ ¼ C(f) (easy) ≥ ½ C(f) (hard)
≥ ¾ C(f)
Goal: Lower bound C(f*) in terms of C(f). Idea: We create an optimal flow f* for (G, r, l)
via a two-step process:1. Send a scaled down Nash flow f/2 through G. By
corollary, it will be optimal for (G, r/2, l).
2. Augment f/2 to a flow optimal for (G, r, l).
General Latency Functions Can we find a similar bound on ρ(G, r, l) for general
latency functions? Unfortunately, for a general l(·), the price of anarchy may
be much larger than 4/3 even in a simple network:
s1 t1
1
xp
r = 1
s1 t1
1 r = 1
latency functions marginal cost functions
(p +1)xp
flow = 1
flow = 0
flow = (p + 1)-1/p
flow = 1 – (p + 1)-1/p
Nash flow: Optimal flow:
C(f) = 1 C(f*) = 1 – p¢(p +1)-(p+1)/p = ( )
Main Theorem
Def: anarchy value (L) 2 [1, 1) = how “nice” latency functions in class L are
Thm: Price of anarchy is independent of network topology: ρ(G, r, l) = (L) for a standard class of functions L.
Upper Bound: ρ(G, r, l) ≤ (L)
Idea: Mimic the proof for linear latencies. Scale down Nash flow f/c and then augment it to an optimal flow.
Problem: For non-linear latency functions, there is no constant c for which f/c is optimal for reduced rate r/c.
Upper Bound: ρ(G, r, l) ≤ (L) (cont.)
Idea: Scale down Nash flow f by different factors on different edges.
Problem: This violates conservation constraints!
Upper Bound: ρ(G, r, l) ≤ (L) (cont.)
Combining two previous ideas, we create an optimal
flow f* for (G, r, l) via a two-step process:
1. Send a pseudoflow {efe}e2 E such that le*(efe) = le(fe).
2. Augment the pseudoflow to an optimal flow f*
s1 t1
1
x2
r = 1
flow = 1/√3
flow = 1 - 1/√3
l(x) = x2, l*(x) = 3x2.
Want 3( x)2 = x2 ) = √1/3
Upper Bound: ρ(G, r, l) ≤ (L) (cont.)
Lemma: C(f*) ¸ e le(efe)efe + e (fe* - efe)le(fe)
Lower Bound: ρ(G, r, l) ≥ (L)
Computing the Price of Anarchy
So, the price of anarchy, ρ(G, r, l) for l 2 L is easy to compute
It is simply (L ) = the worst-possible ratio of in a two-node network:
s1 t1
constant
·l
r
Computing the Price of Anarchy (cont.)
Conclusion