Selfish Routing Mahdy Zolghadr1 1 [email protected] Abstract. In the management of large networks, it is not always possible to control the traffic in order to achieve the network best performance. There are some cases that network users will decide the route for their traffic through the network and this will bring on the problem of choosing the best route for them and in many cases we can assume their selfishness in finding the best route. In this paper we will review this problem in detail and for a simple case of networks we will analyze the effect of selfishness on performance and will show some techniques to cope with it. Keywords: Selfishness, Nash Equilibrium, Price of Anarchy. 1 Introduction Consider our city; what route will you take in order to go from one point of the city to another one with your car. There are some different routes to decide between them but almost all of us prefer the fastest one, this means we decide selfishly. So with this assumption you probably think that other people will do the same as you. So you consider their actions and select your route. Is this good at all? Will this method exploit the best performance of the road network? Is possible to get to destination faster if we all decide with each other for our routes? 1.1 Two motivating example Now we will use two examples to show clearer the situation and effect of selfish routing. The first one is known as Pigou’s Example and the second one is a paradox discovered by Braess. 1.1.1 Pigou’s Example Assume two points (we call them s and t) that are connected with two non-interfering highways and a fixed number of drivers who wish to traverse from s to t nearly at the same time. The first highway is a short but narrow one that its delay increases linearly when the number of cars in it increases (if the we assume n as the total number of the drivers and x as the number of drivers using this route then the delay for these drivers will be hours. We call ) the latency function.) The second highway is a long but wide one that its delay is one hour no matter how many cars take it. The scenario can be seen in figure 1. Figure 1 Pigou's Example Assume all drivers aim to minimize the time taken to drive from s to t.. It is nearly obvious that all of the drivers will take take the short road, because if even one driver chose the long road, the latency of the short road will be less than 1 hour ( ( ) and this will make that driver to take the short road to decrease his latency. As one can see, because of selfishness of the drivers all of them will take the short road and will tolerate the delay of 1 hour to travel between the points. Now suppose that instead of the drivers, drivers we chose the route for them in order to find out if there exists a solution that can improve the overall delay for the drivers drivers. Let’s try and force half the drivers to take the long road and the other half to take the short road. In this way half will tolerate 1 hour delay but the other half will tolerate hour delay. This yields the average hour delay for the drivers. This example shows that selfish behavior by independent non-cooperative cooperative agents need not produce a socially desirable outcome. 1.1.2 Braess’s Paradox This example is show that improving network potentials may not lead to a better selfish solution taken by the agents in the network. Again, let’s consider the points s and t and a fixed number of driver who wants to travel from s to t. There are two routes rout that connect these two points each comprising of one long wide road and one narrow short road as shown in figure 2(a). Because of symmetry we can expect that in a selfishly-defined selfishly outcome, each of the two routes will carry half of the traffic and thus the average delay for the drivers will be 90 minutes. Now suppose in order to improve the result we build a new road from point v to point w which takes a negligible amount of time to travel means (as as can be seen in figure 2(b)). With this new road, the result of the selfishly selfish chosen routes will change. Every driver may think hink that by traveling the route rout instead of his current rrent route, he can commute from s to t in one hour. So the result of this selfish decision will force all the drivers to take the mentioned route and an the delay for all of them will become 2 hours. This paradox shows that the structure of the network can strongly affect the result of selfish routing. In another point of view a subset of a network can produce a better result with selfish agents. Figure 2 Braess's Paradox Up to now we have reviewed the situation and roughly stated the problems arise when dealing with selfish users. In section 2 we will try to compare the outcome of selfishly routed and optimal routed traffic and in section 3 we will introduce some techniques that can be used to improve the result of selfish agents in a network. 2 How bad is selfish routing As can be seen from examples above, the routing outcome created by selfish agents is a Nash equilibrium, because all agents are satisfied with their routes and any change will increase their rout latency and because of the problem state, it’s obviously a pure Nash equilibrium. It can be proved that there exists such equilibrium for these kinds of networks and it is unique so in the following of this section we will try to compare this equilibrium with the best possible outcome and to compute its price of anarchy. This problem has been studied for many kinds of networks but due to space limitation, we will only discuss linear networks (where is a linear function of load and is of the form , similar to previous examples). 2.1 The Model In this part we will present some of the basic definitions that we will use in the rest of the paper. In this problem, we consider a directed graph with vertex set , edge set and source-destination vertex pair ! " " . We define #$ as the set of routes between $ $ and # %" #$ . A flow is function &' # () which will show the amount of traffic in each route in the network. Now we can compute the total amount of flow on a link which is & *+,-+ &+ In each network we assign a traffic rate .$ to each source-destination $ $ pair that expresses the amount of flow that should travel between that source and destination. This parameter is related to & so this will result in *+-/0 &+ .$ . Finally we define a congestion-related latency for each edge in the network and we assume that is nonnegative, continuous and nondecreasing. After this we can define the latency of a path with respect to flow function & as the sum of latency of edges along that path, denoted by / & *-/ & . We denote an instance of network with triple . In the end we define cost of flow & as the total latency incurred by &, denoted by 1& *+-/ + &&+ . By summing over the edge in we may also write 1& 2 & & -3 With respect to an instance . , a flow that minimizes 1& is called optimal. 2.2 Flows at Nash equilibrium After defining the necessary concepts about the network, we can continue by studying the properties of selfishly routed traffic. We are dealing with Nash Equilibrium, which means with the current situation, routes taken by the flows are their best option and if an agent changes its route it will suffer from greater latency. Now consider the routes with source-destination $ $ (45 - #$ . Because of equilibrium, none of the agents sharing the same source and destination will try to change their routes. So if one changes its flow from route # to #6 (where +7 & 8 +9 &) then +9 & : +7 &;. If we assume that the number of agents in the network is too large and the size of one agent’s traffic is negligible compared to the whole, then +7 &; +7 & : < and thus +9 & = +7 &. With this result we can assume that the latency for every flows traveling between source-destination $ $ are equal and from now on we will call that >$ &. Using this, we can express 1& with " 1& 2 >$ &.$ $? 2.3 Characterization of optimal flow Min Subject to: (NLP) 2 1 & 2 & & -3 -3 2 &+ .$ +-/0 & 2 +-/0'-+ &+ B 4@ - ! &+ 4A - 45 - # In order to find the optimal solution for this problem, we have to solve the above non-linear program but because of characteristics of the problem we can express the optimal solution a little simpler. The local and the global minima of a convex function coincide, so a local optimal flow would be globally optimal whenever the objective function of NLP is convex. For this case where 1 & & & , the objective function will be convex if be convex (as it is for the linear functions). To find this local optimal solution we can use a new latency function C D F G H G I instead of the old one. It can be proved that a flow DE C & at Nash equilibrium for instance . C is optimal for instance . . This function C describing the marginal cost of increasing flow on edge A has one term capturing the per-unit latency incurred by the additional flow and a second term G I accounting for the increase in congestion experienced by the flow already using the edge. Using this function we can find the optimal flow cost for the examples we mentioned above. In Pigou’s example (figure 1), for the upper edge C and for the lower one C . With this new network, a flow at Nash equilibrium will have half of the traffic in the upper edge and half of it in the lower edge which is the same as the optimal flow we mentioned at section 1.1.1. Values of C for Braess’s paradox are shown in figure 3. In this new network a flow at equilibrium will route half the traffic through and half through J . The total cost for this flow will be 1& C . 6 Figure 3 Marginal cost function for Braess's Paradox 2.4 The price of anarchy Up to now, we found out that a flow & for instance . has the following property. & is at Nash equilibrium if and only if for every path 5 5; - #$ (means sharing the same source and destination) 1+ & 1+I &. Knowing that 1+ & *-+ & & *-+ & , we have 2 & 2 & -+ (1) -+I The same result is true for an optimal flow & C for an instance . because it is at Nash equilibrium for instance . C where C G I . Thus for every path 5 5; - #$ we would have 2 &C 2 &C -+ (2) -+I If for the entire network & , from the property we point out above it can be easily shown that a flow at Nash equilibrium would also be optimal. For a flow at equilibrium we have *-+ & *-+I & for every path with the same source and destination. This also means that *-+ & *-+I & , thus & is optimal. So in these kinds of networks price of anarchy KL KL C is equal to . For the general linear latency function we will do as follows. A flow & at equilibrium for instance . will be optimal for instance . and the marginal cost of increasing the flow on a path 5 with respect to & is equal to the latency of 5 with respect to &. For the first part it can be seen that if flow & satisfies (1) then & will satisfies (2). For the second part recall that and C . Thus C & & for each edge A and hence +C & + &. After obtaining &, it would be easy to find an optimal flow for the main instance of the network. we just have to use the flow & (which is feasible for rate .) and then augment it to become feasible for rate .. But before that, we have to compute the cost of increasing an amount flow to an existing flow. Suppose an instance . and its optimal flow & C . Let >C$ & C be the minimum marginal cost of increasing flow on an $ $ path with respect to & C . Then for any M N , a feasible flow for the instance M. has cost at least equal to " 1& C M 2 >C$ & C .$ (3) $? A simple intuitive proof (but not entirely correct) for this statement would be the following. Since the marginal cost of increasing flow on any $ $ path with respect to & C is at least >C$ & C , routing M.$ additional units of flow from $ to $ should cost at least M>C$ & C .$ . Summing over all #$ can yield the result. With this, we can finally express 1& C in terms of 1&. As we said earlier in order to obtain & C we can start with & and then perform and augmentation. Using (3) and taking M will lead us to " " $? $? O 1& C B 1& 2 >C$ & C 60 1& 2 >C$ & C .$ 1& 1& Finally we have to find a lower bound for cost of &: 1& 2 &6 & B 2 &6 & 1& J and thus 1& C B P 1&. With this the price of anarchy of selfish routing in the linear networks would be KL KL C P 8 . The existence of the upper bound can be seen in the J examples we mentions in the beginning. 3 How to cope with selfish users Considering the inefficiency imposed by selfish users to a network, some methods have been proposed in order to improve the overall performance of the network. In this section we will briefly introduce these methods and omit further details. A way to improve the performance of a network is to search for a subset of its edges and build a new network with them that can provide a better result with selfishness. An example for this method is what happened in Braess’s Paradox (figure 2(b)). In that example we saw that a network built using the subset of four edges can be better than the original network with five edges. It is proved that finding the best such sub-network of a network in polynomial time is impossible and only polynomial P approximation algorithm can be found. For the linear networks a -approximation J algorithm can be the trivial algorithm that selects the original network and will J obviously find a network with at least of the best possible sub-network. P Another way to improve the performance is to use some centrally controlled traffic in order to find a better equilibrium. In this method which is known as Stackelberg routing, a player is chosen as a leader that have to route the centrally controlled traffic with the goal of minimizing total latency using a strategy that he chose in the beginning and will keep fixed after that. Other agents in the network will route their traffic selfishly and independently in order to reach an equilibrium in the network with respect to the centrally controlled traffic. This equilibrium is called Stackelberg equilibrium. 4 Conclusion In this survey, we introduced selfish routing and the inefficiencies imposed to networks by selfish users with some examples. After classifying the properties of this behavior, we compared the outcome of selfishly routed traffic with optimal routed traffic and computed its price of anarchy. In the end we introduced some methods to cope with selfishness and to decrease the effect of inefficiency incurred by selfish agents. References 1. 2. 3. 4. T. Roughgarden and ´E. Tardos. How bad is selfish routing? Journal of the ACM, 49(2):236–259, 2002. T. Roughgarden. Selfish Routing, A Dissertation Presented to the Faculty of the Graduate School of Cornell University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy, 2002. T. Roughgarden. Designing networks for selfish users is hard. In Proceedings of the 42nd Annual Symposium on Foundations of Computer Science, pages 472–481, 2001. T. Roughgarden. Stackelberg scheduling strategies. In Proceedings of the 33rd Annual ACM Symposium on the Theory of Computing, pages 104–113, 2001.
© Copyright 2026 Paperzz