Presentation

advertisement
‫?‪How bad is selfish routing‬‬
‫מאת ליאור עזרא‪.‬‬
‫‪027256569‬‬
‫עפ"י מאמר של חווה טרדוס וטים גן‪-‬מחוספס‪.‬‬
The problem:
 We are given:
• Network.
• Rate of traffic between nodes.
• Latency time.
 We should route the traffic such that
the sum of all travel time is minimized.
 Difficult aspect: when link traverse is
load-dependent.
Assumptions:
Finding optimal routing is difficult or even
impossible.
No network regulations.
Users are purely selfish, but not malicious.
Users know the links congestions.
In other words: Network routing is nocooperative game and the routes form
Nash-Equilibrium.
Most of the time each user/agent controls
negligible fraction of the traffic.
Brass’s Paradox:
Consider the following network:
When 1 (divided to many fractions
and agents) unit of flow need to be
routed.
In the upper network, Nash
equilibrium Which is the optimal
flow is half of the traffic goes up
and half down. Total latency time is
1+0.5=1.5
In the lower network, we added 0
edge. The new optimal flow does
not change, but Nash’s flow is: s>v->w->t. And the total latency is
1+1=2
v
x
1
s
t
1
x
w
x
v
1
0
s
1
w
t
x
Model:
Directed network Graph G=(V,E); V-vertex, E-edges.
K source-destination vertex pairs {s1,t1} .. {sk,tk}.
φ i is a set of simple si-ti path. φ = Ui φ i.
A flow f: φ ->  
fe =
ri – The rate - the amount of flow from si to ti.
f is feasible if for all i ri  p   i fp
Each edge e has latency function le();
The latency of path p with flow s is : lp( f )  e  p le( fe)
le is non-negative, continuous and non-decreasing.
The cost C(f) of flow f is: C ( f )   p   l ( f ) f
The Cost ca also be written as C ( f )  e  E le( fe) fe
p
p
Flows and Nash equilibrium, definition
Flows behave “selfishly” and “greedily”:
Definition: A flow f in G is at Nash equilibrium if for all i є{1, . . . , k}, P
1 , P 2 є P i , and δ є[0, fP1 ], we have lP1 (f) <= lP2 (ƒ), where ƒp is:
If P=P1 fp- δ
If P=P2 fp+ δ
Else
fp
And of course we let δ ->0
Flows and Nash equilibrium
Lemma 1: A flow f is at Nash equilibrium if and only if for every i є
{1, . . . , k} and P1,P2єP i with fP1 > 0, lP1(f) <= lP2 (f).
Conclusion: if f is at Nash equilibrium then the latencies of all paths
from si to ti (that have positive flow), Li(f), are equal.
k
Lemma 2: If f is feasible flow at Nash equilibrium then C ( f )   Li( f )ri
i 1
The definition correspond to pure strategy since every agent is
negligible fraction from the traffic.
Optimal flow
We should find the minimum of  ce( fe)
eE
Subject to (NLP) :
fp  ri

i  {1,...,k}
p
e  E
 fp  fe
