selfish routing
TRANSCRIPT
-
8/20/2019 Selfish Routing
1/80
A Glimpse of AGT:
Selfish Routing
Guido SchäferCWI Amsterdam / VU University Amsterdam
Course:
Combinatorial OptimizationVU University Amsterdam
March 12 & 14, 2013
http://find/http://goback/
-
8/20/2019 Selfish Routing
2/80
Motivation
http://find/
-
8/20/2019 Selfish Routing
3/80
Situations of strategic interaction
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:
• routing in networks• Internet applications
• auctions
• ...
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 3
http://goforward/http://find/http://goback/
-
8/20/2019 Selfish Routing
4/80
Network routing
Network routing: (think of urban road traffic)• large number of commuters want to travel from their origins
to their destinations in a given network
• commuters are autonomous and choose their routes so as to
minimize their individual travel times
• travel time along a network link is affected by congestion• individual travel time depends on the choices made by others
Applications: road traffic, public transportation, Internet
routing, etc.
Observation: selfish route choices lead to inefficient outcomes
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 4
http://find/http://goback/
-
8/20/2019 Selfish Routing
5/80
Inefficient outcomes
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 5
http://find/
-
8/20/2019 Selfish Routing
6/80
Consequences
Negative consequences:
• environmental pollution• waste of natural resources, time
and money
• stress on the traffic participants
• ...
“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 A Glimpse of Algorithmic Game Theory: Selfish Routing 6
http://find/
-
8/20/2019 Selfish Routing
7/80
Approach
Game theory: provides mathematical toolbox to study
situations of strategic interaction
• different models of games
• several solution concepts for the prediction of “rational
outcomes”
Algorithmic game theory:• use game-theoretical models and solution concepts• take computational/algorithmic issues into account
Goals:• study the effect of strategic behavior
• analyze the efficiency loss due to lack of coordination
• provide algorithmic means to reduce the inefficiency
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 7
http://find/
-
8/20/2019 Selfish Routing
8/80
Today’s goals
Goals for today:
• get a glimpse of the research in algorithmic game theory• running example: network routing
• get an idea of the phenomena and questions that arise
• familiarize with used approaches and techniques• approach the state-of-the-art of recent studies (perhaps)
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
optimization, complexity theory, etc.
... is fun!
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 8
http://find/http://goback/
-
8/20/2019 Selfish Routing
9/80
AGT book
N. Nisan, T. Roughgarden, E. Tardos,
and V. Vazirani (Eds.)
Algorithmic Game Theory Cambridge University Press, 2007.
Available online (free!) at:
http://www.cambridge.org/us/9780521872829
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 9
http://www.cambridge.org/us/9780521872829http://www.cambridge.org/us/9780521872829http://find/
-
8/20/2019 Selfish Routing
10/80
Roadmap
1 Examples of Some Phenomena
2 Wardrop Model and the Price of Anarchy
3 Coping with the Braess Paradox
4 Stackelberg Routing
5 Network Tolls
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 10
http://find/
-
8/20/2019 Selfish Routing
11/80
Examples of Some Phenomena
http://find/
-
8/20/2019 Selfish Routing
12/80
Cost minimization games
A cost minimization game G is given by
• set of players N = {1, . . . , n }• set of strategies S i for every player i ∈ N • cost function C i : S 1 × · · ·× S n → R
S = S 1 × · · ·× S n is called the set of strategy profiles.
Interpretation:
• every player i ∈ N chooses a strategy s i ∈ S i so as tominimize his individual cost C i (s 1, . . . , s n )
• one-shot, simultaneous-move: players choose their
strategies once and at the same time
• full-information: every player knows the strategies and cost
function of every other player
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 12
http://find/
-
8/20/2019 Selfish Routing
13/80
Example: Congestion game
n = 4
S i = {e 1, e 2}
s t
e 1 (x ) = x
e 2 (x ) = 4
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 13
E l C i
http://find/
-
8/20/2019 Selfish Routing
14/80
Example: Congestion game
n = 4
S i = {e 1, e 2}
s t
e 1 (x ) = x
e 2 (x ) = 4
4
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 13
E l C ti
http://find/
-
8/20/2019 Selfish Routing
15/80
Example: Congestion game
n = 4
S i = {e 1, e 2}
s t
e 1 (x ) = x
1
e 2 (x ) = 4
3
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 13
E l C ti
http://find/http://goback/
-
8/20/2019 Selfish Routing
16/80
Example: Congestion game
n = 4
S i = {e 1, e 2}
s t
e 1 (x ) = x
2
e 2 (x ) = 4
2
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 13
E l C ti
http://find/
-
8/20/2019 Selfish Routing
17/80
Example: Congestion game
n = 4
S i = {e 1, e 2}
s t
e 1 (x ) = x
3
e 2 (x ) = 4
1
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 13
Nash equilibrium and social cost
http://find/
-
8/20/2019 Selfish Routing
18/80
Nash equilibrium and social cost
Nash equilibrium: strategy profile s = (s 1, . . . , s n ) ∈ S is apure Nash equilibrium (PNE) if no player has an incentive to
unilaterally deviate
∀i ∈ N : C i (s i , s −i ) ≤ C i (s
i , s −i ) ∀s
i ∈ S i
(s −i refers to (s 1, . . . , s i −1, s i +1, . . . , s n ))
Social cost of strategy profile s = (s 1, . . . , s n ) ∈ S is
C (s ) = i ∈N
C i (s )
A strategy profile s ∗ that minimizes the social cost function C (·)is called a social optimum.
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 14
Example: Congestion game
http://find/
-
8/20/2019 Selfish Routing
19/80
Example: Congestion game
n = 4
s t
x
4
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 15
Example: Congestion game
http://find/
-
8/20/2019 Selfish Routing
20/80
Example: Congestion game
n = 4
s t
x
4
4
Nash equilibrium: C (s ) = 4 · 4 = 16
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 15
Example: Congestion game
http://find/
-
8/20/2019 Selfish Routing
21/80
Example: Congestion game
n = 4
s t
x
2
4
2
social optimum: C (s ∗) = 4 + 8 = 12
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 15
Example: Congestion game
http://find/
-
8/20/2019 Selfish Routing
22/80
Example: Congestion game
n = 4
s t
x
2
4
2
inefficiency: C (s )C (s ∗) =
1612 =
43
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 15
Example: Congestion game
http://find/
-
8/20/2019 Selfish Routing
23/80
Example: Congestion game
n = 4
s t
x
4
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 15
Example: Congestion game
http://find/
-
8/20/2019 Selfish Routing
24/80
Example: Congestion game
n = 4
s t
x
3
4
1
Nash equilibrium: C (s ) = 9 + 4 = 13
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 15
Example: Congestion game
http://find/
-
8/20/2019 Selfish Routing
25/80
Example: Congestion game
n = 4
s t
x
3
4
1
inefficiency: C (s )C (s ∗) =
1312 ≈ 1.08
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 15
Inefficiency of equilibria
http://find/
-
8/20/2019 Selfish Routing
26/80
Inefficiency of equilibria
Price of anarchy: worst-case inefficiency of equilibria
POA(G ) = maxs ∈PNE (G )
C (s )C (s ∗)
[Koutsoupias, Papadimitriou, STACS ’99]
Price of stability: best-case inefficiency of equilibria
POS (G ) = mins ∈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 ) = maxG ∈G
POA(G ) and POS (G ) = maxG ∈G
POS (G )
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 16
Example: Braess Paradox
http://find/
-
8/20/2019 Selfish Routing
27/80
Example: Braess Paradox
n =
4
s t
x 4
4 x
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 17
Example: Braess Paradox
http://find/
-
8/20/2019 Selfish Routing
28/80
Example: Braess Paradox
n =
4
s t
x 2
4
42
x
Nash equilibrium: C (s ) = 24
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 17
Example: Braess Paradox
http://find/
-
8/20/2019 Selfish Routing
29/80
a p e aess a ado
n =
4
s t
x 4
4 x
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 17
Example: Braess Paradox
http://find/
-
8/20/2019 Selfish Routing
30/80
p
n = 4
s t
x 4
4 x
0
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 17
Example: Braess Paradox
http://find/
-
8/20/2019 Selfish Routing
31/80
p
n = 4
s t 0
4
4
x
40
x
Nash equilibrium: C (s ) = 32
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 17
Example: Braess Paradox
http://find/
-
8/20/2019 Selfish Routing
32/80
p
n = 4
s t 0
4
4
x
40
x
cost increase: 3224 = 43
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 17
http://find/
-
8/20/2019 Selfish Routing
33/80
[New York Times Article]
Example: Network tolls
http://find/
-
8/20/2019 Selfish Routing
34/80
n = 4
s t
x
4
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 19
Example: Network tolls
http://find/
-
8/20/2019 Selfish Routing
35/80
n = 4
s t
x +2
4
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 19
Example: Network tolls
http://find/
-
8/20/2019 Selfish Routing
36/80
n = 4
s t
x +2
4
2
2
Nash equilibrium = social optimum
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 19
http://find/
-
8/20/2019 Selfish Routing
37/80
Wardrop Model and the Price of
Anarchy
Wardrop model
http://find/
-
8/20/2019 Selfish Routing
38/80
x
a (x )
Given:
• directed network G = (V , A)
• k commodities (s 1, t 1), . . . , (s k , t k )
• demand r i for commodity i ∈ [k ]
• flow-dependent latency function a (·) for every arc a ∈ A(non-decreasing, differentiable, semi-convex)
Interpretation:
• send r i units of flow from s i to t i , corresponding to aninfinitely large population of non-atomic players
• latency experienced on arc a ∈ A is a (x ), where x is theamount of flow on arc a
• selfishness: players choose minimum-latency paths
• one-shot, simultaneous-move, full information game
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 21
Optimal flows
http://find/
-
8/20/2019 Selfish Routing
39/80
Notation:
• P i = set of all (simple) directed s i , t i -paths
• P = ∪i ∈[k ]P i = set of all relevant paths
• flow f is a function f : P → R+
• f is a feasible flow if
P ∈P i f P = r i for all i
• flow on arc a : f a
:= P ∈P :a ∈P
f P
• latency of path P : P (f ) :=
a ∈P a (f a )
Social cost of flow:
C (f ) =i ∈[k ]
P ∈P i
f P P (f ) =a ∈A
f a a (f a )
Optimal flow: feasible flow f ∗ that minimizes C (·)
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 22
Nash flows
http://find/
-
8/20/2019 Selfish Routing
40/80
Nash flow: feasible flow f that satisfies for every i ∈ [k ]
∀P 1
,
P 2 ∈
P i with
f P 1 > 0, ∀δ ∈
(0,
f P 1 ] :
P 1 (f )≤
P 2 (
˜
f ),
where
f̃ P :=
f P − δ if P = P 1
f P + δ if P = P 2
f P otherwise.
Exploiting continuity of a (·) and letting δ → 0, we obtain thefollowing equivalent definition:
Wardrop flow: feasible flow f that satisfies for every i ∈ [k ]
∀P 1, P 2 ∈ P i with f P 1 > 0 : P 1 (f ) ≤ P 2 (f )
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 23
Inefficiency of equilibria
http://find/
-
8/20/2019 Selfish Routing
41/80
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 24
Inefficiency of equilibria
http://find/
-
8/20/2019 Selfish Routing
42/80
Nash flow f : C (f ) = 1
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 24
Inefficiency of equilibria
http://find/
-
8/20/2019 Selfish Routing
43/80
Optimal flow f
∗
: C (f
∗
) =
1
2 ·
1
2 +
1
2 · 1 =
3
4
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 24
Existence and computation of optimal flows
http://find/
-
8/20/2019 Selfish Routing
44/80
min a ∈A
a (f a )f a
s.t.
P ∈P i
f P = r i ∀i ∈ [k ]
f a =
P ∈P :a ∈P
f P ∀a ∈ A
f P ≥ 0 ∀P ∈ P
Observations:
• minimize a continuous function (social cost) over a compact
set (feasible flows)
• optimal flow must exist (extreme value theorem)
• optimal flow can be computed efficiently (convex program)
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 25
KKT optimality conditions
http://find/
-
8/20/2019 Selfish Routing
45/80
mina ∈A
h a (f a )
s.t.
P ∈P i
f P = r i ∀i ∈ [k ]
f a =
P ∈P :a ∈P
f P ∀a ∈ A
f P ≥ 0 ∀P ∈ P
(CP)
Theorem (KKT optimality conditions)
Suppose (h a )a ∈A are continuously differentiable and convex. f is
an optimal solution for (CP) if and only if for every i ∈ [k ]
∀P 1, P 2 ∈ P i , f P 1 > 0 :
a ∈P 1
h a (f a ) ≤
a ∈P 2
h a (f a )
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 26
Existence and computation of Nash flows
http://find/
-
8/20/2019 Selfish Routing
46/80
Idea: Can we determine functions (h a )a ∈A such that KKToptimality conditions reduce to Nash flow conditions?
mina ∈A
f a
0
a (x )dx
s.t.
P ∈P i
f P = r i ∀i ∈ [k ]
f a = P ∈P :a ∈P
f P ∀a ∈ A
f P ≥ 0 ∀P ∈ P
Observations:
• optimal solutions of (CP) above coincides with Nash flows• Nash flow must exist (extreme value theorem)
• similar argument: cost of Nash flow is unique
• Nash flow can be computed efficiently (convex program)
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 27
Characterization of optimal flows
http://find/
-
8/20/2019 Selfish Routing
47/80
min a ∈A
a (f a )f a
s.t.
P ∈P i
f P = r i ∀i ∈ [k ]
f a =
P ∈P :a ∈P
f P ∀a ∈ A
f P ≥ 0 ∀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 A Glimpse of Algorithmic Game Theory: Selfish Routing 28
Price of anarchy in selfish routing
http://find/http://goback/
-
8/20/2019 Selfish Routing
48/80
Price of anarchy: given an instance I = (G , (s i , t i ), (r i ), (a ))
POA(I ) = maxf Nash flow
C (f )
C (f ∗)
POA for selfish routing is independent of the network topology,
but depends on the class of latency functions:
• POA = 43 for linear latency functions
• POA = Θ( p ln p ) for polynomial latency functions of degree p
• POA is unbounded in general[Roughgarden, Tardos, JACM ’02]
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 29
http://find/
-
8/20/2019 Selfish Routing
49/80
[Upper bound on POA for linear latency functions]
POA for polynomial latency functions
http://find/
-
8/20/2019 Selfish Routing
50/80
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 ≤
1 −
p
(p + 1)(p +1)/p −1
=Θ p
ln p
[Roughgarden, Tardos, JACM ’02]
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 31
Example: Unbounded POA
http://find/
-
8/20/2019 Selfish Routing
51/80
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 32
Example: Unbounded POA
http://find/
-
8/20/2019 Selfish Routing
52/80
Nash flow f : C (f ) = 1
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 32
Example: Unbounded POA
http://find/
-
8/20/2019 Selfish Routing
53/80
Optimal flow f ∗: C (f ∗
) = (1−
)
1+p
+
· 1 → 0
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 32
Example: Unbounded POA
http://find/
-
8/20/2019 Selfish Routing
54/80
POA →∞ as p →∞
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 32
Reducing inefficiency
http://find/
-
8/20/2019 Selfish Routing
55/80
Means to reduce inefficiency:
• infrastructure improvement (expensive, Braess paradox)
• centralized routing (difficult to implement)
• Stackelberg routing (control part of the traffic)• traffic regulation (taxes on fuel, pay-as-you-go tax)
• network tolls
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 33
http://find/
-
8/20/2019 Selfish Routing
56/80
Coping with the Braess Paradox
Braess subgraph problem
http://find/
-
8/20/2019 Selfish Routing
57/80
Consider a single-commodity instance I = (G , (s , t ), r , (a )) withlinear latency functions. Define
d (H ) = common latency of flow carrying paths in aNash 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
TheoremTRIVIAL is a 43 -approximation algorithm for the Braess subgraph problem.
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 35
Braess subgraph problem
Th
http://find/
-
8/20/2019 Selfish Routing
58/80
Theorem
TRIVIAL is a 43 -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 43 on the price of anarchy yields
C (f ) ≤ 43 · 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 A Glimpse of Algorithmic Game Theory: Selfish Routing 36
As good as it gets...
http://find/
-
8/20/2019 Selfish Routing
59/80
Theorem
Assuming P = NP, for every ε > 0 there is no approximation algorithm for the Braess subgraph problem achieving an approximation guarantee of ( 43 − ε).
Proof idea: A ( 43 − ε)-approximation algorithm can be used todetermine whether there exist two disjoint paths between (s 1, t 1)and (s 2, t 2) in a directed graph. The latter problem is
NP-complete.
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 37
http://find/
-
8/20/2019 Selfish Routing
60/80
Network Tolls
Reducing inefficiency
M t d i ffi i
http://find/
-
8/20/2019 Selfish Routing
61/80
Means to reduce inefficiency:
• infrastructure improvement (expensive, Braess paradox)
• centralized routing (difficult to implement)
• Stackelberg routing (control part of the traffic)
• traffic regulation (taxes on fuel, pay-as-you-go tax)
• network tolls
Advantages of network tolls:
• fine-grained means: impose “local” taxes
• new technologies facilitate electronic collection of tolls
• dynamic pricing schemes have potential to changeparticipants’ behavior
• . . .
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 59
Dynamic pricing: ERP in Singapore
http://find/
-
8/20/2019 Selfish Routing
62/80
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 60
Road pricing
http://find/
-
8/20/2019 Selfish Routing
63/80
Network tolls: impose non-negative tolls τ := (τ a )a ∈A on arcs
• dynamic: flow-dependent function τ a (x ) (non-decreasing,continuous)
• static: flow-independent constant τ a
Interpretation: by traversing an arc a ∈ A with flow value x , aplayer experiences a delay of a (x ) and has to pay a toll of τ a (x )
Assumption: players are homogeneous
φa (x ) := a (x ) + α · τ a (x )
α specifies how players value time over money (w.l.o.g. α = 1)
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 61
Marginal cost tolls
Marginal cost tolls: τa(x) := x · (x) ∀a ∈ A
http://find/
-
8/20/2019 Selfish Routing
64/80
Marginal cost tolls: τ a (x ) := x · a (x ) ∀a ∈ A
Theoremf is an optimal flow with respect to iff f is a Nash flow with respect to + τ .
[Beckman, McGuire and Winsten 1956]
Drawbacks:
1 potentially every arc of the network is tolled
2 imposed tolls can be arbitrarily large
Most previous studies: no restrictions on tolls that can be
imposed on the arcs of the network
Question: What can be done if such restrictions are given
exogenously?
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 62
Effective road pricing in Singapore
http://find/
-
8/20/2019 Selfish Routing
65/80
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 63
http://find/
-
8/20/2019 Selfish Routing
66/80
Restricted Network Toll Problem
Restricted Network Toll Problem
http://find/
-
8/20/2019 Selfish Routing
67/80
Our setting: suppose we are given threshold functions
θ := (θa )a ∈A (dynamic or static)
Tolls τ = (τ a )a ∈A are θ-restricted if
∀a ∈ A : 0 ≤ τ a (x ) ≤ θa (x ) ∀x ≥ 0
Special cases:
1 taxing subnetworks: allow tolls only on arcs T ⊆ A
2 restrict the toll on each arc a ∈ A by a (flow-independent)threshold value θa
3 toll on each arc a ∈ A does not exceed a certain fraction ofthe latency of that arc, e.g., θa (x ) = εa (x ) for some ε > 0
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 65
Efficiency measures
Given θ-restricted tolls τ , let f τ denote a Nash flow that is
http://find/
-
8/20/2019 Selfish Routing
68/80
,
induced by τ , i.e., f τ is a Nash flow with respect to + τ .
θ-restricted tolls τ are ρ-approximate if for all Nash flows f τ̄
induced by θ-restricted tolls τ̄
C (f τ ) ≤ ρ · C (f τ̄ )
The efficiency of θ-restricted tolls is
minθ-restricted tolls τ
C (f τ )
C (f ∗)
Note: interested in the cost of the induced Nash flow (system
performance) rather than the total disutility of the players
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 66
Results in a nutshell
http://find/
-
8/20/2019 Selfish Routing
69/80
1 Derive an algorithm to compute optimal θ-restricted tolls for
parallel-arc networks and affine latency/threshold functions• algorithm works for general latency/threshold functions• can guarantee polynomial running time only for affine case• key: characterize inducible flows for single-commodity networks
2 Provide bounds on the efficiency of θ-restricted tolls formulti-commodity networks and polynomial latency functions
• derive a pricing scheme that realizes respective efficiency• bounds are tight, even for parallel-arc networks• approach based on (λ, µ)-smoothness technique• insight: impose tolls on arcs that are sensitive to flow changes
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 67
Related work
i l t i b t k
http://find/
-
8/20/2019 Selfish Routing
70/80
1 special case: taxing subnetworks
• NP-hard to compute optimal tolls for two-commodity networks
and affine latency functions• algorithm to compute optimal tolls for parallel-arc networks and
affine latency functions[Hoefer, Olbrich, Skopalik, WINE 08]
2
existence/computation of optimal-inducing tolls forheterogenous players
• single-commodity, non-atomic [Cole, Dodis, Roughgarden, STOC 03]• multi-commodity, non-atomic [Fleischer, Jain, Mahdian, FOCS 04]
[Karakostas, Kolliopoulos, FOCS 04]
• multi-commodity, atomic [Swamy, SODA 07]
3 price of anarchy and price of stability of ε-Nash flows[Christodoulou, Koutsoupias, Spirakis, ESA 09]
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 68
http://find/
-
8/20/2019 Selfish Routing
71/80
Computing Optimal Tolls for
Parallel-Arc Networks
Characterization of inducible flows
Question: Given an arbitrary flow f , can we determine whetherf i i d ibl b θ t i t d t ll ?
http://find/
-
8/20/2019 Selfish Routing
72/80
f is inducible by θ-restricted tolls?
Note: If f is given, then a (f a ) and θa (f a ) are constants.
Nash conditions: f is a Nash flow with respect to + τ if
∀P 1, P 2 ∈ P with f P 1 > 0 : ( + τ )P 1 (f ) ≤ ( + τ )P 2 (f )
Can describe the set of θ-restricted tolls that induce f as
{ (τ a )a ∈A | δ v ≤ δ u + a + τ a ∀a = (u , v ) ∈ A \ A+
δ v = δ u + a + τ a ∀a = (u , v ) ∈ A+
τ a ≥ 0 ∀a ∈ Aτ a ≤ θa ∀a ∈ A },
where A+ := {a ∈ A : f a > 0}.
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 70
Characterization of inducible flows
Auxiliary graph: Ĝ (f ) = (V , Â) with arc-costs c : Â → R:
http://find/
-
8/20/2019 Selfish Routing
73/80
• for every arc (u , v ) ∈ A: introduce a forward arc (u , v ) ∈ Â
with c (u ,v ) := (u ,v ) + θ(u ,v )• for every arc (u , v ) ∈ A+: introduce a backward arc
(v , u ) ∈ Â with c (v ,u ) := −(u ,v )
Theoremf is inducible by θ-restricted tolls if and only if Ĝ (f ) does not contain a cycle of negative cost.
[Bonifaci, Mahyar, Schäfer, SAGT ’11]
Remark: can also extract respective θ-restricted tolls from Ĝ (f )
Computing optimal tolls: compute a minimum cost flow f suchthat Ĝ (f ) does not contain a negative cycle
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 71
Algorithm for parallel-arc networks
Goal: compute a minimum cost flow f such that
http://find/
-
8/20/2019 Selfish Routing
74/80
Goa co pu e a u cos o suc a
∀a ∈ A, f a > 0 : a (f a ) ≤ a
(f a
) + θa
(f a
) ∀a
∈ A.
s t ...
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 72
Algorithm for parallel-arc networks
Goal: compute a minimum cost flow f such that
http://find/
-
8/20/2019 Selfish Routing
75/80
p
∀a ∈ A, f a > 0 : a (f a ) ≤ a
(f a
) + θa
(f a
) ∀a
∈ A.
s t ...ordered bydecreasinga (0) + θa (0)
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 72
Algorithm for parallel-arc networks
Goal: compute a minimum cost flow f such that
http://find/
-
8/20/2019 Selfish Routing
76/80
p
∀a ∈ A, f a > 0 : a (f a ) ≤ a
(f a
) + θa
(f a
) ∀a
∈ A.
s t
a
...ordered bydecreasinga (0) + θa (0)
suppose we knew the arc a with f a = 0 and a (0) + θa (0) minimum
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 72
Algorithm for parallel-arc networks
Goal: compute a minimum cost flow f such that
http://find/
-
8/20/2019 Selfish Routing
77/80
p
∀a ∈ A, f a > 0 : a (f a ) ≤ a
(f a
) + θa
(f a
) ∀a
∈ A.
s t
0
a
...ordered bydecreasinga (0) + θa (0)
suppose we knew the arc a with f a = 0 and a (0) + θa (0) minimum
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 72
Algorithm for parallel-arc networks
Goal: compute a minimum cost flow f such that
http://find/
-
8/20/2019 Selfish Routing
78/80
∀a ∈ A, f a > 0 : a (f a ) ≤ a
(f a
) + θa
(f a
) ∀a
∈ A.
s t
0
a
...ordered bydecreasinga (0) + θa (0)
suppose we knew the arc a with f a = 0 and a (0) + θa (0) minimum
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 72
Algorithm for parallel-arc networks
Goal: compute a minimum cost flow f such that
http://find/
-
8/20/2019 Selfish Routing
79/80
∀a ∈ A, f a > 0 : a (f a ) ≤ a (f a ) + θa (f a ) ∀a ∈ A. (1)
Algorithm:
1 Guess the minimum value z = a (0) + θa (0) of a zero-flowarc a in a minimum cost flow satisfying (1).
2 Set f a = 0 for every arc a ∈ A with a (0) > z .3 Let A = {a ∈ A | a (0) ≤ z } be the remaining arcs and solve
min
a ∈A f a a (f a )s.t. a ∈A f a = r
f a ≥ 0 ∀a ∈ A
a (f a ) ≤ z ∀a ∈ A
a (f a ) ≤ a (f a ) + θa (f a ) ∀a , a ∈ A
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 73
Main result
Theorem
http://find/
-
8/20/2019 Selfish Routing
80/80
The algorithm computes optimal θ-restricted tolls for parallel-arc
networks in polynomial time if all latency and threshold functions are affine .
[Bonifaci, Mahyar, Schäfer, SAGT ’11]
Remark: [Hoefer et al., WINE 08] derived a similar result for the
special case that restrictions are of the form θa ∈ {0,∞} forevery arc a ∈ A.
Recall: problem is NP-hard for two-commodity networks and
affine latency functions
Open problem: Is the restricted network toll problem NP-hard
for single-commodity networks and affine latency functions?
Guido Schäfer A Glimpse of Algorithmic Game Theory: Selfish Routing 74
http://find/