Download Part 1(PPT Format)

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
Transcript
How Bad is Selfish Routing?
By
Tim Roughgarden
Eva Tardos
Presented by Alex Kogan
Abstract
• In many large-scale communication networks,
it’s impossible to regulate the traffic by some
central authority to minimize the total latency.
– We assume that each network user selfishly routes
its traffic on the minimal-latency path available.
– In this case, the TOTAL latency isn’t minimized!
– The paper quantifies the performance degradation
caused by the lack of central regulation (under some
assumptions about the latency of each edge).
The Performance Problem
• Given the rate of traffic between each pair of
nodes, find an assignment of traffic to paths so
that the total latency is minimized.
– The total latency is the sum of all travel times
– The latency of a single link is load-dependent (the
network is congested)!
• In practice, it’s nearly impossible to impose
optimal routing strategies, so users act in a
selfish manner.
The Central Question
• How much does the network performance suffer
from the lack of regulation?
– We assume that the users are selfish, but NOT
malicious.
– We assume that each user has complete information
about the current traffic load over the network.
Formalizing the Question
• We can view network users as independent
agents in a non-cooperative game.
– Each agent is given the link congestion caused by
the rest of the network users.
– Each agent controls a negligible fraction of the
overall traffic.
• We expect the routes chosen by the agents to
form a Nash equilibrium.
Formalizing the Question (cont)
• We’re interested in comparing the total latency
of a Nash equilibrium with that of the optimal
assignment of traffic to paths.
– Nash equilibrium doesn’t in general optimize the
social welfare (see the Prisoner’s Dilemma).
Formalizing the Question (cont)
• A feasible assignment of traffic to paths in the
network can be modeled as network flow.
– Amount of flow between a pair of nodes is equal to
the rate of traffic between the nodes.
– At Nash equilibrium, all flow paths between given
source & destination have the same latency.
– If the latency of each link is a continuous and nondecreasing function of the flow on the link, then a
flow corresponding to Nash always exists (and all
such flows have the same total latency.
Formalizing the Question (cont)
• We can study the cost of selfish routing via the
following question:
– Among all networks with continuous, nondecreasing
link latency functions, what is the worst-case ratio
between the total latency of a Nash flow and that of
an optimal flow with the minimal total latency?
The Answer
• If the latency of each edge is a linear function of
the edge congestion, then a Nash flow has total
latency at most 4/3 that of the optimal flow.
• For a general continuous nondecreasing link
latency functions, the ratio is unbounded!
• BUT, the Nash flow total latency is at most twice
the latency of an optimal flow routing twice as
much traffic (bicriteria result).
Linear Latency Example (1):
Braess’s paradox
• Adding a zero-latency edge may negatively
impact all the agents!
x
v
x
1
S
T
1
x
w
v
1
0
S
1
T
x
w
The optimal latency:1½
The Nash latency:1½
The Nash
latency:2 The ratio: 2 / 1½ = 4/3
The Formal Model
•
•
•
•
•
•
Directed network G = (V, E)
k source-destination pairs {s1, t1}, …, {sk, tk}
Pi - the set of all si-ti simple paths, P = iPi
For a fixed flow f, we define fe = P:eP fP
ri - the amount of flow from si to ti
f is feasible if for all i, PPi fP = ri
The Formal Model (cont.)
• le - the load-dependent latency of eE; we
assume that le is continuous & non-decreasing.
• lp(f) = eP le(fe) - the latency of path P with
respect to flow f.
• C(f) = PP lP(f) fP - the cost of a flow f in G
(the total latency incurred by f )
• We can also write C(f) = eE le(fe) fe
Flows at Nash Equilibrium
• Definition: A flow f in G is at Nash equilibrium
if for all i {1,…, k}, P1, P2  Pi,   [0, fP1],
we have lP1(f)  lP2(f~), where
{ fP - 
if P = P1
f~P = { fP + 
if P = P2
{ fP
Š
otherwise
• If   0, from continuity and monotonicity, we
get the following lemma:
Flows at Nash Equilibrium
• Lemma 2.2 (Wardrop’s Principle): A flow f is
at Nash equilibrium iff for every i {1,…, k},
and P1, P2  Pi with fP1 > 0, lP1(f)  lP2(f).
• It follows from the lemma, that if f is at Nash
equilibrium, then all si-ti paths assigned a
positive amount of flow have equal latency
denoted Li (f).
Flows at Nash Equilibrium
• Lemma 2.3: If f is a feasible flow at Nash
equilibrium, then
C(f) = i Li (f) ri
• Remark: In our model, each agent chooses a
single path (a pure strategy), whereas in
classical game theory the Nash equilibrium is
defined via mixed strategies (where each agent
select a distribution over pure strategies).
Optimal Flows
• The problem of finding the optimal (minimallatency) flow can be expressed by the following
NLP:
Min eE ce(fe)
subject to:
PPi fP = ri  i  {1, …, k}
fe = P:eP fP  e  E
fP  0
eE
Optimal Flows (cont.)
• The local optima of NLP:
– Moving from one path to another can only increase
the cost.
– In other words, the gradient (i.e. marginal cost)
along any si-ti path P is at least the gradient along
any other si-ti path.
– The local and global minimum of a convex function
coincide  if each edge latency function is convex,
then the condition above defines the global optima.
Optimal Flows (cont.)
• Letting c'P(f) = eP c'e(fe) and applying to the
convex program (NLP) the Karus-Kuhn-Tucket
Theorem, we derive the following lemma:
• Lemma 2.4: A flow f is optimal for a convex
program of the form (NLP) iff  i  {1, …, k}
and P1, P2  Pi with fP1 > 0, c'P1(f)  c'P2(f).
• The characterizations in lemma 2.4 and lemma
2.2 are very similar!
Optimal Flows (cont.)
• Let f* be a minimum-latency flow for a convex
program of the form (NLP).
– f* satisfies the conditions of lemma 2.4.
– By lemma 2.2, f* can be regarded as a Nash flow
with respect to latency function c'.
• Since in our problem ce(fe) = le(fe) fe ,we denote
le*(fe) = (le(fe) fe )' = le(fe) + le'(fe) fe
– le*(fe) is the marginal cost of increasing flow on
edge e
Optimal Flows (cont.)
• Any flow f* at Nash equilibrium with respect to
latency functions l* is optimal with respect to
the original latency functions l.
• This fact can be exploited to prove the lemma:
• Lemma 2.5: A network G with continuous,
non-decreasing latency functions admits a
feasible flow at Nash equilibrium. If f and f' are
such flows, then C(f) = C(f').
The costs ratio
• We denote  = (G, r, l) = C(f) / C(f*)
–  is the ratio between the cost at Nash equilibrium
and the cost of the minimum-latency flow.
– r = the rate vector
– l = the latency functions
Linear Latency Example (2)
1
S
T
x
• r=1
•  = 4/3
Non-Linear Latency Example
1
S
T
xk
• The cost of Nash flow C(f) is still 1.
• In the optimal flow, the lower link is assigned
(k+1)-1/k , the cost is C(f*) = 1 - k(k+1)-(k+1)/k.
• If k  then C(f*)  0, so  is unbounded!
General Latency
•  can be unbounded.
• BUT, there are interesting bicriteria results.
• We compare the cost of a Nash flow to an
optimal flow feasible for increased rates.
• The result for twice the original rate is given by
the following theorem.
General Latency (cont.)
• Theorem 1: If f is a flow at Nash equilibrium
for (G, r, l) and f* is feasible for (G, 2r, l), then
C(f)  C(f*).
• The proof:
– By lemma 2, C(f) = i Li (f) ri
– We define new latency function, l~, as follows:
– l~(x) = { le(fe) if x  fe }
{ le(x) if x > fe }
General Latency (cont.)
• The proof (cont):
– We compare the cost of f* under l~ to C(f*).
– For any e: le~(x) - le (x) is 0 if x > fe, otherwise
bounded above by le(fe)  x(le~(x) - le (x))  le(fe)fe
– Thus the difference between the new and old costs
can be bounded as follows:
– e le~( f*e ) f*e - C(f*) = e f*e (le~( f*e ) - le~( fe ))
 le(fe)fe = C(f).
General Latency (cont.)
• The proof (cont):
– Denote f0 - the zero flow in G.
– By construction, lP~( f0)  Li(f) for any P  Pi.
– Since le~ is non-decreasing, lP~( f*)  Li(f) for any
P  Pi.
– The cost of f* with respect to l~ is bounded below
by: iP Pi Li(f) f *P = i2Li(f) ri = 2C(f).
General Latency (cont.)
• The proof (cont):
– Combining the results:
C(f*)  P lP~( f*) f*P - C(f) = 2C(f) - C(f) = C(f)

Linear Latency
• For each edge e, le (fe) = ae fe + be (ae , be  0)
– We’re going to show that in this case   4/3.
• The total latency: C(f) = e( ae fe2 + be fe).
• (NLP) is a convex (quadratic) program, thus
lemma 3 characterizes its optimal solutions.
• le*(fe) = le' (fe) = 2ae fe + be
– le*(fe) is the marginal cost of increasing flow on e
Linear Latency (cont.)
• Lemma 4.1: Suppose G is a directed network
with k source-sink pairs and with edge latency
functions le (fe) = ae fe + be (for each e).
– (a) A flow f is at Nash equilibrium in G iff for each i
and P, P'  Pi with fP > 0,
e P ( ae fe + be)  e P' ( ae fe + be)
– (b) A flow f is (globally) optimal in G iff for each i
and P, P'  Pi with f*P > 0,
e P (2ae f*e + be)  e P' (2ae f*e + be)
Linear Latency (cont.)
• Corollary 4.2: Let G be a network with all edge
latency functions of the form le (fe) = ae fe. Then
for any rate vector r, a flow feasible for (G, r, l)
is optimal iff it is at Nash equilibrium.
– (a)  (b)
Linear Latency (cont.)
• Lemma 4.3: Suppose (G, r, l) has linear
latency functions. Then if f is at Nash
equilibrium for (G, r, l), the flow f/2 is optimal
for (G, r/2, l).
– If f satisfies (a), then f/2 satisfies (b).
Linear Latency (cont.)
• The main theorem proof outline:
– creating an optimal flow for the instance (G, r, l)
via two-step process:
• in the first step, create an optimal flow for the
instance (G, r/2, l) with a cost at least 1/4 C(f).
• in the second, the flow is augmented to one
optimal for (G, r, l) (the augmentation may
increase or decrease the flow on any given edge).
The augmentation’s cost is at least 1/2 C(f).
– f is some flow at Nash Equilibrium
Linear Latency (cont.)
• The proof of the second bound requires the
following lemma:
• Lemma 4.4: Suppose (G, r, l) has linear latency
functions, f* is its optimal flow. Let L*i(f*) be
such that every si-ti path P of f* satisfies
l*P(f*) = L*i(f*). Then for any  > 0, a
feasible flow for the problem instance (G, (1 +
), l) has cost at least C(f*) +  i L*i (f*)ri
Linear Latency (cont.)
• Theorem 4.5: If (G, r, l) has linear latency
functions, then (G, r, l)  4/3.
• The proof:
– f - flow in G at Nash equilibrium
– Li- the latency of an si-ti path, C(f) = i Li (f) ri
– by lemma 4.3, f/2 is an optimal flow for (G, r/2, l).
Linear Latency (cont.)
• The proof (cont.):
– in the notation of lemma 4.3, l*e(fe/2) = l(fe) for
each e, hence L*i(f/2) = Li(f) for each i. (Marginal
costs of edges and paths w.r.t. f/2 and the latencies
of edges w.r.t. f coincide).
– Taking  = 1 in lemma 4.4, we get
C(f*)  C(f/2) + i L*i(f/2) ri/2 
C(f/2) + 1/2 i Li(f) ri = C(f/2) + 1/2 C(f)
• the augmentation from f/2 to f* costs at least 1/2C(f)
Linear Latency (cont.)
• The proof (cont.):
– now we show the lower bound of C(f/2):
C(f/2) = i (1/4 aefe2 + 1/2befe) 
1/4 i (aefe2 + befe) = 1/4C(f).
– From the 2 bounds, we finally get C(f*)  3/4 C(f).

Extensions
• During the previous discussion, we made some
unrealistic assumptions. In practice:
– agents can evaluate path latency only approximately
– there’s a finite number of agents, each controlling a
strictly positive amount of flow.
• Sometimes, each agent can route its flow
fractionally over any number of paths, and
sometimes it can’t.
Approximate Nash Equilibrium
• We suppose that an agent can distinguish
between paths that differ “significantly” in
their latency - by more than (1 + ) factor
for  > 0.
• We can reformulate and prove the result
for general latency functions and flows at
-approcimate Nash equilibrium (the
bound changes by factor of 1 + )
Finitely Many Agents:
Splittable Flow
• Finitely many agents, each controlling a
non-negligible amount of flow.
• The result is similar to theorem 3.1
(actually, theorem 3.1 can be regarded as
the limiting case, as the number of agents
tends to infinity and the amount of flow
controlled by each agent tends to 0).
Finitely Many Agents:
Unsplittable Flow
• Finitely many agents, each controlling a
non-negligible amount of flow.
• Bicriteria statements like the theorem 3.1
are false!
• The statements can be reformulated only
when the largest possible change in edge
latency is bounded above.