Heuristic for finding reliable and robust paths in dynamic networks C. Goessen ∗ Z. Habbas ∗∗ D. Khadraoui ∗ ∗
CRP Henri Tudor, 29, Avenue John F.Kennedy, L-1855 Luxembourg-Kirchberg ∗∗ LITA, Universit´e Paul-Verlaine, Metz, LITA - EA 3097, Ile du Saulcy 57045 METZ CEDEX 1 Abstract: In this paper we propose an new heuristic criterion to determine the most critical arc of a robust path in a semi dynamic graph. A robust path is defined as a collection of deviation paths covering the critical arcs. This heuristic rely on arcs fault probabilities to determine which arc of the robust path is the most critical. We experimentaly compare this heuristic with others criterions. Keywords: graph algorithms, fault tolerance, combinatorial problems 1. INTRODUCTION Route guidance has attracted the attention of many researchers these last years. Most research efforts were made to deal with route planning involving a single transport mode and without any focus on robustness issues. As a consequence they only looked for optimal shortest paths based on a single objective like travel time or cost. The new trend in route guidance is to build more intelligent systems taking into account advanced information and communication technologies for intelligent transportation systems (e.g., GPS, mobile, Internet, etc). These systems using multiple transport modes should be multiobjective, meaning that the user may specify a set of constraints to be satisfied simultaneously, and must be robust or fault tolerant. This paper deals with the research of robust shortest paths in dynamic graphs. The structure of the paper is as follows. Section 2 summarizes the literature review in the domain. The problem’s hypothesis and definitions are presented in section 3. Section 4 presents the heuristic describing our definitions of the robustness problem, describes our algorithm and evaluate its theoretical complexity. Section 5 shows the first results we obtained on some academic graphs. Finally section 6 draws our conclusions for this work. 2. LITERATURE REVIEW The problem of robust shortest paths is not only related to transport networks but also concerns any dynamic or real time systems. Such systems are usually modelled with graphs. In the case of static graphs, this problem is known as the Shortest Path Problem (SPP), one of the classical problem of graph theory. Given a graph G = (V, E) where V is a set of n vertices and E is a set of m edges, we name shortest path from a vertex s to another vertex t the sequence of contiguous edges with the minimum overall cost.
In static graphs, this problem has been proved to be solvable in polynomial time. The basic and the most well known algorithm in O(n2 ) time is due to Dijskstra Dijkstra (1959). Dijkstra proposed an improved algorithm in O(m + nlog(n)) time using a Fibonacci heap and taking into account only non-negative edge weights. In Bertsekas (1993), the author proposes the Bellman and Ford algorithm which computes single-source shortest paths in a weighted digraph (where some of the edge weights may be negative). When the topology of graphs is not static, specific algorithms to find adaptive solutions in a dynamic way are required. A fully dynamic graph is a graph G = (V, E) where both insertion or deletion of vertices or edges and increasing or decreasing of edge weights are allowed. For the SPP regarding this kind of graphs, we do not know any algorithm whose running time is asymptotically better than recomputing the shortest path from scratch Demestriu and Italiano (2007). However, if only insertion and decreasing of edge weights are allowed, Roditty and Zwick have demonstrated in Roditty and Zwick (2004) that the single source SPP in dynamic graphs is as hard as the all-pairs shortest path in a static graph. This is also true for the symetric problem with only deletion and increasing of edge weights allowed. Those two problems are respectively called semi-dynamic incremental and semi-dynamic decremental. In Kalinowski and Wenk (2006), Kalinowski and Wenk targeted the case of graphs where edges can be deleted knowing that the graph’s topology will be updated in m units of time. The objective is to locate the most secure vertex we can reach before the next update, if such a vertex is relevant of course. The more a vertex leads to possible deviations, the greater its reliability. In B¨ using (2009), Puhl investigated recoverable robust shortest path problems. Recoverable robust shortest paths are paths that allow a limited recovery after alteration. Puhl also proved these problems to be NP-hard. This
result induced the need of heuristic or partial algorithms, the approach we choosed to explore. In this paper we propose a new heuristic for determining a robust shortest path in a semi-dynamic decremental graph. 3. COMMON DEFINITIONS Given a directed graph G = (V, A), with V the set of vertices and A the set of arcs, the weighting function w is defined by w : A → N+ and the function P representing the likehood of an arc to experience no perturbations is defined by P : A → [0, 1] . The aim is to find a robust path from a given source vertex, s to a given destination vertex t. Definition 1 Path. Given a directed graph G = (V, A), a path between two vertices v[1] and v[t] in V is a sequence h(v[1], v[2]), (v[2], v[3])...(v[t − 1], v[t])i where all (v[i], v[j]) ∈ A and v[i] denote the ith visited vertex. Definition 2 Shortest Path Problem. Determining the shortest path between two vertices v[1] and v[t] in V consists in finding a sequence h(v[1], v[2]), (v[2], v[3])...(v[t− ∑t 1], v[t])i that minimises i=2 w(v[i − 1], v[i]). Definition 3 Deviation Path. We call Deviation Path (DP) a path from a source s to a destination t that avoids a given arc. Definition 4 Robust Path. A Robust Path (RP) is one or several paths which resists to the deletion of edges. 4. CONTRIBUTION 4.1 Problem definition We present here our own definitions of the key concepts used in this paper. Definition 5 Extended DP. The definition of DP is extended to fit our needs. A DP is a path starting from the source of an arc to be avoided. In addition the deviation path avoids every arc whose deviation path goes through it. Definition 6 Robustness. A robust path is defined as a structure composed of a shortest path from s to t and a set of deviation paths to avoid the most critical arcs, those whose probability of perturbations is the highest or the most critical arcs. Definition 7 Critical arc. A critical arc is an arc which minimizes a given stability criterion. The stability criterion is discussed further in details in the next section. 4.2 Heuristic description We introduce a new heuristic for computing a robust shortest path between two given nodes s and t in a semi
dynamic graph. Let consider a multi criterion graph, where a weight w and an indice of stability P are associated to each arc. Our objective is to compute a shortest path from s to t which resists to the disappearance of the arcs that are the most likely to be deleted. The key element of our heuristic is the search for the most critical arc of a Robust Path. Given a RP (e.g. a shortest path and few deviation paths), the most critical arc might not be the one whose probability of deletion is the highest. Indeed in Fig. 1 the arc (1, 4) is on the deviation path of (1, 2) and minimise P within the set of uncovered arcs, but since this arc will only be usefull if (1, 2) is deleted, its probability to disconnect s from t in the Robust Path is 0.5 ∗ 0.5 = 0.25 which is lower than (s, 1) or (2, t) probabilities. s
p=0.6;w=2
p=0.5;w=1 1
p=0.5;w=1
p=0.6;w=1
2
p=0.6;w=2
t
4
Fig. 1. Example of Robust Path In order to measure the criticality of an arc we introduce a metric S verifying ∀a ∈ A, S(a) ∈ [0, 1]. The higher S(a), the less critical the arc a. For a given arc a, S(a) = 1 means either the probability that a could be deleted is null or the deletion of a does not affect the quality of the RP. Before defining the heuristic S we have to introduce the following notations and data structures: Env(a) is a data structure associated to each arc a of a Robust Path that stores all the deviations paths containing a. ∅ ∈ Env(a) means that a belongs to the shortest path from s to t in the graph G. Let D be the set of deviation paths indexed by Env. D[∅] denotes the shortest path in the graph and a ∈ D[A0 ] ⇔ A0 ∈ Env[a], where A0 ⊂ A. Fig. 1 also shows an example of RP and illustrates the concept of Env. In this example, the Shortest Path from s to t is h(s, 1), (1, 2), (2, t)i and h(1, 4), (4, 2)(2, t)i is the DP to be used if (1, 2) is deleted. Env((1, 2)) = {∅} and D[{(1, 2)}] = h(1, 4)(4, 2), (2, t)i Env((1, 4)) = {{(1, 2)}} Env((2, t)) = {∅, {(1, 2)}} The heuristic has to take into account not only the value of P (a) for a given arc a, but also the probability of a to be on the path from s to t. If a is not used, S takes into account the reliability of the Deviation Path. Based on the previous hypothesis, S is defined by) the equa(∏ 0 tion 1. In equation 1, a0 ∈Env(a) (1 − P (a )) describes the probability of a ( to affect the path from s to ) t, and ∏ 0 the complementary, 1 − a0 ∈Env(a) (1 − P (a )) , is the probability (of not using a in ) the path from s to t. P (a) + ∏ 0 (1 − P (a)) represents the probability a0 ∈D[a∪ε] S(a ) that a will not be deleted and in case of deletion, it rely on the stability of its deviation path to evaluate the stability of the resulting path, D[a ∪ ε], where ε ∈ Env(a).
∏
S(a) = PEnv (a) × (P (a) + (1 − P (a))(
0
S(a ))) + (1 − PEnv (a)) (1)
a0 ∈D[a∪ε]
∏ PEnv (a) = (
0
(1 − P (a )))
(2)
a0 ∈Env(a)
Cross-dependencies can occur along the successive iterations. Indeed, two arcs can be in each other DP. To avoid this, when searching a DP for an arc a, we merge all sets in Env(a) and avoid this whole set of arcs: that way the DP of a cannot contain any arc avoided using a. Since the maximum depth of our algorithm is bounded by a value k, Env contains at most k + 1 sets of arcs, and each set contains between 0 and k arcs. Therefore, D also contains no more than k simple paths, therefore paths of n − 1 arcs in the worst case. 4.3 Algorithm description Algorithm 1, named RDSP (for Robust and Dynamic Shortest Path), summarizes our proposition. First, it computes the Shortest Path from s to t using Dijkstra’s algorithm (line 7). This path is inserted in the RP structure (line 8). Then RDSP starts its main loop and looks for the most critical arc of the RP using the metric S (line 12). Once the most critical arc of the RP is found, it computes a deviation path that avoids it (line 7). This loop is repeated k times, where k is a given fixed parameter. At each step the algorithm looks for the most critical arc in the whole RP, the set of arcs that belongs to the Shortest Paths from s to t or any previously computed DPs. Algorithm 1 RDSP (G,s,t,k) u←s E0 ← ∅ Env ← ∅ Insert (Env, A0 ) D←∅ for i ∈ {1..k} path ← Deviation P ath(G, u, t, A0 ) Insert (D, path) for e ∈ path Insert (Env[e], A0 ) end for e ← Evaluate criticality(G, D, Env) E 0 ← Env[e] ∪ e Insert(Env, A0 ) u ←source(e) end for return D, Env 4.4 Complexity of RDSP Proposition 1. The complexity of RDSP is O(k 2 n2 ) time. Proof 1. The proof derives from the structure of the algorithm RDSP which is made up of the following procedures: • Deviation Path: this procedure is a variant of shortest path algorithm Dijkstra’s used after a preprocessing step that maskes a finite set of arcs. Therefore, the complexity of this step is the same as Dijkstra’s algorithm, O(m + nlog(n)) time.
• Evaluate criticality: it computes S for each arc belonging to the RP and takes the arc with the minimum value not already covered. The running time of S is in O(min(m, kn)k + kn) time. This complexity is explained as follows: the RP contains k simple paths, each one containing n − 1 arcs in the worst case scenario. Therefore, it contains in the worst case kn arcs. But depending on the density of the graph, this could be greater than m. In addition, with a simple graph the maximum number of arcs is n(n − 1). So the complexity of the algorithm that computes S, in the worst case, is O(kn2 + kn) time. The algorithm stops when the k th iteration is reached. Hence, the overall complexity of the RDSP algorithm is O(k 2 n2 ). 5. EXPERIMENTAL ANALYSIS In this section we present the results obtained with our approach. All our implementations are written in C++ programming language with the support of the Boost Graph Library Siek et al. (2001) for both graph modeling and randomness. During random generation of a graph, arc weights and perturbation probabilities were randomly distributed as well as vertices and arcs. To test robustness, we generated several graphs with the same number of vertices and same density of arcs. In order to show the performances of our heuristic we compared it to two other probability-based arc selection criterions: • naive stability: we choose the uncovered arc of the solution that minimizes P . • random: we pick up a random uncovered arc. We choosed to compare our heuristic with these selection criterions because we were unable to find in the literature any other compatible arc selection criterions to be compared with. On each graph the RDSP algorithm is run for each of the three heuristics (S, naive and random). A hundred of perturbation scenarios are then simulated. A perturbation scenario consists of deletions of arcs with respect to their deletion probability. We keep deleting arcs as long as the Robust Path is able to retrieve a path from s to t, that is to say while s and t are connected in the Robust Path. The robustness of our approach is evaluated using the following criterions: • The relation between the density of a graph and the maximum number of arcs which can be broken in a RP before s and t are disconnected. • The relation between the parameter k and the maximum number of arcs which can be broken in a RP. First of all, Fig. 2 shows the computation time of all three approaches. We observed longer running time for the random approach, which is due to the use of a complex pseudorandom number generator (Lagged Fibonacci Generator). Fig. 3 shows the obtained results with a hundred vertices graph as function of the graph density. Our heuristic is clearly more robust. RP with our heuristic allows more arcs deletions than the two others. Moreover, we observed
150
S naive random
0.4
S naive random arcs deleted
400
600
800
1000
50
0.0
200
100
o o o
0.2
time (s)
0.6
0.8
Although, the algorithm combined with our heuristic allows us to determine what we called Robust Path accepting a certain amount of perturbations. Its reliability is only probability based and there is no warranty that the path retrieved after a perturbation will be optimal.
number of vertices
0
Fig. 2. Average computation time for 50% dense graphs 10
20
30
40
50
60
70
80
k value
Fig. 4. Average arcs deletions before disconnection of the k parameter, 100 vertices graphs
S naive random
40
arcs deleted
60
Fig. 4. shows the results obtained when the robustness is observed with respect to the parameter k. Here as well, our approach is clearly more robust than the others. The highest the value of k, the more robust our approach is.
0
20
6. CONCLUSION
20
40
60
80
100
density
Fig. 3. Average arcs deletions before disconnection in function of arc density, 100 vertices graphs a higher gap between the results of our heuristic and those from the two other methods, when sparse graphs are considered. This can be explained theoretically by the length of the paths in sparse graphs. Indeed, our experimental graphs are randomly generated. We consider two parameters: the number of vertices and the number of arcs. Each possible arc among the n(n−1) pairs of distinct arcs have the same odds of being in the graph. Our random generator eventually follows the Erd¨os–R´enyi Fronczak et al. (2004); Karger et al. (1997); Erd¨os and R´enyi (1959) model, which provides theoretical results that explain the ones obtained with our heuristic. In the Erd¨os–R´enyi model the average path length between two vertices is known to be function of log(n) and inversely proportional to the edge density. As a result, the sparser the graph the longer the path. A long path means more possible arcs to cover and therefore offers more opportunities for our heuristic to choose a different arc than the two others. We can also tell from Fig. 3 that the naive weak arc selection produces solutions that are on average as good as the random approach.
In this paper we proposed a new heuristic for computing a robust shortest path between two given vertices s and t of a semi dynamic graph. Our algorithm RDSP for computing a robust and dynamic shortest path is in O(k 2 n2 ) time, where n is the number of vertices and k a given parameter. We have experimentally shown the robustness of our approach compared to random and naive approaches. Our algorithm is particularly efficient to recover from arcs deletions, especially when dealing with sparse graphs. In addition we observed an interesting behavior of our approach in the case of random generated sparse graphs. This result is appreciable when applied to transport networks which are generally sparse. It is a parametric method, where an increase of k improves the robustness of Robust Paths. As a next perspective to this work, we aim to apply our heuristic for solving transport network. More precisely, we already worked on the optimization of multimodal and multiobjective transport problem. But our previous results Galvez-Fernandez et al. (2009); Hedi et al. (2009) Our previous results give optimal solution for shortest path problem in static network. We have to take into account the vulnerability of the real time transport networks and its extensibility. REFERENCES Bertsekas, D.P. (1993). A simple and fast label correcting algorithm for shortest path. Networks, 23. B¨ using, C. (2009). The exact subgraph recoverable robust shortest path problem. In R.K. Ahuja, R.H. M¨ uhring,
and C.D. Zaroliagis (eds.), Robust and Online LargeScale Optimization, volume 5868 of Lecture Notes in Computer Science, 231–248. Springer. Demestriu, C. and Italiano, G. (2007). Algorithmic techniques for maintaining shortest routes in dynamic networks. Electronic Notes in Theoretical Computer Science, 171. Dijkstra, E.W. (1959). A note on two problems in connexion with graphs. Numerische Mathematik. Erd¨os, P. and R´enyi, A. (1959). On random graphs. Publicationes Mathematicae. Fronczak, A., Fronczak, P., and Holyst, J.A. (2004). Average path length in random networks. Physical review. Galvez-Fernandez, C., Khadraoui, D., Ayed, H., Habbas, Z., and Alba, E. (2009). Distributed Approach for Solving Time-Dependent Problems in Multimodal Transport Networks. Advances in Operations Research. Hedi, A., Habbas, Z., Galvez-Fernandez, C., and Khadraoui, D. (2009). Hybrid algorithm for solving a multimodal transport problems using a transfer graph model. In Proceedings of the Second international conference on Global Information Infrastructure Symposium, 385–390. IEEE Press. Kalinowski, N. and Wenk, C. (2006). Dynamic routing. Technical report, University of Texas. Karger, D.R., Motwani, R., and Ramkumar, G.D.S. (1997). On approximating the longest path in a graph. Algorithmica, 18(1), 82–98. Roditty, L. and Zwick, U. (2004). On dynamic shortest paths problems. URL citeseer.ist.psu.edu/roditty04dynamic.html. Siek, J.G., Lee, L.Q., and Lumsdaine, A. (2001). The Boost Graph Library: User Guide and Reference Manual. Addison-Wesley Professional.