A Linear Time Shortest Paths Algorithm for the Internet AS Graph

Yuval Shavitt and Yaron Singer

1

Abstract The Internet is comprised of tens of thousands of autonomously managed networks termed Autonomous Systems (ASes), and their interconnections through bilateral commercial agreements is known as the Internet AS graph. Routing in the Internet AS graph conforms to business restrictions between ASes which are generally modeled by using simple labels on their connecting edges. While data can flow in both directions of an edge, legal paths in the AS graph are characterized by several rules which reflect the inter-AS relationship, referred to as valley-free routing. As a result, the AS graph follows unique rules of transitivity and computation of shortest paths differs than that in directed and undirected graph models. Due the large size of the Internet AS graph and the extensive use of shortest paths algorithms in Internet measurements and analysis, efficient implementation of a shortest paths algorithm is necessary. In this paper we present a simple linear time shortest paths algorithm for the unweighted Internet AS graph, which can be easily implemented. To the best of our knowledge this is the first linear time algorithm suggested to solve this problem.

1

Introduction

The Internet today consists of tens of thousands of networks, each with its own administrative management, called autonomous systems (ASes). Each such AS uses an interior routing protocol (such as OSPF or RIP) inside its managed network, and communicates with neighboring ASes using an exterior routing protocol, called BGP. The graph which models the inter-connections between ASes in the Internet is referred to as the Internet AS graph. In order to model the commercial agreements by which the Internet ASes are bound, the inter-AS links are labeled as either customer-provider, provider-customer, peer-to-peer, or siblings. A customer pays its provider for transit services and the provider transits all packets to and from its customers. The customer, however, will not transit packets for its provider. Specifically, a customer will not transit packets 1 To

whom correspondence should be made to: [email protected]

1

between two of its providers, or between its provider and its peers. Peers are two ASes that agree to transit information between their respective customers. Siblings are two ASes that are managed by the same entity, for example, due to a merger of two companies. Sibling relations are relatively rare and two ASes in such relationship can be referred to as a single AS, thus sibling relationships will be ignored in this work. In pioneering work, Lixin Gao [6] has deduced that a legal AS path may either be an up hill path, followed by a down hill path, or an up hill path, followed by a peering link, followed by a down hill path. An up hill path is a sequential set, possibly empty, of customer-provider links, and a down hill path is a sequential set, possible empty, of provider-customer links. Therefore a legal route between ASes can be described as a valley free path. A peering link can be traversed only once in each such path, and if it exists in the path it marks the turning point for a down hill path. In order to study inter-AS routing in a manner which considers commercial agreements between ASes, shortest paths algorithms must be modified to satisfy the valley-free restrictions. For an unweighted AS graph, Kamath et al. [8] introduced the Modified Dijkstra (MD) algorithm which is currently widely used [9, 7, 1, 5]. For an AS graph G = (V, E), with V being its set of vertices and E its set of edges, the computational complexity of the MD algorithm is O(|V |2 ) as shown in [7]. In their work Kamath et al. also suggest heuristic shortest paths algorithms with linear running time complexity. Recent work by Dolev et al.[5] introduced a linear reachability algorithm which conforms to the valley-free routing restrictions in the AS graph. In this paper we suggest the Autonomous Systems’ Breadth First Search (ASBFS) algorithm for the discovery of single source valley-free shortest paths in the unweighted Internet AS graph. The main advantages of the asbfs algorithm over the MD algorithm are its simplicity and its linear running-time complexity. The extensive use of minimum-hop distances in Internet measurements and analysis [7, 10, 3] necessitates an efficient implementation of a shortest paths algorithm for the Internet AS graph which is comprised of over 25,000 vertices and over 120,000 directed edges [2]. To the best of our knowledge this is the first linear algorithm suggested to solve the problem of shortest paths in the Internet AS graph.

2

The Autonomous Systems’ Breadth First Search

We begin by discussing our representation of the AS graph and the simple data structures which are used to implement the asbfs algorithm, and continue by discussing the adoption technique. After describing the algorithm, we prove its correctness and analyze its running time.

2

Modeling the AS Graph We distinguish between three sets of edges: Eup , Edown , and Epeer , which represent up, down and peer links respectively. Each link in the AS graph is modeled by two edges: customer-provider links are modeled by an up edge from the customer to the provider, and symmetrically by a down edge from the provider to its customer. Similarly, peer edges between ASes are modeled in both directions. The asbfs algorithm does not, however, require up edges to have corresponding down edges, nor does it require such symmetry of peer edges. We refer to the graph as G = (V, E) where E = Eup ∪ Edown ∪ Epeer . With this distinction, we assume each vertex holds three distinct up, down and peer adjacency lists, denoted Adjup , Adjdown , and Adjpeer , respectively.

