?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) eE 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 eE e e e eE 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 pi 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*). eE eE i 1 pi eE 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 pi 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*).