i
p :e p
fp>=0
p  
Where ce(fe)=le (fe)fe
This is a non-linear program (NLP).
Local optimal flow
We expect a flow to be locally optimal if and only if moving flow from one
path to another increase the total flow.
In other words the gradient on any path from si-ti should be no greater
then any other path’s gradient from si-ti.
By applying Karush-Kuhn-Tucker Theorem we know that local optima
coincide global optima in convex function.
Let c' p( f )  e  p c' e( fe)
Lemma 3: A flow f is optimal for a convex program of the form (NLP) if
and only if for every i є {1, . . . , k} and P1,P2 є φ i with fP1 > 0, c’P1(f) =
c’P2(f).
We can see the similarity to Nash equilibrium. Optimal flow can be
regarded as an Nash equilibrium with respect to latency function c’.
Lemma 4: A network G with continuous, non-decreasing latency functions
admits a feasible flow at Nash equilibrium. Moreover, if f, f’ are flows at
Nash equilibrium, then C(f) = C’(f).
General latency function
For network G admitting an optimal flow f* and a flow at Nash equilibrium
f, we denote the ratio C(f)/C(f*) by ρ = ρ(G, r, l);
Braess’s paradox : ρ = 2/1.5 = 4/3.
In this new simple example: Nash-(0,1), optimal– (½, ½) ->
ρ=1/0.75=4/3.
If the function is not linear, X^k. optimal flow assign (k+1)^(-1/k) on the
lower link. The total latency is 1-k*(k+1)^[(k+1)/k], that tends to 0 if k-> ∞.
We will consider what happens if we increase the r. when r>=1, 1 unit of
flow will be routed in the lower link and r-1 in the upper.
We will show that the optimal flow’s latency of 2*r is not less then the
latency at Nash equilibrium with rate r.
1
X
General latency function
Theorem: 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*).
k
Proof: Suppose we have f, f*. The cost of the flow is C ( f )   Li( f )ri
i 1
We will define a close latency that can easily lower bound the cost:
ĺe(x) =
le(fe)
le(x)
if x<fe
if x>=fe
General latency function
We compare f* under ĺ to the original l (C(f*)).
For any edge e, ĺe(x) - le(x) is zero for x >= fe and bounded above by le(fe) for
x < fe, so x[ĺe(x) - le(x)] <= le(fe)fe. :
 l ( f *) f * C ( f *)   f * (l ( f *)  l ( f *))   l ( f ) fe  C ( f )
e
e
e
e
e
e
e
e
eE
e
e
e
eE
On the other hand, if f0 denotes the zero flow in G, then by construction ĺP(f0)
>=Li(f) for any path p. and therefore ĺP(f*)>=Li(f) for each path P.
The cost of f* with respect to ĺ can be bounded below:
l
p
p
( f *) fp *    Li ( f ) fp *   Li ( f )ri  2C ( f )
Which leads to:
i
pi
i
C ( f *)   l p ( f *) fp *  C ( f )  2C ( f )  C ( f )  C ( f )
p
That can be generalized: if f is Nash eq’ at (G,r,l) and f* at (g,(1+δ),l) then
C(f)<=C(f*)/ δ.
Linear latency:
Linear latency: le(fe) = aefe+be for ae,be>=0.
The total latency is Σe aefe^2+befe.
Since ae>=0 then (NLP) is convex. And le*(fe) is 2aefe+be.
Lemma 5: Let (G, r, l) be an instance with edge latency functions le=aex +
be for each e є E. Then:
(a) a flow f is at Nash equilibrium in G if and only if for each i and
with fP > 0,
 aefp  be   aefp  be
e p
P,Pi є φ i
e p '
(b) a flow f* is (globally) optimal in G if and only if for each i and P,Pi є φ i
with fP* > 0
 2aefp* be   2aefp* be