Distinguishing Between Shades of Grey Recall the bfs algorithm for discovery of shortest paths from a single source vertex in an unweighted graph [4]. Vertices are colored in white, grey, and black to indicate their discovery status and a queue is used as the data structure which prioritizes their exploration. Since the model of the directed AS graph is a more intricate one than of a directed graph, higher level of granularity is required of the data structures used by the asbfs algorithm. To indicate a vertex’s state in the algorithmic process, rather than the white, grey and black colors, we use six states as we require different shades of grey. We use new, finished, adopted, up, down and peer assignments to indicate the state of a vertex. A vertex is in state new if it has not yet been explored and in state finished if it has been explored and none of the members in any of its adjacency lists are in state new. If not in state finished, a vertex is in an adopted state if it is adopted by another vertex (see below), and otherwise in up , down or peer states if it has been discovered through up , down or peer edges respectively. In our description of the algorithm, the shortest distance from a source vertex to all vertices v ∈ V discovered thus far is denoted d[v]. In our implementation we use a Hierarchical Queue (HQ) - a simple data structure analogous to the queue used in the bfs algorithm. For a source vertex s ∈ V , the HQ is an array of queues which prioritizes exploration of vertices according to their distance from s. When enqueued, a vertex v is placed in the queue at the d[v] hierarchy in HQ. For k ∈ {1, 2, . . . , |V | − 1}, vertices in the queue at the k hierarchy in HQ are dequeued before vertices in the queue at the k + i hierarchy, for i ∈ {1, 2, . . . , |V | − (k + 1)}. Upon dequeue, the HQ ensures that vertices in down and peer states are dequeued before vertices of up and adopted states. Also, there is a unique instance where vertices in a finished state are in the queue which is described in greater detail in our discussion of the adoption process. In such instances, the HQ dequeues the vertex and continues until a vertex in a down, peer, up, or adopted state is found. The HQ is in fact a simple array of |V | − 1 queues which holds an indicator to which queue has last been accessed. Upon dequeue, the queue last accessed

3

is dequeued. If the queue is empty, the array is monotonically scanned until a non empty queue is found. This queue is then dequeued and the “last queue accessed” indicator is updated.

Adoption Technique One of the key elements in our algorithm is the adoption technique, motivated by instances such as the one described in the following example. Consider applying the bfs algorithm from a source vertex v1 in the AS graph portrayed in figure 1. The vertex v3 is reached through a down edge from v1 , and since v4 is connected to v3 through an up edge it cannot be reached through this path. Exploration of v2 ’s up neighbors reveals that v3 has already been explored. Note however that v3 ’s up neighbor, v4 , can be reached only through v3 which has already been discovered. Therefore, in order to determine correct distance from v1 to v4 , the algorithm must enforce a mechanism which allows exploration up neighbors (v4 ) of vertices which have already been discovered through down or peer edges (v3 ). For this, we allow adoption of vertices. For an AS graph G = (V, E), suppose a vertex v ∈ V has been discovered through a down or a peer edge. For w ∈ Adjup [v] which is in state new , we say that u ∈ V adopts w if upon exploration of u’s Adjup list, w is inserted into the HQ, assigned a state adopted and d[w] is set to be d[u] + 2. To clarify the significance of using the adopted state we use the following example. In exploration of shortest paths from v1 in the AS graph, as shown in figure 2, after dequeuing v2 , the vertex v4 is adopted by v2 , since v3 is reached through a down edge by v1 . Then v4 is inserted to the HQ assigned with state adopted with d[v4 ] = 3. Note however that there is a legal path between v1 and v4 of length 2 through v5 . By having v4 in an adopted state, we are allowing v5 to explore v4 and correct its distance. We later show that a vertex can be adopted only once in the execution of the algorithm. Instances such as the one presented in the above example are rare to almost impossible in the AS graph since they indicate that a customer is a provider of its own provider. Nevertheless, such rare instance do occur (e.g., due to configuration mistakes), and create the interesting cases which further distinguish the AS graph from directed graphs. In the algorithm suggested here, we account even for such hard cases without compromising efficiency. From the examples above, it follows that shortest paths in the AS graph do not have the classical optimal substructure which allows their concatenation from shorter shortest paths. To capture this we define monotonicity of a path. For an AS graph G = (V, E) let p be a shortest path from in G composed of the sequence {v1 , v2 , . . . , vk } where vi ∈ V ∀i ∈ {1, 2, . . . , k}. Consider p to be a monotonic path if δ(v1 , v1 ) < δ(v1 , v2 ) < . . . < δ(v1 , vk ). While in directed and undirected graphs all shortest paths are monotonic paths, this is not the case in the AS graph as shown in the example in figure 1, and it is this property which distinguishes shortest paths in the AS graph. We now discuss some of the adoption properties, which are key in the proof of both correctness and running time of the algorithm. In all further discussion 4

