220 likes | 235 Views
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.
E N D
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 no-cooperative game and the routes form Nash-Equilibrium. • Most of the time each user/agent controls negligible fraction of the traffic.
Brass’s Paradox: v x 1 s • 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 t 1 x w v x 1 0 s t 1 x w
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 • Each edge e has latency function le(); • The latency of path p with flow s is : • le is non-negative, continuous and non-decreasing. • The cost C(f) of flow f is: • The Cost ca also be written as
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. • Lemma 2: If f is feasible flow at Nash equilibrium then • The definition correspond to pure strategy since every agent is negligible fraction from the traffic.
Optimal flow • We should find the minimum of • Subject to (NLP) : • fp>=0 • 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 • 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*). • Proof: Suppose we have f, f*. The cost of the flow is • We will define a close latency that can easily lower bound the cost: • ĺe(x) = • le(fe) if x<fe • le(x) 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 >= feand bounded above by le(fe) for x < fe, so x[ĺe(x) - le(x)] <= le(fe)fe. : • 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: • Which leads to: • 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 Σeaefe^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 P,Piє φ i with fP > 0, • (b) a flow f* is (globally) optimal in G if and only if for each i and P,Piє φ i with fP* > 0 • 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) • Since Li* (f*) is minimal (unless fp*=0), we obtain:
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). • Now we will lower bound f/2:
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*).