Game_Final_86202874.pdf

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.