Figure 1: Example of an AS path. Direction of an edge implies it is an up edge, and for each up edge a down edge in the opposite direction exists (not portrayed).

Figure 2: An instance in which exploration of shortest paths from v1 causes v4 to be adopted by v2 and thus temporarily d[v4 ] = 3, though a shorter path from v1 to v4 exists through v5 .

for G = (V, E) and u, v ∈ V , we denote δ(u, v) to be shortest distance in edges between u and v in the graph. Lemma 1 For an AS graph G = (V, E), let w ∈ V be adopted by some u ∈ V . Then, δ(s, u) + 1 ≤ δ(s, w) ≤ δ(s, u) + 2 and w is adopted only once. Proof: Clearly, as w is adopted by u, it follows that there is a vertex v, for which (u, v) ∈ Eup , and (v, w) ∈ Eup and thus δ(s, w) ≤ δ(s, u) + 2. Assume for purpose of contradiction that δ(s, w) < δ(s, u) + 1. Thus there must be some x ∈ V connected to w, such that (x, w) ∈ E, the path s x w is a legal path, and δ(s, x) < δ(s, u). In this case, x appears before u in the HQ and would thus explore w, making it impossible for u to adopt w. Note that when a vertex is adopted, its state is assigned adopted and therefore can never be adopted again. 

Description of the algorithm Given an AS graph G = (V, E) and a source vertex s ∈ V , the ASBFS algorithm assigns shortest path distances from s to all other vertices in the graph. The initialization process assigns d[v] = ∞ ∀v ∈ V \ {s} and s’s adjacency lists are scanned after setting d[s] = 0. The adjacency lists of each vertex are scanned in the following order: down - explores all vertices in Adjdown [v] which have not yet been discovered; peer - explores Adjpeer [v] only if v has not been discovered by a peer edge; up - explores Adjup [v] only if v has been reached by an up path (if v has been adopted, then it has also been reached through an up path). When a vertex v ∈ V for which Adjup [v] 6= ∅ is discovered through a down path, its state is marked down, and it is enqueued. If there is a path to vertices in Adjup [v] through some vertex u ∈ V for which v ∈ Adjup [u], then when u is 5

dequeued v is examined. Since state[v] is down, u adopts all of v’s up neighbors that are in state new. That is, all w ∈ Adjup [v] are inserted into the HQ at level d[u]+2, their state is marked adopted, v’s state is assigned finished and no other vertex examines it. In our discussion above we have discussed the option that there still may be a shorter path leading to w. To guarantee correctness in such instances, if another vertex x ∈ V can reach w while w is in an adopted state, w is then assigned the distance d[x] + 1, assigned up state and enqueued. We later show that in such instances (x, w) is necessarily an up edge. In such an instance w resides twice in the HQ - once in hierarchy d[x] + 1 and once in d[u] + 2. The vertex w will then be dequeued when the queue in the d[x] + 1 hierarchy is explored. Since it was reached by an up edge, we are guaranteed that w will be in state finished before another vertex is dequeued from the HQ. Specifically, this guarantees that when w’s instance in the d[u] + 2 hierarchy queue is considered to be dequeued, it is in state finished , and therefore ignored. According to lemma 1 and lemma 2, adoptions and corrections occur at most once for each vertex. A formal description of the algorithm is given below.

