PhD Course
Algorithmic Game Theory
Selfish Routing
Guido Schäfer
CWI Amsterdam / VU University Amsterdam g.schaefer@cwi.nl LNMB PhD Course 2014 Utrecht University
Algorithmic Game Theory Selfish Routing Guido Schfer CWI Amsterdam - - PowerPoint PPT Presentation
PhD Course Algorithmic Game Theory Selfish Routing Guido Schfer CWI Amsterdam / VU University Amsterdam g.schaefer@cwi.nl LNMB PhD Course 2014 Utrecht University Organizational Issues Organizational Issues Course Website:
PhD Course
Guido Schäfer
CWI Amsterdam / VU University Amsterdam g.schaefer@cwi.nl LNMB PhD Course 2014 Utrecht University
Course Website: http://www.cwi.nl/˜schaefer/courses/lnmb-agt14 (Please check this website regularly; changes, updates, etc. will be announced there.) Online Material: password protected! Login: lnmb-agt14 Password: lnmb-@gti4 List of Participants:
Guido Schäfer Selfish Routing 3
Course Website: http://www.cwi.nl/˜schaefer/courses/lnmb-agt14 (Please check this website regularly; changes, updates, etc. will be announced there.) Online Material: password protected! Login: lnmb-agt14 Password: lnmb-@gti4 List of Participants:
Guido Schäfer Selfish Routing 3
Course Website: http://www.cwi.nl/˜schaefer/courses/lnmb-agt14 (Please check this website regularly; changes, updates, etc. will be announced there.) Online Material: password protected! Login: lnmb-agt14 Password: lnmb-@gti4 List of Participants:
Guido Schäfer Selfish Routing 3
Lectures
Assignments:
Guido Schäfer Selfish Routing 4
Lectures
Assignments:
Guido Schäfer Selfish Routing 4
Guido Schäfer Selfish Routing 5
Goals:
Algorithmic game theory ... ... is a young, challenging, interdisciplinary research field ... addresses many aspects of practical relevance ... can have an impact on real-world applications ... unites ideas from game theory, algorithms, combinatorial
... is fun!
Guido Schäfer Selfish Routing 6
Goals:
Algorithmic game theory ... ... is a young, challenging, interdisciplinary research field ... addresses many aspects of practical relevance ... can have an impact on real-world applications ... unites ideas from game theory, algorithms, combinatorial
... is fun!
Guido Schäfer Selfish Routing 6
Goals:
Algorithmic game theory ... ... is a young, challenging, interdisciplinary research field ... addresses many aspects of practical relevance ... can have an impact on real-world applications ... unites ideas from game theory, algorithms, combinatorial
... is fun!
Guido Schäfer Selfish Routing 6
Goals:
Algorithmic game theory ... ... is a young, challenging, interdisciplinary research field ... addresses many aspects of practical relevance ... can have an impact on real-world applications ... unites ideas from game theory, algorithms, combinatorial
... is fun!
Guido Schäfer Selfish Routing 6
Goals:
Algorithmic game theory ... ... is a young, challenging, interdisciplinary research field ... addresses many aspects of practical relevance ... can have an impact on real-world applications ... unites ideas from game theory, algorithms, combinatorial
... is fun!
Guido Schäfer Selfish Routing 6
Goals:
Algorithmic game theory ... ... is a young, challenging, interdisciplinary research field ... addresses many aspects of practical relevance ... can have an impact on real-world applications ... unites ideas from game theory, algorithms, combinatorial
... is fun!
Guido Schäfer Selfish Routing 6
and V. Vazirani (Eds.) Algorithmic Game Theory Cambridge University Press, 2007. Available online (free!) at:
http://www.cambridge.org/us/9780521872829
Guido Schäfer Selfish Routing 7
Viewpoint: many real-world problems are complex and distributed in nature:
1 involve several independent decision makers
(lack of coordination)
2 each decision maker attempts to achieve his own goals
(strategic behavior)
3 individual outcome depends on decisions made by others
(interdependent) Examples:
Guido Schäfer Selfish Routing 9
Viewpoint: many real-world problems are complex and distributed in nature:
1 involve several independent decision makers
(lack of coordination)
2 each decision maker attempts to achieve his own goals
(strategic behavior)
3 individual outcome depends on decisions made by others
(interdependent) Examples:
Guido Schäfer Selfish Routing 9
Viewpoint: many real-world problems are complex and distributed in nature:
1 involve several independent decision makers
(lack of coordination)
2 each decision maker attempts to achieve his own goals
(strategic behavior)
3 individual outcome depends on decisions made by others
(interdependent) Examples:
Guido Schäfer Selfish Routing 9
Viewpoint: many real-world problems are complex and distributed in nature:
1 involve several independent decision makers
(lack of coordination)
2 each decision maker attempts to achieve his own goals
(strategic behavior)
3 individual outcome depends on decisions made by others
(interdependent) Examples:
Guido Schäfer Selfish Routing 9
Viewpoint: many real-world problems are complex and distributed in nature:
1 involve several independent decision makers
(lack of coordination)
2 each decision maker attempts to achieve his own goals
(strategic behavior)
3 individual outcome depends on decisions made by others
(interdependent) Examples:
Guido Schäfer Selfish Routing 9
Network routing: (think of urban road traffic)
to their destinations in a given network
minimize their individual travel times
Applications: road traffic, public transportation, Internet routing, etc. Observation: selfish route choices lead to inefficient outcomes
Guido Schäfer Selfish Routing 10
Network routing: (think of urban road traffic)
to their destinations in a given network
minimize their individual travel times
Applications: road traffic, public transportation, Internet routing, etc. Observation: selfish route choices lead to inefficient outcomes
Guido Schäfer Selfish Routing 10
Network routing: (think of urban road traffic)
to their destinations in a given network
minimize their individual travel times
Applications: road traffic, public transportation, Internet routing, etc. Observation: selfish route choices lead to inefficient outcomes
Guido Schäfer Selfish Routing 10
Guido Schäfer Selfish Routing 11
Negative consequences:
and money
“In 2010, congestion caused urban Americans to travel 4.8 billion hours more and to purchase an extra 1.9 billion gallons of fuel for a congestion cost of $101 billion.”
[Texas Transportation Institute, 2011 Urban Mobility Report]
Need: gain fundamental understanding of the effect of strategic interactions in such applications
Guido Schäfer Selfish Routing 12
Negative consequences:
and money
“In 2010, congestion caused urban Americans to travel 4.8 billion hours more and to purchase an extra 1.9 billion gallons of fuel for a congestion cost of $101 billion.”
[Texas Transportation Institute, 2011 Urban Mobility Report]
Need: gain fundamental understanding of the effect of strategic interactions in such applications
Guido Schäfer Selfish Routing 12
Negative consequences:
and money
“In 2010, congestion caused urban Americans to travel 4.8 billion hours more and to purchase an extra 1.9 billion gallons of fuel for a congestion cost of $101 billion.”
[Texas Transportation Institute, 2011 Urban Mobility Report]
Need: gain fundamental understanding of the effect of strategic interactions in such applications
Guido Schäfer Selfish Routing 12
Game theory: provides mathematical toolbox to study situations of strategic interaction
Algorithmic game theory:
Goals:
Guido Schäfer Selfish Routing 13
Game theory: provides mathematical toolbox to study situations of strategic interaction
Algorithmic game theory:
Goals:
Guido Schäfer Selfish Routing 13
Game theory: provides mathematical toolbox to study situations of strategic interaction
Algorithmic game theory:
Goals:
Guido Schäfer Selfish Routing 13
1 Examples of Some Phenomena 2 Wardrop Model and the Price of Anarchy 3 Coping with the Braess Paradox
Guido Schäfer Selfish Routing 14
A cost minimization game G is given by
S = S1 × · · · × Sn is called the set of strategy profiles. Interpretation:
minimize his individual cost Ci(s1, . . . , sn)
strategies once and at the same time
function of every other player
Guido Schäfer Selfish Routing 16
[World Cup 2006 Example]
Guido Schäfer Selfish Routing 18
Guido Schäfer Selfish Routing 18
Guido Schäfer Selfish Routing 18
Guido Schäfer Selfish Routing 18
Guido Schäfer Selfish Routing 18
Nash equilibrium: strategy profile s = (s1, . . . , sn) ∈ S is a pure Nash equilibrium (PNE) if no player has an incentive to unilaterally deviate ∀i ∈ N : Ci(si, s−i) ≤ Ci(s′
i, s−i)
∀s′
i ∈ Si
(s−i refers to (s1, . . . , si−1, si+1, . . . , sn)) Social cost of strategy profile s = (s1, . . . , sn) ∈ S is C(s) =
Ci(s) A strategy profile s∗ that minimizes the social cost function C(·) is called a social optimum.
Guido Schäfer Selfish Routing 19
Nash equilibrium: strategy profile s = (s1, . . . , sn) ∈ S is a pure Nash equilibrium (PNE) if no player has an incentive to unilaterally deviate ∀i ∈ N : Ci(si, s−i) ≤ Ci(s′
i, s−i)
∀s′
i ∈ Si
(s−i refers to (s1, . . . , si−1, si+1, . . . , sn)) Social cost of strategy profile s = (s1, . . . , sn) ∈ S is C(s) =
Ci(s) A strategy profile s∗ that minimizes the social cost function C(·) is called a social optimum.
Guido Schäfer Selfish Routing 19
Guido Schäfer Selfish Routing 20
Guido Schäfer Selfish Routing 20
Guido Schäfer Selfish Routing 20
Guido Schäfer Selfish Routing 20
Guido Schäfer Selfish Routing 20
Guido Schäfer Selfish Routing 20
Guido Schäfer Selfish Routing 20
Price of anarchy: worst-case inefficiency of equilibria POA(G) = max
s∈PNE(G)
C(s) C(s∗)
[Koutsoupias, Papadimitriou, STACS ’99]
Price of stability: best-case inefficiency of equilibria POS(G) = min
s∈PNE(G)
C(s) C(s∗)
[Schulz, Moses, SODA ’03]
Define the price of anarchy/stability of a class of games G as POA(G) = max
G∈G POA(G)
and POS(G) = max
G∈G POS(G)
Guido Schäfer Selfish Routing 21
Price of anarchy: worst-case inefficiency of equilibria POA(G) = max
s∈PNE(G)
C(s) C(s∗)
[Koutsoupias, Papadimitriou, STACS ’99]
Price of stability: best-case inefficiency of equilibria POS(G) = min
s∈PNE(G)
C(s) C(s∗)
[Schulz, Moses, SODA ’03]
Define the price of anarchy/stability of a class of games G as POA(G) = max
G∈G POA(G)
and POS(G) = max
G∈G POS(G)
Guido Schäfer Selfish Routing 21
Price of anarchy: worst-case inefficiency of equilibria POA(G) = max
s∈PNE(G)
C(s) C(s∗)
[Koutsoupias, Papadimitriou, STACS ’99]
Price of stability: best-case inefficiency of equilibria POS(G) = min
s∈PNE(G)
C(s) C(s∗)
[Schulz, Moses, SODA ’03]
Define the price of anarchy/stability of a class of games G as POA(G) = max
G∈G POA(G)
and POS(G) = max
G∈G POS(G)
Guido Schäfer Selfish Routing 21
Guido Schäfer Selfish Routing 22
Guido Schäfer Selfish Routing 22
Guido Schäfer Selfish Routing 22
Guido Schäfer Selfish Routing 22
Guido Schäfer Selfish Routing 22
Guido Schäfer Selfish Routing 22
[New York Times Article]
Guido Schäfer Selfish Routing 24
Guido Schäfer Selfish Routing 24
Guido Schäfer Selfish Routing 24
x ℓa(x)
Given:
(non-decreasing, differentiable, semi-convex) Interpretation:
infinitely large population of non-atomic players
amount of flow on arc a
Guido Schäfer Selfish Routing 26
x ℓa(x)
Given:
(non-decreasing, differentiable, semi-convex) Interpretation:
infinitely large population of non-atomic players
amount of flow on arc a
Guido Schäfer Selfish Routing 26
Notation:
P∈Pi fP = ri for all i
P∈P:a∈P fP
a∈P ℓa(fa)
Social cost of flow: C(f) =
fPℓP(f) =
faℓa(fa) Optimal flow: feasible flow f ∗ that minimizes C(·)
Guido Schäfer Selfish Routing 27
Notation:
P∈Pi fP = ri for all i
P∈P:a∈P fP
a∈P ℓa(fa)
Social cost of flow: C(f) =
fPℓP(f) =
faℓa(fa) Optimal flow: feasible flow f ∗ that minimizes C(·)
Guido Schäfer Selfish Routing 27
Notation:
P∈Pi fP = ri for all i
P∈P:a∈P fP
a∈P ℓa(fa)
Social cost of flow: C(f) =
fPℓP(f) =
faℓa(fa) Optimal flow: feasible flow f ∗ that minimizes C(·)
Guido Schäfer Selfish Routing 27
Nash flow: feasible flow f that satisfies for every i ∈ [k] ∀P1, P2 ∈ Pi with fP1 > 0, ∀δ ∈ (0, fP1] : ℓP1(f) ≤ ℓP2(˜ f), where ˜ fP := fP − δ if P = P1 fP + δ if P = P2 fP
Exploiting continuity of ℓa(·) and letting δ → 0, we obtain the following equivalent definition: Wardrop flow: feasible flow f that satisfies for every i ∈ [k] ∀P1, P2 ∈ Pi with fP1 > 0 : ℓP1(f) ≤ ℓP2(f)
Guido Schäfer Selfish Routing 28
Nash flow: feasible flow f that satisfies for every i ∈ [k] ∀P1, P2 ∈ Pi with fP1 > 0, ∀δ ∈ (0, fP1] : ℓP1(f) ≤ ℓP2(˜ f), where ˜ fP := fP − δ if P = P1 fP + δ if P = P2 fP
Exploiting continuity of ℓa(·) and letting δ → 0, we obtain the following equivalent definition: Wardrop flow: feasible flow f that satisfies for every i ∈ [k] ∀P1, P2 ∈ Pi with fP1 > 0 : ℓP1(f) ≤ ℓP2(f)
Guido Schäfer Selfish Routing 28
Nash flow: feasible flow f that satisfies for every i ∈ [k] ∀P1, P2 ∈ Pi with fP1 > 0, ∀δ ∈ (0, fP1] : ℓP1(f) ≤ ℓP2(˜ f), where ˜ fP := fP − δ if P = P1 fP + δ if P = P2 fP
Exploiting continuity of ℓa(·) and letting δ → 0, we obtain the following equivalent definition: Wardrop flow: feasible flow f that satisfies for every i ∈ [k] ∀P1, P2 ∈ Pi with fP1 > 0 : ℓP1(f) ≤ ℓP2(f)
Guido Schäfer Selfish Routing 28
Guido Schäfer Selfish Routing 29
Guido Schäfer Selfish Routing 29
2 · 1 2 + 1 2 · 1 = 3 4
Guido Schäfer Selfish Routing 29
min
ℓa(fa)fa s.t.
fP = ri ∀i ∈ [k] fa =
fP ∀a ∈ A fP ≥ ∀P ∈ P
Observations:
set (feasible flows)
Guido Schäfer Selfish Routing 30
min
ℓa(fa)fa s.t.
fP = ri ∀i ∈ [k] fa =
fP ∀a ∈ A fP ≥ ∀P ∈ P
Observations:
set (feasible flows)
Guido Schäfer Selfish Routing 30
min
ha(fa) s.t.
fP = ri ∀i ∈ [k] fa =
fP ∀a ∈ A fP ≥ ∀P ∈ P (CP)
Theorem (KKT optimality conditions)
Suppose (ha)a∈A are continuously differentiable and convex. f is an optimal solution for (CP) if and only if for every i ∈ [k] ∀P1, P2 ∈ Pi, fP1 > 0 :
h′
a(fa) ≤
h′
a(fa)
Guido Schäfer Selfish Routing 31
min
ha(fa) s.t.
fP = ri ∀i ∈ [k] fa =
fP ∀a ∈ A fP ≥ ∀P ∈ P (CP)
Theorem (KKT optimality conditions)
Suppose (ha)a∈A are continuously differentiable and convex. f is an optimal solution for (CP) if and only if for every i ∈ [k] ∀P1, P2 ∈ Pi, fP1 > 0 :
h′
a(fa) ≤
h′
a(fa)
Guido Schäfer Selfish Routing 31
Idea: Can we determine functions (ha)a∈A such that KKT
min
fa ℓa(x)dx s.t.
fP = ri ∀i ∈ [k] fa =
fP ∀a ∈ A fP ≥ ∀P ∈ P
Observations:
Guido Schäfer Selfish Routing 32
Idea: Can we determine functions (ha)a∈A such that KKT
min
fa ℓa(x)dx s.t.
fP = ri ∀i ∈ [k] fa =
fP ∀a ∈ A fP ≥ ∀P ∈ P
Observations:
Guido Schäfer Selfish Routing 32
Idea: Can we determine functions (ha)a∈A such that KKT
min
fa ℓa(x)dx s.t.
fP = ri ∀i ∈ [k] fa =
fP ∀a ∈ A fP ≥ ∀P ∈ P
Observations:
Guido Schäfer Selfish Routing 32
min
ℓa(fa)fa s.t.
fP = ri ∀i ∈ [k] fa =
fP ∀a ∈ A fP ≥ ∀P ∈ P
Applying KKT optimality conditions yields:
Theorem
f is an optimal flow with respect to (ℓa)a∈A if and only if f is a Nash flow with respect to (ℓ∗
a)a∈A, where ℓ∗ a(x) = (x · ℓa(x))′.
Guido Schäfer Selfish Routing 33
min
ℓa(fa)fa s.t.
fP = ri ∀i ∈ [k] fa =
fP ∀a ∈ A fP ≥ ∀P ∈ P
Applying KKT optimality conditions yields:
Theorem
f is an optimal flow with respect to (ℓa)a∈A if and only if f is a Nash flow with respect to (ℓ∗
a)a∈A, where ℓ∗ a(x) = (x · ℓa(x))′.
Guido Schäfer Selfish Routing 33
Price of anarchy: given an instance I = (G, (si, ti), (ri), (ℓa)) POA(I) = max
f Nash flow
C(f) C(f ∗) POA for selfish routing is independent of the network topology, but depends on the class of latency functions:
3 for linear latency functions
ln p) for polynomial latency functions of degree p
[Roughgarden, Tardos, JACM ’02]
Guido Schäfer Selfish Routing 34
Price of anarchy: given an instance I = (G, (si, ti), (ri), (ℓa)) POA(I) = max
f Nash flow
C(f) C(f ∗) POA for selfish routing is independent of the network topology, but depends on the class of latency functions:
3 for linear latency functions
ln p) for polynomial latency functions of degree p
[Roughgarden, Tardos, JACM ’02]
Guido Schäfer Selfish Routing 34
[Upper bound on POA for linear latency functions]
p 1 2 3 . . . POA ≈ 1.333 ≈ 1.626 ≈ 1.896
Table : POA for polynomial latency functions of degree p
Theorem
Let (ℓa)a∈A be polynomial latency functions of degree at most p. POA ≤
p (p + 1)(p+1)/p −1 = Θ p ln p
Guido Schäfer Selfish Routing 36
p 1 2 3 . . . POA ≈ 1.333 ≈ 1.626 ≈ 1.896
Table : POA for polynomial latency functions of degree p
Theorem
Let (ℓa)a∈A be polynomial latency functions of degree at most p. POA ≤
p (p + 1)(p+1)/p −1 = Θ p ln p
Guido Schäfer Selfish Routing 36
Let Ld = {g : R+ → R+ | g(x) = qxd with q ∈ R+} Problem 1: Consider the class of non-atomic selfish routing games with latency functions (ℓa)a∈A ∈ LA
bound on the price of anarchy for these games.
Guido Schäfer Selfish Routing 37
Guido Schäfer Selfish Routing 38
Guido Schäfer Selfish Routing 38
Guido Schäfer Selfish Routing 38
Guido Schäfer Selfish Routing 38
Means to reduce inefficiency:
Guido Schäfer Selfish Routing 39
Consider a single-commodity instance I = (G, (s, t), r, (ℓa)) with linear latency functions. Define d(H) = common latency of flow carrying paths in a Nash flow for H ⊆ G Braess subgraph problem: Given (G, (s, t), r, (ℓa)), find a subgraph H ⊆ G that minimizes d(H). Algorithm TRIVIAL: simply return the original graph G
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem.
Guido Schäfer Selfish Routing 41
Consider a single-commodity instance I = (G, (s, t), r, (ℓa)) with linear latency functions. Define d(H) = common latency of flow carrying paths in a Nash flow for H ⊆ G Braess subgraph problem: Given (G, (s, t), r, (ℓa)), find a subgraph H ⊆ G that minimizes d(H). Algorithm TRIVIAL: simply return the original graph G
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem.
Guido Schäfer Selfish Routing 41
Consider a single-commodity instance I = (G, (s, t), r, (ℓa)) with linear latency functions. Define d(H) = common latency of flow carrying paths in a Nash flow for H ⊆ G Braess subgraph problem: Given (G, (s, t), r, (ℓa)), find a subgraph H ⊆ G that minimizes d(H). Algorithm TRIVIAL: simply return the original graph G
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem.
Guido Schäfer Selfish Routing 41
Consider a single-commodity instance I = (G, (s, t), r, (ℓa)) with linear latency functions. Define d(H) = common latency of flow carrying paths in a Nash flow for H ⊆ G Braess subgraph problem: Given (G, (s, t), r, (ℓa)), find a subgraph H ⊆ G that minimizes d(H). Algorithm TRIVIAL: simply return the original graph G
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem.
Guido Schäfer Selfish Routing 41
Consider a single-commodity instance I = (G, (s, t), r, (ℓa)) with linear latency functions. Define d(H) = common latency of flow carrying paths in a Nash flow for H ⊆ G Braess subgraph problem: Given (G, (s, t), r, (ℓa)), find a subgraph H ⊆ G that minimizes d(H). Algorithm TRIVIAL: simply return the original graph G
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem.
Guido Schäfer Selfish Routing 41
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem. Proof:
1 Algorithm computes a feasible solution in polynomial time. 2 Consider an arbitrary subgraph H of G. Let
f = Nash flow for G and h = Nash flow for H The bound of 4
3 on the price of anarchy yields
C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) r · d(G) = C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) = 4 3 · r · d(H)
Guido Schäfer Selfish Routing 42
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem. Proof:
1 Algorithm computes a feasible solution in polynomial time. 2 Consider an arbitrary subgraph H of G. Let
f = Nash flow for G and h = Nash flow for H The bound of 4
3 on the price of anarchy yields
C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) r · d(G) = C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) = 4 3 · r · d(H)
Guido Schäfer Selfish Routing 42
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem. Proof:
1 Algorithm computes a feasible solution in polynomial time. 2 Consider an arbitrary subgraph H of G. Let
f = Nash flow for G and h = Nash flow for H The bound of 4
3 on the price of anarchy yields
C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) r · d(G) = C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) = 4 3 · r · d(H)
Guido Schäfer Selfish Routing 42
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem. Proof:
1 Algorithm computes a feasible solution in polynomial time. 2 Consider an arbitrary subgraph H of G. Let
f = Nash flow for G and h = Nash flow for H The bound of 4
3 on the price of anarchy yields
C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) r · d(G) = C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) = 4 3 · r · d(H)
Guido Schäfer Selfish Routing 42
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem. Proof:
1 Algorithm computes a feasible solution in polynomial time. 2 Consider an arbitrary subgraph H of G. Let
f = Nash flow for G and h = Nash flow for H The bound of 4
3 on the price of anarchy yields
C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) r · d(G) = C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) = 4 3 · r · d(H)
Guido Schäfer Selfish Routing 42
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem. Proof:
1 Algorithm computes a feasible solution in polynomial time. 2 Consider an arbitrary subgraph H of G. Let
f = Nash flow for G and h = Nash flow for H The bound of 4
3 on the price of anarchy yields
C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) r · d(G) = C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) = 4 3 · r · d(H)
Guido Schäfer Selfish Routing 42
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem. Proof:
1 Algorithm computes a feasible solution in polynomial time. 2 Consider an arbitrary subgraph H of G. Let
f = Nash flow for G and h = Nash flow for H The bound of 4
3 on the price of anarchy yields
C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) r · d(G) = C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) = 4 3 · r · d(H)
Guido Schäfer Selfish Routing 42
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem. Proof:
1 Algorithm computes a feasible solution in polynomial time. 2 Consider an arbitrary subgraph H of G. Let
f = Nash flow for G and h = Nash flow for H The bound of 4
3 on the price of anarchy yields
C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) r · d(G) = C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) = 4 3 · r · d(H)
Guido Schäfer Selfish Routing 42
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem. Proof:
1 Algorithm computes a feasible solution in polynomial time. 2 Consider an arbitrary subgraph H of G. Let
f = Nash flow for G and h = Nash flow for H The bound of 4
3 on the price of anarchy yields
C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) r · d(G) = C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) = 4 3 · r · d(H)
Guido Schäfer Selfish Routing 42
Theorem
TRIVIAL is a 4
3-approximation algorithm for the Braess subgraph
problem. Proof:
1 Algorithm computes a feasible solution in polynomial time. 2 Consider an arbitrary subgraph H of G. Let
f = Nash flow for G and h = Nash flow for H The bound of 4
3 on the price of anarchy yields
C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) r · d(G) = C(f) ≤ 4 3 · C(f ∗) ≤ 4 3 · C(h) = 4 3 · r · d(H)
Guido Schäfer Selfish Routing 42
Theorem
Assuming P = NP, there is no (4
3 − ε)-approximation algorithm
for the Braess subgraph problem for every ε > 0. Proof: We show that a (4
3 − ε)-approximation algorithm can
solve the following NP-complete problem in polynomial time. 2-DIRECTED VERTEX-DISJOINT PATHS PROBLEM (2DDP): Given: A directed graph G = (V, A) and two vertex pairs (s1, t1), (s2, t2). Goal: Decide whether there exist two disjoint paths P1 and P2 between (s1, t1) and (s2, t2), respectively.
Guido Schäfer Selfish Routing 43
Theorem
Assuming P = NP, there is no (4
3 − ε)-approximation algorithm
for the Braess subgraph problem for every ε > 0. Proof: We show that a (4
3 − ε)-approximation algorithm can
solve the following NP-complete problem in polynomial time. 2-DIRECTED VERTEX-DISJOINT PATHS PROBLEM (2DDP): Given: A directed graph G = (V, A) and two vertex pairs (s1, t1), (s2, t2). Goal: Decide whether there exist two disjoint paths P1 and P2 between (s1, t1) and (s2, t2), respectively.
Guido Schäfer Selfish Routing 43
Theorem
Assuming P = NP, there is no (4
3 − ε)-approximation algorithm
for the Braess subgraph problem for every ε > 0. Proof:
1 If I is a yes-instance of 2DDP then d(H) = 3 2 for some
subgraph H ⊆ G′.
2 If I is a no-instance of 2DDP then d(H) ≥ 2 for every
subgraph H ⊆ G′. A (4
3 − ǫ)-approximation algorithm computes in polynomial time
a subnetwork H′ with d(H′) < 2 in case (1) and d(H′) ≥ 2 in case (2). Thus, P = NP.
Guido Schäfer Selfish Routing 44
Theorem
Assuming P = NP, there is no (4
3 − ε)-approximation algorithm
for the Braess subgraph problem for every ε > 0. Proof:
1 If I is a yes-instance of 2DDP then d(H) = 3 2 for some
subgraph H ⊆ G′.
2 If I is a no-instance of 2DDP then d(H) ≥ 2 for every
subgraph H ⊆ G′. A (4
3 − ǫ)-approximation algorithm computes in polynomial time
a subnetwork H′ with d(H′) < 2 in case (1) and d(H′) ≥ 2 in case (2). Thus, P = NP.
Guido Schäfer Selfish Routing 44
Theorem
Assuming P = NP, there is no (4
3 − ε)-approximation algorithm
for the Braess subgraph problem for every ε > 0. Proof:
1 If I is a yes-instance of 2DDP then d(H) = 3 2 for some
subgraph H ⊆ G′.
2 If I is a no-instance of 2DDP then d(H) ≥ 2 for every
subgraph H ⊆ G′. A (4
3 − ǫ)-approximation algorithm computes in polynomial time
a subnetwork H′ with d(H′) < 2 in case (1) and d(H′) ≥ 2 in case (2). Thus, P = NP.
Guido Schäfer Selfish Routing 44
Theorem
Assuming P = NP, there is no (4
3 − ε)-approximation algorithm
for the Braess subgraph problem for every ε > 0. Proof:
1 If I is a yes-instance of 2DDP then d(H) = 3 2 for some
subgraph H ⊆ G′.
2 If I is a no-instance of 2DDP then d(H) ≥ 2 for every
subgraph H ⊆ G′. A (4
3 − ǫ)-approximation algorithm computes in polynomial time
a subnetwork H′ with d(H′) < 2 in case (1) and d(H′) ≥ 2 in case (2). Thus, P = NP.
Guido Schäfer Selfish Routing 44
1
2
Guido Schäfer Selfish Routing 45
1
2
Guido Schäfer Selfish Routing 46
Other variants of network routing games
(see AGT book for more details)
Guido Schäfer Selfish Routing 47