1
Selfish Routing and the Price of Anarchy Tim Roughgarden Cornell - - PowerPoint PPT Presentation
Selfish Routing and the Price of Anarchy Tim Roughgarden Cornell - - PowerPoint PPT Presentation
Selfish Routing and the Price of Anarchy Tim Roughgarden Cornell University 1 Algorithms for Self-Interested Agents Our focus: problems in which multiple agents (people, computers, etc.) interact Motivation: the Internet decentralized
2
Algorithms for Self-Interested Agents
Our focus: problems in which multiple
agents (people, computers, etc.) interact
Motivation: the Internet
- decentralized operation and ownership
Traditional algorithmic approach:
- agents classified as obedient or adversarial
– examples: distributed algorithms, cryptography
3
Algorithms and Game Theory
Recent trend: agents have own independent
- bjectives (and act accordingly)
New goal: algorithms that account for
strategic behavior by self-interested agents
Natural tool: game theory
- theory of “rational behavior” in competitive,
collaborative settings
– [von Neumann/Morgenstern 44]
4
Objectives
This talk: understand consequences of noncooperative behavior
- when is the cost of selfish behavior severe?
– the “price of anarchy” [Koutsoupias/Papadimitriou 99]
- what can we do about it?
– design strategies, economic incentives
Our setting: routing in a congested network
- will focus on [Roughgarden/Tardos FOCS ’00/JACM ’02]
- and also [Roughgarden STOC ’02/JCSS to appear]
5
Motivating Example
Example: one unit of traffic wants to go from
s to t
Question: what will selfish network users do?
- assume everyone wants smallest-possible delay
s t
ℓ(x)=x ℓ(x)=1 delay depends on congestion no congestion effects
6
Motivating Example
Claim: all traffic will take the top link. Reason:
- Є > 0 ⇒ traffic on bottom is envious
- Є = 0 ⇒ envy-free outcome
– all traffic incurs one unit of delay
s t
ℓ(x)=x ℓ(x)=1 Flow = 1-Є Flow = Є this flow is envious!
7
Can We Do Better?
Consider instead: traffic split equally Improvement:
- half of traffic has delay 1 (same as before)
- half of traffic has delay ½ (much improved!)
s t
ℓ(x)=x ℓ(x)=1 Flow = ½ Flow = ½
8
Braess’s Paradox
Initial Network:
s t x 1 ½ x 1 ½ ½ ½
Delay = 1.5
9
Braess’s Paradox
Initial Network: Augmented Network:
s t x 1 ½ x 1 ½ ½ ½
Delay = 1.5
s t x 1 ½ x 1 ½ ½ ½
Now what?
10
Braess’s Paradox
Initial Network: Augmented Network:
s t x 1 ½ x 1 ½ ½ ½
Delay = 1.5 Delay = 2
s t x 1 x 1
11
Braess’s Paradox
Initial Network: Augmented Network: All traffic incurs more delay! [Braess 68]
- also has physical analogs [Cohen/Horowitz 91]
s t x 1 ½ x 1 ½ ½ ½
Delay = 1.5 Delay = 2
s t x 1 x 1
12
The Mathematical Model
- a directed graph G = (V,E)
- k source-destination pairs (s1 ,t1), …, (sk ,tk)
- a rate ri of traffic from si to ti
- for each edge e, a latency function ℓe(•)
– assumed continuous and nondecreasing s1 t1 ℓ(x)=x
Flow = ½ Flow = ½
ℓ(x)=1 Example: (k,r=1)
13
Routings of Traffic
Traffic and Flows:
- fP = amount of traffic routed on si-ti path P
- flow vector f
routing of traffic Selfish routing: what flows arise as the routes chosen by many noncooperative agents?
s t
14
Nash Flows
Some assumptions:
- agents small relative to network
- want to minimize personal latency
Def: A flow is at Nash equilibrium (or is a Nash flow) if all flow is routed on min-latency paths [given current edge congestion]
x
s t
1
Flow = .5 Flow = .5
s t
1
Flow = 0 Flow = 1
x
Example:
15
Some History
- traffic model, definition of Nash flows
given by [Wardrop 52]
– historically called user-optimal/user equilibrium
- Nash flows exist, are (essentially) unique
– due to [Beckmann et al. 56]
- Nash flows also arise via distributed
shortest-path protocols (e.g., OSPF, BGP)
– as long as latency used for edge weights – convergence studied in [Tsitsiklis/Bertsekas 86]
16
The Cost of a Flow
Def: the cost C(f) of flow f = sum of all delays incurred by traffic (aka total latency)
s t x 1
½ ½ Cost = ½•½ +½•1 = ¾
17
The Cost of a Flow
Def: the cost C(f) of flow f = sum of all delays incurred by traffic (aka total latency) Formally: if ℓP(f) = sum of latencies of edges
- f P (w.r.t. the flow f), then:
C(f) = ΣP fP • ℓP(f)
s t s t x 1
½ ½ Cost = ½•½ +½•1 = ¾
18
Inefficiency of Nash Flows
Note: Nash flows do not minimize total latency
- observed informally by [Pigou 1920]
- lack of coordination leads to inefficiency
- Cost of Nash flow = 1•1 + 0•1 = 1
- Cost of optimal (min-cost) flow = ½•½ +½•1 = ¾
s t x 1
1
½ ½
19
How Bad Is Selfish Routing?
s t x 1
1
½ ½
Pigou’s example is simple…
Central question: How inefficient are Nash
flows in more realistic networks?
Goal: prove that Nash flows are near-optimal
- want laissez-faire approach to managing networks
20
The Bad News
Bad Example:
(r = 1, d large) Nash flow has cost 1, min cost ≈ 0
⇒ Nash flow can cost arbitrarily more than
the optimal (min-cost) flow
– even if latency functions are polynomials s t xd 1
1 1-Є
Є
21
Hardware Offsets Selfishness
Approach #1: use different type of guarantee
Theorem: [Roughgarden/Tardos 00] for every
network: ≤ Nash cost at rate r
- pt cost at rate 2r
22
Hardware Offsets Selfishness
Approach #1: use different type of guarantee
Theorem: [Roughgarden/Tardos 00] for every
network: ≤
Also: M/M/1 fns (ℓ(x)=1/(u-x), u = capacity) ⇒
≤ Nash cost at rate r
- pt cost at rate 2r
Nash w/capacities 2u
- pt w/capacities u
23
Linear Latency Functions
Approach #2: restrict class of allowable
latency functions
Def: linear latency fn is of form ℓe(x)=aex+be Theorem: [Roughgarden/Tardos 00] for every
network with linear latency fns:
≤ 4/3 × cost of Nash flow cost of
- pt flow
24
Sources of Inefficiency
Corollary of previous Theorem:
- For linear latency fns, worst Nash/OPT
ratio is realized in a two-link network!
- simple explanation for worst inefficiency
– confronted w/two routes, selfish users
- vercongest one of them
s t x 1
1
½ ½
- Cost of Nash = 1
- Cost of OPT = ¾
25
Simple Worst-Case Networks
Theorem: [Roughgarden 02] fix any class of
latency fns, and the worst Nash/OPT ratio
- ccurs in a two-node, two-link network.
- under mild assumptions (convexity, richness)
- inefficiency of Nash flows always has simple
explanation; simple networks are worst examples
26
Simple Worst-Case Networks
Theorem: [Roughgarden 02] fix any class of
latency fns, and the worst Nash/OPT ratio
- ccurs in a two-node, two-link network.
- under mild assumptions (convexity, richness)
- inefficiency of Nash flows always has simple
explanation; simple networks are worst examples
Proof Idea: Nash flows solve a certain minimization problem
- not quite total latency, but close
- electrical current is physical analog
27
Computing the Price of Anarchy
Application: worst-case examples simple ⇒
worst-case ratio is easy to calculate
Example: polynomials with degree ≤ d,
nonnegative coeffs ⇒ price of anarchy Θ(d/log d)
s t xd 1
28
Hardware Offsets Selfishness
Theorem: [Roughgarden/Tardos 00] for every
network: ≤
Corollary: networks with M/M/1 delay fns ⇒
≤ Nash cost at rate r
- pt cost at rate 2r
Nash w/capacities 2u
- pt w/capacities u
29
Key Difficulty
Suppose f a Nash flow, f* an opt flow at twice the rate. Want to show that C(f*) ≥ C(f). Note: cost of f can be written as C(f) = Σe fe• ℓe(fe) Similarly: C(f*) = Σe f*• ℓe(f*) Problem: what is the relation between ℓe(fe) and ℓe(f*)?
e e e
30
Key Trick
Idea: lower bound cost of f* using a
different set of latency fns c such that:
- easy to lower bound cost of f* w.r.t. latency fns c
- cost of f* w.r.t. fns c ≈ cost of f* w.r.t. fns ℓ
31
Key Trick
Idea: lower bound cost of f* using a
different set of latency fns c such that:
- easy to lower bound cost of f* w.r.t. latency fns c
- cost of f* w.r.t. fns c ≈ cost of f* w.r.t. fns ℓ
The construction:
ℓe(fe) fe
graph of ℓ
ℓe(fe) fe
graph of c
32
Lower Bounding OPT
Assume for simplicity: only one commodity.
- all traffic in Nash flow has same latency, say L
- cost of Nash flow easy to compute: C(f) = rL
33
Lower Bounding OPT
Assume for simplicity: only one commodity.
- all traffic in Nash flow has same latency, say L
- cost of Nash flow easy to compute: C(f) = rL
Key observation: latency of path P w.r.t. latency fns c with no congestion is ℓP(f)
ℓe(fe) fe
path latency in Nash flow
34
Lower Bounding OPT
Assume for simplicity: only one commodity.
- all traffic in Nash flow has same latency, say L
- cost of Nash flow easy to compute: C(f) = rL
Key observation: latency of path P w.r.t. latency fns c with no congestion is ℓP(f) ⇒ cost of f* w.r.t. c is at least 2rL = 2C(f)
ℓe(fe) fe
path latency in Nash flow
35
Bounding the Overestimate
So far: cost of f* w.r.t. c is ≥ 2C(f). Claim: (will finish proof of Thm) [cost of f* w.r.t. c] - C(f*) ≤ C(f).
36
Bounding the Overestimate
So far: cost of f* w.r.t. c is ≥ 2C(f). Claim: (will finish proof of Thm) [cost of f* w.r.t. c] - C(f*) ≤ C(f). Reason: difference in costs on edge e is
ℓe(fe) fe
typical value of ce(fe)fe - ℓe(fe)fe
* * * *
fe
*
37
Bounding the Overestimate
So far: cost of f* w.r.t. c is ≥ 2C(f). Claim: (will finish proof of Thm) [cost of f* w.r.t. c] - C(f*) ≤ C(f). Reason: difference in costs on edge e is
⇒ ce(fe)fe - ℓe(fe)fe ≤ ℓe(fe)fe
ℓe(fe) fe
typical value of ce(fe)fe - ℓe(fe)fe
* * * *
fe
*
sum over edges to get Claim
* * * *
38
Summary
Goal: prove that loss in network performance
due to selfish routing is not too large.
Problem: a Nash flow can cost
far more than an optimal flow.
Solutions:
- compare Nash to opt flow with extra traffic
- restrict class of allowable edge latency
functions, obtain bounded price of anarchy
s t xd 1
1 1-Є
Є
39
Coping with Selfishness
Goal: design/manage networks so that selfish routing “not too bad” ⇒ adds algorithmic dimension Approach #1: Network design
- want to avoid Braess’s Paradox
Results: [Roughgarden FOCS ‘01]
- Braess’s Paradox can be arbitrarily severe in
larger networks, hard to efficiently detect
- also [Lin/Roughgarden/Tardos, in prep]
s t
40
Coping with Selfishness
Approach #2: Stackelberg routing
- some traffic routed centrally, selfish users react
to congestion accordingly
- [Roughgarden STOC ‘01]: Stackelberg routing can
dramatically improve over the Nash flow
Approach #3: Edge pricing
- use economic incentives (taxes) to influence
selfish behavior
- [Cole/Dodis/Roughgarden EC ‘03 + STOC ‘03]:
explore this idea for selfish routing
41
Future Research
- Explore other game-theoretic environments
using an approximation framework
– [Czumaj/Krysta/Voecking STOC ‘02], [Vetta FOCS ‘02], etc.
- Approximation algorithms for network design
– also interesting without game-theoretic constraints
– [Kumar/Gupta/Roughgarden FOCS ‘02] – [Gupta/Kumar/Roughgarden STOC ‘03]
- Algorithms for key game-theoretic concepts
– Nash/market equilibria (e.g., [Devanur et al FOCS ‘02])
42
Extensions
Fact: positive results continue to hold for:
- approximate Nash flows [RT00]
– users route on approximately min-latency paths
- finitely many agents, splittable flow [RT00]
– weakens assumption that agents are small
- “nonatomic congestion games”, games