Proof of Correctness In order to prove the correctness of the algorithm, we first show that only legal valley-free paths are explored. Theorem 1 Let G = (V, E) be a directed AS graph and s ∈ V . Then all paths explored by asbfs (G,s) are legal. Proof: Illegal AS path must have one of the following sub-paths: nonempty down hill path followed by a non-empty up hill path; a peering link followed by a non-empty up hill path; a peering link followed by a peering link. Assume for purpose of contradiction that an illegal path is explored by the asbfs algorithm. If the path is of the first or second type, then there is some u ∈ V which has been discovered through an up edge by v ∈ V which has been reached through either a down or a peer edge. As the up adjacency list is explored only if v is in an up state, and after a vertex in an up state has been enqueued its state does not change, we assume that v’s state is up as it enters the HQ, and this contradicts the assumption that v is reached through a down or a peer edge. If the path is of the third type then there is some u ∈ V reached by some v ∈ V which has been reached through a peer edge. Similar to the instances above, this leads to v’s state being peer, though in such an instance its peer adjacency list is not explored and we reach a contradiction.  We now discuss another property of the adoption technique which will later be used in proving correctness and computational complexity. Lemma 2 For an AS graph G = (V, E) and a source vertex s ∈ V , let w ∈ V be adopted by some u ∈ V . If there is some x ∈ V which is connected to w and δ(s, w) = δ(s, x) + 1 < δ(s, u) + 2, assuming d[x] = δ(s, x), then d[w] is assigned to be δ(s, x) + 1 and such a correction occurs only once. Furthermore, in such instances (x, w) is necessarily reached by an up edge. 6

Algorithm 1 The ASBFS algorithm for discovery of shortest paths in the AS graph asbfs (G, s) G ← initialize(G) while HQ 6= ∅ do v ← dequeue(HQ) for all u ∈ Adjdown [v] do scan(u, v, DOWN) if state[v] 6= PEER then for all u ∈ Adjpeer [v] do scan(u, v, PEER) if state[v] = UP or ADOPTED then for all u ∈ Adjup [v] do if state[u] 6= DOWN,PEER then scan (u, v, UP) else then for all w ∈ Adjup [u] do adopt (w, v) state[u] ← FINISHED state[v] ← FINISHED scan (u, v, STATE) if state[u] = NEW or ADOPTED then state[u] ← STATE d[u] ← min(d[u],d[v]+ 1) enqueue(HQ, u) adopt (w, v) if state[w] = NEW then state[w] ← ADOPTED d[w] ← d[v] + 2 enqueue(HQ, w)

7

Proof: Let x ∈ V be a vertex for which δ(s, w) = δ(s, x) + 1. By lemma 1 we know that δ(s, x) = δ(s, u), thus under the assumption that the algorithm is correct until when reaching u, it follows that x is in the same level as u in the HQ. If x was to be explored before u (had x been reached by a down or peer edge or if it appears before w in the queue), then it would have been impossible for u to adopt w, as w’s state would have not been new. Thus, (x, w) ∈ Eup and when x reaches w it has been adopted, and by the description of the algorithm it follows that x assigns w up state and d[w] = d[x] + 1. Thus, d[w] is corrected, and since w is no longer in an adopted state, it is corrected only once.  We now finally prove the correctness of the asbfs algorithm in the following theorem. Theorem 2 Let G = (V, E) be a directed AS graph and s ∈ V . Then, by the end of executing asbfs (G,s), we have d[v] = δ(s, v) ∀v ∈ V . Proof: In the simple case in which a shortest path from s to some u ∈ V is a monotonic path, the algorithm is analogous to the bfs algorithm, and we infer correctness. Otherwise, consider a vertex y to be interesting if it is reached through a down or peer edge, has a non-empty Adjup set, and there is some vertex u for which y ∈ Adjup [u]. Let v be such a vertex which is minimal in the sense that δ(s, v) = min{δ(s, y)|y is an interesting vertex}, and let u be minimal in the sense that δ(s, u) = min{δ(s, y)|v ∈ Adjup [y]} . As we have proven that only legal paths are explored, it is enough to show that d[w] = δ(s, w) ∀w ∈ Adjup [v]. Since v has been discovered through a down or peer edge, its state is marked down or peer respectively. In accordance to the conditions of the algorithm, w is not explored when v is dequeued from the HQ, and v remains in a state down. Also, as down paths are explored prior to up paths, we are guaranteed that as u explores its up adjacency list, v is in a down or in a peer state. As w is not yet explored, u adopts w and thus assigns d[w] = δ(s, u) + 2, w’s state is assigned adopted and is enqueued to the HQ at level δ(s, u) + 2. By lemma 1 we conclude that δ(s, u) + 1 ≤ δ(s, w) ≤ δ(s, u) + 2. In case δ(s, w) = δ(s, u) + 2 = d[w], as we proved w is adopted only once throughout the entire run of the algorithm, we are done. Otherwise, δ(s, w) = δ(s, u) + 1, and therefore there is some x ∈ V for which δ(s, x) = δ(s, u). Since w is in new state when adopted by u, x is dequeued after u in HQ. Therefore, when x is dequeued from HQ, it explores w to discover it is in an adopted state, and assigns d[w] to be d[x] + 1. By the minimality of v, we assume that x is reached through a monotonic path, and thus d[x] = δ(s, x) and this concludes the proof. 