e p
e p '
Conclusion: Let G be a network in which each edge latency function e is of
the form le(fe) = aex. Then for any rate vector r, a flow feasible for (G, r,l) is
optimal if and only if it is at Nash equilibrium.
Linear latency:
Lemma 6: Suppose (G, r, l) has linear latency functions and f is a flow
at Nash equilibrium. Then,
(a) the flow f/2 is optimal for (G, r/2, l)
(b) the marginal cost of increasing the flow on a path P with respect to
f/2 equals the latency of P with respect to f.
Proof (b): If edge e has latency function le(x) = aex + be then e has
marginal cost function le*(x) = 2aex + be. Thus, le*(fe/2) = le (fe) for
each edge e and hence lp* (f/2) = lp(f) for each path P.
Linear latency:
Lemma 7: Suppose (G, r, l) is an instance with linear latency functions for
which f* is an optimal flow. Let Li* (f*) be the minimum marginal cost of
increasing flow on an si-ti path with respect to f*. Then for any δ > 0, a
feasible flow for the problem instance (G, (1+δ)r, l) has cost at least
Proof: fix δ > 0, suppose f is feasible for (G,(1+δ)r,l). fe may be smaller or
larger then fe*. x le(x) = aex^2+bex implies that:
le (fe)fe >= le (fe*)fe* + (fe - fe*) le* (fe*).
(fe - fe*)le*(fe*) is a bound to the cost of changing the flow value (if fe>fe* it
underestimate the increasing, and if fe<fe* it overestimate the decreasing)
k
C(f)   le(fe)fe   le(fe*)fe *   (fe - fe*)le * (fe*)  C(f*)    lp * (f*)(f p - fp*).
eE
eE
i 1 pi
eE
Since Li* (f*) is minimal (unless fp*=0), we obtain:
k
k
C(f)  C(f*)   Li * (f*)  (fp - fp*) C(f*)    Li * (f*)ri.
i 1
pi
i 1
Linear latency:
Theorem: If (G, r, l) has linear latency functions, then ρ(G, r, l) = 4/3.
Proof:
f-Nash equilibrium flow. Li(f) is latency on si-ti so
f/2 is optimal solution to (G, r/2,l), and Li*(f/2) = Li(f) (lemma 6).
k
1 k
1
C(f*)  C(f/2)   Li * (f/2) ri/2  C(f/2)   Li * (f) ri  C(f/2)  C(f).
2 i 1
2
i 1
Now we will lower bound f/2:
1
1
1
1
2
2
C(f/2)   ae fe  befe   ae fe  befe  C(f)
2
4 e
4
e 4
Extensions
We have some Drawback in practice:
agents can often only evaluate path latency
approximately, rather than exactly.
We typically expect to encounter a finite number of
agents, each controlling a strictly positive amount of
flow.
Extensions(1)
We can’t expect agents to evaluate latency with arbitrary precision.
We estimate that agents can distinguish between latencies that differ in
more than 1+ε, we change definition:
Definition: A flow f in G is ε-approximate Nash equilibrium if for all iє{1, . .
. , k}, P 1 , P 2 є P i , and δ є[0, fP1 ], we have lP1(f) <= (1+ε) lP2(ƒ), where
ƒp is:
If P=P1 fp- δ
If P=P2 fp+ δ
Else
fp
Lemma 8: A flow f is at ε-approximate Nash equilibrium if and only if for
every i є {1, . . . , k} and P1,P2єP i with fP1 > 0, lP1(f) <= (1+ε) lP2 (f).
Conclusion: if f is at ε-approximate Nash equilibrium for (G,r,l) and f* is
feasible for (G,2r,l) the C(f)<=(1+ε)C(f*)
Extensions(2)
In practice we don’t have infinite number of agents,but finitely many
agents, each of whom controls a strictly positive amount of flow. we
allow an agent to split flow along any number of paths.
The changes are:
k agents. We assume that agent i intends to send ri units of flow
from source si to destination ti.
We call the instance (G,r,l) finite splittable.
A flow f now consists of k functions, with one function f(i) :φ i ->R
For a flow f, we denote by Ci(f).
A flow f is at Nash equilibrium if and only if for each i, f(i) minimizes
Ci(f) given f(j) for j != i.
If f is at Nash equilibrium for the finite splittable instance (G, r, l), and
f* is feasible for the finite splittable instance (G, 2r, l), then
C(f)<=C(f*).
Extensions(3) – unsplittable flow
A flow f (now consisting only of k paths) is at Nash equilibrium if and
only if for each i, agent i routes its flow on a path minimizing P (f),
given the paths chosen by the other k - 1 agents.
Example: 2 agents,
optimal: 1-(s,v,t), 2-(s,w,t) total cost less then 4, (it also Nash)
Nash: 1-(s,v,w,t) 2- (s,t). Cost defends on ε, unlimited.
Extensions(3) – unsplittable flow
A flow f (now consisting only of k paths) is at Nash equilibrium if and
only if for each i, agent i routes its flow on a path minimizing P (f),
given the paths chosen by the other k - 1 agents.
Example: 2 agents,
optimal: 1-(s,v,t), 2-(s,w,t) total cost less then 4, (it also Nash)
Nash: 1-(s,v,w,t) 2- (s,t). Cost defends on ε, unlimited.
Extensions(3) – unsplittable flow
This example was very bad for routing, because routing a strictly
positive amount of additional flow on an edge may increase the
latency of that edge by an arbitrarily large amount.
If the largest possible change in edge latency resulting from a single
agent rerouting its flow is not too large, we can conclude:
Theorem: Suppose f is at Nash equilibrium in the finite unsplittable
instance (G, r, l), and for some α < 2, we have le(x+ri) <= α le(x) for
all agents i є {1, . . . , k}, edges e є E, and x є [0,sum(rj : j!=i) ].
Then for any flow f* feasible for (G, 2r, l), C(f) <= α C(f*).
Download