Analysis Unless adopted, each vertex enters the HQ once. We have shown that in instances of adopted vertices, adoption occurs only once, as well as corrections, and thus each adopted vertex can enter the HQ only twice, though in such instances it is also explored once. Thus, each vertex runs in the main loop at

8

most once and each edge is explored once. Therefore the running time of the algorithm is O(|V | + |E|).

3

Conclusions

We have presented the asbfs algorithm for the discovery of shortest paths from a given source vertex in an unweighted AS graph which has linear running time complexity. Implementing asbfs is a rather straight forward task which requires use of simple data structures. In analysis of the Internet AS graph, implementation of asbfs can potentially reduce running time of various applications which use shortest paths computations. Furthermore, with its close analogy to the bfs algorithm in graphs, asbfs can be used to test connectivity as well as be used to find augmenting paths in maximum flow problems in the AS graph. Last, we believe that the adoption technique may merit other implementations in similar graph models in which path transitivity is not immediate.

References [1] Harpal S. Bassali, Krishnanand M. Kamath, Rajendraprasad B. Hosamani, and Lixin Gao. Hierarchy-aware algorithms for CDN proxy placement in the internet. Computer Communications, 26(3):251–263, 2003. [2] Rami Cohen and Danny Raz. The internet dark matter - on the missing links in the AS connectivity map. In IEEE Infocom 2006, Barcelona, Spain, April 2006. [3] Reuven Cohen, Keren Erez, Daniel ben Avraham, and Shlomo Havlin. Breakdown of the internet under intentional attack. Physical Review Letters, 86:3682–3685, 2001. [4] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms. 2001. [5] Danny Dolev, Sugih Jamin, Osnat Mokryn, and Yuval Shavitt. Internet resiliency to attacks and failures under BGP policy routing. Computer Networks, 50(16):3183–3196, November 2006. [6] Lixin Gao. On inferring automonous system relationships in the internet. IEEE/ACM Transactions on Networking, 9(6):733–745, December 2001. [7] Lixin Gao and Feng Wang. The extent of AS path inflation by routing policies. In Global Internet 2002, Taipei, Taiwan, November 2002. [8] Krishnanand M. Kamath, Harpal S. Bassali, Rajendraprasad B. Hosamani, and Lixin Gao. Policy-aware algorithms for proxy placement in the internet. In ITCOM 2001, Denver, Colorado, USA, August 2001.

9

[9] Z. Morley Mao, Lili Qiu, Jia Wang, and Yin Zhang. On AS-level path inference. In SIGMETRICS’05, pages 339–349, Banff, Alberta, Canada, 2005. [10] Yuval Shavitt and Tomer Tankel. On internet embedding in hyperbolic spaces for overlay construction and distance estimation. IEEE/ACM Transactions on Networking, 2007. to appear.

10

A Linear Time Shortest Paths Algorithm for the Internet ...

of shortest paths algorithms in Internet measurements and analysis, effi- ... A customer pays its provider for transit services and the provider transits all packets to ...

170KB Sizes 0 Downloads 185 Views

Recommend Documents

A Linear Time Algorithm for Computing Longest Paths ...
Mar 21, 2012 - [eurocon2009]central placement storage servers tree-like CDNs/. [eurocon2009]Andreica Tapus-StorageServers CDN TreeLike.pdf.

A Linear Time Algorithm for the Minimum-weight ... - Springer Link
In this paper, we study the minimum-weight feedback vertex set problem in ...... ISAAC'95 Algorthms and Computations, Lecture Notes in Computer Science,.

A Linear Time Algorithm for the Minimum-weight ... - Springer Link
For each Bi, 1 ≤ i ≤ l, applying Algorithm II, we can compute a collection of candidate sets. FBi u. = {FBi .... W. H. Freeman and Company, New York, 1979.

Shortest-Paths Preserving Metro Maps
Mathematics and Computer Science, TU Eindhoven, The Netherlands. [email protected],[email protected],. [email protected] ...

all pairs shortest paths algorithms - Semantic Scholar
Given a communication network or a road network one of the most natural ... ranging from routing in communication networks to robot motion planning, .... [3] Ming-Yang Kao, Encyclopedia of Algorithms, SpringerLink (Online service).

all pairs shortest paths algorithms - Semantic Scholar
In this paper we deal with one of the most fundamental problems of Graph Theory, the All Pairs Shortest. Path (APSP) problem. We study three algorithms namely - The Floyd- Warshall algorithm, APSP via Matrix Multiplication and the. Johnson's algorith

Vickrey Prices and Shortest Paths: What is an edge worth?
Computer Science Department. University of California. Santa Barbara .... protocol is known to be truthful, in that a rational agent's best bidding strategy is to bid ...

an almost linear time algorithm for a general haplotype ...
consists of v , m, v0, f, v, where m and f are the parent nodes of v, and v0 is the anchor child node in this ..... We run Merlin and DSS on a Linux machine with two ...

A projection algorithm for strictly monotone linear ...
A projection algorithm for strictly monotone linear complementarity problems. ∗. Erik Zawadzki. Department of Computer Science. Carnegie Mellon University. Pittsburgh, PA 15213 [email protected]. Geoffrey J. Gordon. Machine Learning Department. Carneg

03_4 - Shortest Path Problems - Dial's Algorithm - An Example.pdf ...
There was a problem previewing this document. Retrying... Download ... 03_4 - Shortest Path Problems - Dial's Algorithm - An Example.pdf. 03_4 - Shortest Path ...

03_3 - Shortest Path Problems - Dijkstra's Algorithm - An Example ...
03_3 - Shortest Path Problems - Dijkstra's Algorithm - An Example.pdf. 03_3 - Shortest Path Problems - Dijkstra's Algorithm - An Example.pdf. Open. Extract.

A multigrid-in-time algorithm for solving evolution ...
our multigrid-in-time algorithm simply calls an existing time-stepping routine. However, to ...... Algebraic Multigrid Cycle on HPC Platforms, in 25th ACM International Conference on Supercomputing,. Tucson, AZ ... App. Math. and Comp. Sci., 5.

A Linear-Time Transition System for Crossing Interval Trees
May 31, 2015 - tices such that a) all crossed arcs within the interval are incident to at ..... that covered all non-projective trees via a new swap transition that ...

A Linear-Time Transition System for Crossing Interval Trees
[PDF]A Linear-Time Transition System for Crossing Interval Treeswww.aclweb.org/anthology/N15-1068CachedSimilarby E Pitler - ‎Cited by 8 - ‎

A Simple Linear Ranking Algorithm Using Query ... - Research at Google
we define an additional free variable (intercept, or benchmark) for each ... We call this parameter .... It is immediate to apply the ideas here within each category. ... international conference on Machine learning, pages 129–136, New York, NY, ..

WAP for shortest path problems.pdf
There was a problem previewing this document. Retrying... Download. Connect more ... WAP for shortest path problems.pdf. WAP for shortest path problems.pdf.

An exact exponential time algorithm for counting ...
be naturally reduced to listing bicliques in a bipartite graph by associating items ... We refer the reader to [2] for a list of other applications. ..... calls of CountBVC.

A Polynomial-Time Dynamic Programming Algorithm ... - ACL Anthology
Then it must be the case that c(Hj) ≥ c(Hj). Oth- erwise, we could simply replace Hj by Hj in H∗, thereby deriving a new 1-n path with a lower cost, implying that H∗ is not optimal. This observation underlies the dynamic program- ming approach.

An accurate time advancement algorithm for particle ...
this velocity consists of a deterministic component and a random term which is part of the turbulence model [5]: in the pres- ent paper, we ... [2] define mean particle mass density, qрx; tЮ, as the expectation of the total mass of particles in an

Polynomial Time Algorithm for Learning Globally ...
Gippsland School of Information Technology, Monash University, Australia .... parents, penalized by a term which quantifies the degree of statistical significance.

Polynomial-time Optimal Distributed Algorithm for ...
Reassignment of nodes in a wireless LAN amongst access points using cell breathing ... monitor quantities, surveillance etc.) [8]. Authors in [9] have proposed ...

Polynomial-time Optimal Distributed Algorithm for ...
a reallocation problem is independent of the network size. Remark 2: The ... We now begin the proof of convergence of the proposed algorithm. Proof: Let gi. =.

Saving Time in a Space-Efficient Simulation Algorithm
Saving Time in a Space-Efficient Simulation Algorithm. J. Markovski. Abstract—We present an efficient algorithm for computing the simulation preorder and ...