Fast and Compact Oracles for Approximate Distances in Planar Graphs

Size: px
Start display at page:

Download "Fast and Compact Oracles for Approximate Distances in Planar Graphs"

Transcription

1 Fast and Compact Oracles for Approximate Distances in Planar Graphs Laurent Flindt Muller 1 and Martin Zachariasen 2 1 Transvision, Vermundsgade 0D, DK-20 Copenhagen, Denmark laurent.flindt.muller@gmail.com 2 Department of Computer Science, University of Copenhagen, Universitetsparken 1, DK-20 Copenhagen, Denmark martinz@diku.dk Abstract. We present an experimental evaluation of an approximate distance oracle recently suggested by Thorup [1] for undirected planar graphs. The oracle uses the existence of graph separators for planar graphs, discovered by Lipton and Tarjan [2], in order to divide the graph into smaller subgraphs. For a planar graph with n nodes, the algorithmic variant considered uses O(n(log n) /ɛ) preprocessing time and O(n(log n) 2 /ɛ) space to answer factor (1 + ɛ) distance queries in O((log n) 2 /ɛ) time. By performing experiments on randomly generated planar graphs and on planar graphs derived from real world road networks, we investigate some key characteristics of the oracle, such as preprocessing time, query time, precision, and characteristics related to the underlying data structure, including space consumption. For graphs with one million nodes, the average query time is less than 20μs. 1 Introduction Computation of shortest path distances in road networks has applications in traffic simulation and logistics optimization. Often a huge number of distances are needed, rather than actual shortest paths. A distance oracle is a data structure with an accompanying algorithm that can answer distance queries quickly (preferably in constant time) by preprocessing the graph and storing additional information []. For real world applications the preprocessing time and the space consumption both have to be near-linear in the size of the graph. There has recently been a significant development in the practical construction of distance oracles that can answer (exact) distance queries quickly in arbitrary directed graphs. One approach is to identify so-called landmarks for which the distances to all other nodes are precomputed; these computed distances can then be used to speed up Dijkstra s algorithm using goal directed search []. Another technique uses the notion of reach [], which is a measure of how far away the endpoints of any shortest path through a given node can be. Reach-based pruning is, like the use of landmarks, a highly effective method to speed-up Dijkstra s algorithm [6]. Sanders and Schultes [,] presented a technique that exploits the hierarchy inherent in road networks. In the preprocessing phase the method constructs L. Arge and E. Welzl (Eds.): ESA 200, LNCS 69, pp. 6 66, 200. c Springer-Verlag Berlin Heidelberg 200

2 6 L.F. Muller and M. Zachariasen a multilevel network in which exact shortest path queries subsequently can be answered quickly. Combined with the notion of transit nodes [9,], distance queries in road networks with several million nodes can typically be answered in less than μs. Real world road networks are almost planar (with exceptions such as bridges and no-left-turns). Furthermore, the edge weights are essentially symmetric, so assuming that road networks are undirected planar graphs does not lead to particularly large errors at least for long range distance queries. For undirected planar graphs, Fakcharoenphol and Rao [11] gave a distance oracle with O(n log n) preprocessing time that answers (exact) distance queries in O( n log 2 n) time, and it appears to be hard to improve this query time bound significantly using label-based methods [12]. If we settle for an approximate distance oracle that can answer distance queries within a factor (1 + ɛ) of the true distance (for any ɛ>0), much better results exist for undirected planar graphs. Klein [1] and Thorup [1] have independently suggested O(n(log n)/ɛ)-space approximate distance oracles answering factor (1 + ɛ) distance queries in O(1/ɛ) time. Both methods use the existence of graph separators for planar graphs, proved by Lipton and Tarjan [2], in order to divide the graph into smaller subgraphs. Then, for each node in the graph, the distances to a subset of the separator nodes are computed in a preprocessing step; these distances make it possible to answer approximate distance queries very quickly for any pair of nodes. The oracle given by Klein [1] has apparently been implemented as part of a commercial product, but to the best of our knowledge no publicly available experimental results are known. The purpose of our paper is to perform an experimental study of a (simple) variant of the Thorup-oracle. In a sense we attempt to close part of the gap between theory and practice in distance oracles: The worst-case bounds for the highly effective practical algorithms [9,] virtually give no insight into the practical behavior of the algorithms, and on the other hand, no experimental results are available for the theoretically superior algorithms of Thorup and Klein. For a planar graph with n nodes, the algorithmic variant considered in our paper uses O(n(log n) /ɛ) preprocessing time and O(n(log n) 2 /ɛ) space to answer factor (1 + ɛ) distance queries in O((log n) 2 /ɛ) time. We have performed experiments on randomly generated planar graphs and on planar graphs derived from real world road networks. Key characteristics of the oracle, such as preprocessing time, query time, precision, and characteristics related to the underlying data structure, including space consumption, are studied. For graphs with one million nodes, the average query time is less than 20μs. Although our query times are similar to the query times of the best practical algorithms, this comes at the cost of non-exact distances, and higher preprocessing and space consumption. The paper is organized as follows. In Section 2 we present the approximate distance oracle of Thorup and discuss some important algorithmic and implementation details. In Section we discuss our experimental setup, including the selection of test instances. Our experimental results are presented and discussed in Section, and concluding remarks are given in Section.

3 Fast and Compact Oracles for Approximate Distances in Planar Graphs 69 2 Approximate Distance Oracle We now give an overview of the theoretical foundations of the oracle. We start by introducing the notion of a graph separator and describe how such a separator can be used to answer distance queries. Then we go on to describe ɛ-covers and finally describe the oracle itself. Basic graph terminology is used [2,1]; recall that a graph is called planar if its edges and nodes can be embedded in the plane such that no two edges cross or overlap. 2.1 Graph Separators A set of nodes C in a graph G is called a graph separator if the removal of C from G results in G being split into components, the size of each being at most some constant fraction of the size of G (where the size refers to the number of nodes in the graph). To be of interest C must be small. Lipton and Tarjan [2] proved that it is possible to construct a graph separator for any planar graph in linear time. The construction essentially consists of finding a (rooted) shortest path tree of the graph and then selecting two root paths which separate the graph into components of size no greater than 2/ the original size. Thorup [1] showed that this construction can be extended to selecting three root paths, where each component has size no greater than 1/2 the original size. We call such root paths separator paths. Assume that we have two nodes u and v lying in two different components, resulting from the removal of a separator path Q. The observation is that any (shortest) path between u and v must cross a node in Q. Assume that we at some previous stage had computed distances from u and v to each node in Q. Now finding the distance between u and v is a simple task of running through the nodes of Q finding the minimum combined distance (see figure 1). This is in essence the idea behind the oracle. For each node u, we construct a set S(u) consisting of separator paths, such that given any other node v the intersection S(u) S(v) consists of separator paths which, if removed from G, separate u from v. Thus a shortest path from u to v must cross a node in one of these paths. For each node u the distances to nodes in the separator paths in S(u) are precomputed. Computing the distance between u and v then consists of finding the intersection S(u) S(v), then finding the minimum distance across each separator path in this intersection and finally returning the overall minimum distance. 2.2 ɛ-covers The most expensive part of the algorithm sketched above is precomputing distances from each node to nodes in the separator paths. In order to reduce this number of nodes, Thorup introduces the notion of ɛ-covers. Let G =(V,E) be a planar graph and let Q be a shortest path in G. A connection from v V to Q is a pair in {v} V (Q). The length l(v, a) of a connection (v, a) is equal to the distance δ(v, a) between v and a in G. We

4 660 L.F. Muller and M. Zachariasen u Q 1 2 v Fig. 1. Shows how a separator path can be used to compute the distance between two nodes u and v. The large nodes are the separator nodes and the topmost number is the distance from u, while the bottommost number is the distance from v. The min distance between u and v in the example is 1. u Q 9 v v δ(v,x) Q l (v,a) x a δ(a,x) Fig. 2. Connections within the ɛ-covers C(Q, u) and C(Q, v) (left). Illustration of a connection (v, a) that ɛ-covers another connection (v, x) (right). denote a set of connections from v to Q by C(Q, v) (see figure 2, left). When computing distances across Q, only these connections are allowed to be used. Let ɛ>0. We say that a set C(Q, v) of connections from v to Qɛ-covers Q, if there for any node x V (Q) is a connection (v, a) C(Q, v) such that (see figure 2, right): l(v, a)+δ(a, x) ɛ l(v, a)+δ(v, x). Thorup showed that for any node v and shortest path Q, thereexistsan ɛ-cover of size O( 1 ɛ ) [1]. It is further shown that given two nodes u and v, and some separator path Q, the (minimum) distance between u and v across Q can be approximated within a factor (1 + ɛ) by using only the connections from C(Q, u) andc(q, v). 2. Oracle The preprocessing stage of the oracle proceeds as follows: Given a connected, undirected planar graph G, find up to three separator paths, Q 1, Q 2, Q,separating G into components of at most half the size. For each node v in G,construct the ɛ-cover C(Q i,v), i =1, 2,. Proceed recursively on each of the components resulting from removing Q 1, Q 2, Q from the graph. When the preprocessing terminates, we have for each node constructed a set of ɛ-covers, which can be used to answer distance queries.foreachconnection(u, a) intheseɛ-covers we store the distance from u to a and the distance from the first node in the separator path to a.

5 Fast and Compact Oracles for Approximate Distances in Planar Graphs 661 Consider two nodes u and v. At some point of the recursion these nodes get separated. When this happens, all ɛ-covers for u and v constructed so far have been coverings of the same set of separator paths: If C(Q i1,u),...,c(q ik,u)and C(Q j1,v),...,c(q jl,v)aretheɛ-covers constructed, then k = l and Q im = Q jm for m =1,...,k.Theseareexactlytheɛ-covers which have to be checked in order to determine the distance between u and v. We call this number of ɛ-covers the separation index of u and v. When the preprocessing is done, query-answering proceeds as follows: Given two nodes u and v, find the separation index k.fori =1,...,kfind the minimum distance across Q i using the pair C(Q i,u),c(q i,v). Return the overall minimum distance found. There are a number of implementation details which affect the overall timecomplexity. When building ɛ-covers, any algorithm for finding shortest paths in (planar) graphs can be used. One should bear in mind that this algorithm will be called often and the hidden constants should be small. We employ Dijkstra s algorithm [1], since this is a simple and fast algorithm. On planar graphs it has a time-complexity of O(n log n), where n is the number of nodes, and this results in a time-complexity of O(n(log n) /ɛ) for the preprocessing stage. Another detail is how to find the separation index when answering distance queries; in order to find this index, each recursion is given a strictly increasing number. Each node maintains a list of recursion numbers representing the recursions in which it has participated. With each recursion number is stored the total number of separator paths generated in that recursion, plus all previous recursions in which the node has participated. In order to find the separation index of two nodes u and v one needs to find the last common recursion number. This marks the point where u and v got separated. We call this number the separation number (when we have found the separation number, we also have the separation index). Given two lists of recursion numbers we use binary search to find the separation number. Since there are at most O(log n) separation numbers for each node, this search has time-complexity O(log log n). A final detail is the size of the ɛ-covers. The construction to produce ɛ-covers of constant size is a two step process. First covers of size O(log V (Q) /ɛ) are constructed, where Q is a separator path. Then the size of these covers is reduced to O(1/ɛ). This last step is not performed in our implementation. The reason is, as we shall see later, that the covers produced by the first step alone are already small (around 11 connections in each cover for ɛ =0.01 and one million nodes). Moreover, in order to achieve ɛ-covers of size O(1/ɛ), one needs to run the oracle with ɛ = ɛ/2, which increases the running time and the size of the ɛ-covers produced in the first step (and hence also the second step). We expect that for the sizes of graphs considered, the constant in front of 1/ɛ does not differ enough from the value log V (Q) to justify the extra running time. This results in a O((log n) 2 /ɛ) time-complexity for answering queries (O(log n) ɛ-covers must be checked and each ɛ-cover contains O(log n/ɛ) connections).

6 662 L.F. Muller and M. Zachariasen Experimental Setup To examine the performance of the oracle, we have looked at two classes of graphs: (i) Graphs derived from real world road networks of the United States (made publicly available for the 9th Dimacs Implementation Challenge [1]). The graphs considered are planar and connected, and have the sizes: 21, 20 (BAY ),, 666 (COL) and 1,00,6 (FLA). (We were unable to perform experiments on larger graphs due to memory constraints.) In the following, we call this class of graphs real-world instances. (ii) Randomly generated connected planar graphs generated using the random planar graph() function in LEDA [16]. Edge lengths corresponds to Euclidean distances, with a random variance of up to %. We expect this choice of edge lengths more closely reflects real world road graphs, as compared to random or exact Euclidean lengths. In the following, we call this class of graphs near-euclidean instances. When presenting query-times and precision, results have been divided into four groups. Each group corresponds to queries where the distance falls within a certain percentage range of the graph diameter, corresponding to 0%-2%, 2%-0%, 0%-% and %-0% of the diameter. The size of each group of queries is capped at 00 and filled up as follows: First the oracle is run with ɛ =0.0. Then random queries are generated and answered using this oracle. If the distance returned falls within the range of an unfilled group, then the exact distance is found using Dijkstra s algorithm. The process stops when all groups are filled or when queries have been made. The tests have been run on a machine running Gentoo Base System version The compiler used is GCC..6 with optimization flag -O. The machine has 2 GB of main memory and two Intel Pentium CPU GHz processors. Results and Discussion In the following we present our results for the two classes of graphs. For each instance the preprocessing stage has been run a number of times (around ) and the average taken. For each run ɛ has been set to 0., 0.0 and We also examine the effect of setting ɛ = 0, but due to memory constraints results are in this case only presented for the near-euclidean graphs. In order to keep memory-consumption low, ɛ-covers are regularly flushed to disk and in order to keep disc-usage low, the outputted files are compressed. The measured time includes these overheads. In order to examine the query stage, the range groups described above are used. Again, the queries have been run repeatedly and the average taken..1 Real-World Graphs Figure (left) shows the total CPU-time spent in the preprocessing stage when ɛ is varied. For the FLA instance, the preprocessing time varies from around 000s for ɛ =0. to around 9000s for ɛ =0.01. The bulk of this time (around 90%) is spent constructing ɛ-covers.

7 Fast and Compact Oracles for Approximate Distances in Planar Graphs 66 Total times Distribution of the returned distances for epsilon Time (secs) Non-exact results (%) epsilon = 0.01 epsilon = 0.0 epsilon = Percentage by which exact distance is exceeded 0%-2% 2%-0% 0%-% %-0% Fig.. Total time spent in the preprocessing stage (left) and distribution of distances returned for the FLA instance (ɛ = 0.), for the four ranges (right) for real-world graphs. (Note that there are only three data points for each ɛ-value, and that the points are connected only in order to improve readability). Figure shows the query-times for the first and the last range group (the results for the remaining two look very similar). The value of ɛ has a considerable effect. Query-times are below μs for ɛ =0., and increase to 20μs for ɛ =0.01. Generally finding shorter distances takes longer time. One explanation for this is that nodes that lie far apart get separated earlier, and thus fewer ɛ-covers need to be checked in order to answer a query. Average querytimes (0%-2% of diameter) Average querytimes (%-0% of diameter) Time (microseconds) 12 Time (microseconds) epsilon = 0.01 epsilon = 0.0 epsilon = 0. epsilon = 0.01 epsilon = 0.0 epsilon = 0. Fig.. Average query-times for distances lying in the interval 0%-2% (left) and %- 0% (right) of the diameter (real-world) We now investigate the precision of the oracle, by examining the results for the FLA instance with ɛ =0.. Figure (right) shows the results for the four range groups. The numbers indicate how many percent of the 00 distances were approximated within 1%, 2%, % etc, of the true distance. Only non-exact distance are displayed. As can be seen, the further the nodes lie from each other, the more accurate the distances returned are. Those distances that are not exact tend to be very close to the exact distance. The average error is less than 1%, so even with ɛ =0. one obtains very good approximations.

8 66 L.F. Muller and M. Zachariasen We now look at some of the characteristics of the oracle. Figure (left) shows the average number of connections in each ɛ-cover when ɛ is varied. These ɛ-covers are on average surprisingly small. For the FLA instance with ɛ =0.01, there are 11 connections per ɛ-cover and for ɛ =0., there are. We remind the reader that the bound on the size of these covers is O(log V (Q)/ɛ), where Q is the separator path. As mentioned earlier, since the ɛ-covers are already so small, we do not expect that using an algorithm with a better bound on the size will have any dramatic effect on the query-time. Number of connections per epsilon cover Number of epsilon covers per vertex Connections Epsilon covers epsilon = 0.01 epsilon = 0.0 epsilon = Fig.. Average number of ɛ-covers for each node (left) and average number of connections in each ɛ-cover (right) for real-world graphs Figure (right) shows the average number of ɛ-covers for each node (this number is independent of ɛ). This number lies between 1 and 21, so on average around 200 connections have to be examined in order to answer a query for ɛ =0.01. The total number of connections constructed during preprocessing gives an indication of the memory consumption of the oracle. In the current implementation, one connection consists of two floats, which is bytes in total. The total number of connections for the FLA instance with ɛ =0.01 is around 20 million, which results in a memory consumption of about 2GB. The number of connections is strongly affected by ɛ. Whenɛ is increased to 0. for the same instance, the number of connections drops to just under 0 million..2 Near-Euclidean Graphs In this section we look at the class of near-euclidean graphs. There are some notable differences compared to the previous section. Figure 6 (left) shows the CPU-time spent in the preprocessing stage when ɛ is varied. The preprocessing time is within the same order of magnitude as for the real-world instances, but varying ɛ has less effect. In order to examine the query-times, we proceed as for the real world graphs. In figure the results for the first and the last range group are shown (the remaining two look very similar) On this class of graphs query-times are lower

9 Fast and Compact Oracles for Approximate Distances in Planar Graphs 66 Total times Distribution of the returned distances for epsilon Time (secs) Non-exact results (%) epsilon = 0.00 epsilon = 0.01 epsilon = 0.0 epsilon = Percentage by which exact distance is exceeded 0%-2% 2%-0% 0%-% %-0% Fig. 6. Total time spent in the preprocessing stage (left) and distribution of distances returned for the instance with 1 million nodes (ɛ =0.), for the four ranges (right) (near-euclidean graphs) Average querytimes (0%-2% of diameter) Average querytimes (%-0% of diameter) Time (microseconds) Time (microseconds) epsilon = 0.00 epsilon = 0.01 epsilon = 0.0 epsilon = 0. epsilon = 0.00 epsilon = 0.01 epsilon = 0.0 epsilon = 0. Fig.. The average query-times for distances lying in the interval 0%-2% (left) and %-0% (right) of the diameter (near-euclidean graphs) and range from around 2μs for ɛ =0. to around μs for ɛ =0.01 and increase to about μs for ɛ = 0. The reason for the lower query-times will become clear later. On these instances, there is no noticeable difference w.r.t. range groups. As for the real-world instances, we examine the precision of the oracle. Figure 6 (right) shows the results for the largest instance and for ɛ =0.. The distances are even closer to the exact distance than for the real-world instances. In fact all distances in the three last groups lies within 0.% of the exact distance. Figure (left) shows the average number of connections in each ɛ-cover when ɛ is varied. These are only about half the size of the covers produced for the real-world instances. Varying ɛ only has a minor effect on the size, which for the largest instance ranges from for ɛ =0. to 6. forɛ =0. Figure (right) shows the average number of ɛ-covers for each node. This number (between 1 and 2) is about the same as for the previous class. Together with the smaller ɛ-covers, this explains why we on this class see faster querytimes than before. We believe that the ɛ-covers are smaller because the edge lengths are closer to fulfilling the triangle-inequality, and therefore it is easier for a connection to cover another.

10 666 L.F. Muller and M. Zachariasen Number of connections per epsilon cover Number of epsilon covers per vertex Connections. Epsilon covers epsilon = 0.00 epsilon = 0.01 epsilon = 0.0 epsilon = Fig.. Average number of connections in each ɛ-cover (left). Average number of ɛ- covers for each node for near-euclidean graphs (right). The total number of connections constructed is about half as large as for the real-world instances. This is as expected, since the ɛ-covers are about half the size. The number is still affected by ɛ and for the largest instance it ranges from around 60 million connections for ɛ = 0. to around 1 million connections for ɛ =0.01 and million for ɛ =0.. Comparison to an Alternative Oracle We make a brief comparison to an alternative algorithmic variation of the Thorup-oracle. In the variant examined this far, the number of separator paths to check when answering a query is O(log n). Thorup [1] describes another variant, where this number is O(1). In this variant, alternating between two types of recursions, one can ensure that at most 12 separator paths needs to checked when answering a query, i.e., S(u) S(v) 12 for all u, v. There are, however, certain drawbacks. The alternation between two types of recursions results in a doubling of the total number of connections having to be made, thus one should also expect a doubling of the space consumption and an increase of the total running time. Considering that memory consumption already is a major issue, this doubling is unfortunate. Despite this we have made an implementation of this variant, hoping that it would result in a significant improvement of the query-time. Regrettably, this is not the case, as the query-times observed are within the same order of magnitude as the previous variant, while the preprocessing-time and memory consumption grew as expected. For the FLA instance (ɛ =0.0) the preprocessing time grew from 000s to 16000s, while the total number of connections grew from million to 2 million. A closer inspection of the number of ɛ-covers for each node gives a good insight as to the reason for not seeing any improvement in query-times. Looking at figure (left) the average number of ɛ-covers for each node lies around 21 for the FLA instance. Thus on average 21 ɛ-covers need to be checked. It is this

11 Fast and Compact Oracles for Approximate Distances in Planar Graphs 66 number which is reduced to at most 12. The constructed ɛ-covers are of the same sizes, so one should not expect any significant gain for the query-times. For the real-world instances considered (and near-euclidean) the number of ɛ-covers for each node rises rather slowly with graph size (from around 1 for BAY to around 21 for FLA). So the reduction to size 12 would only begin to be noticeable for very large graphs. For the graph sizes considered, we do not find that the rather limited improvement in query-time warrants the extra running time and space consumption. Conclusion In this paper we presented an experimental evaluation of an oracle recently suggested by Thorup [1]. For the examined class of real-world road network graphs, the observed query-times were less than 20μs (ɛ = 0.01). The preprocessing time associated with the largest instance (one million nodes) was around 9000s and the memory needed to hold the generated connections was about 2GB for ɛ =0.01. For the examined class of randomly generated near-euclidean graphs, even faster query-times below μs were observed (still with ɛ =0.01). For the largest instance (with one million nodes) the preprocessing time was faster, around 000s, and memory consumption was about 1GB for ɛ =0.01. For this class of graphs, we also examined the effect of setting ɛ = 0 (exact distance). This did not worsen the preprocessing time (around 000s), query-time (below 6.μs) and memory consumption (around 1.2GB for all connections) as much as could have been feared, which is interesting. When examining the precision of the returned distances, we observed that these tend to lie very close to the exact distances, even for ɛ = 0.. This suggests that in practice one could set ɛ to a relatively large number and still get good approximations. The strongest merit of this oracle is its fast query-times and guaranteed bounds. This though, comes at the expense of approximate (but near-optimal) distances, and a preprocessing time and memory consumption, which is rather large. Other recent approaches, such as transit node based algorithms [9,] achieve similar results on road networks, but without sacrificing exactness. When compared to these approaches, the results for the oracle considered do not appear to be competitive. Whether the preprocessing time and memory consumption may be improved is not yet clear. One way to reduce the former would be to experiment with other shortest path algorithms when constructing ɛ-covers. An improvement here would lead to a reduction in preprocessing time. In order to reduce the latter, one has to reduce the total number of connections needed (or reduce the space needed for each connection). Both Thorup [1] and Klein [1] show that it is possible to construct ɛ-covers of constant size. Further examination of the effect of this on the total number of connections is needed, but as argued in section 2. we do not expect the effect to be dramatic.

12 66 L.F. Muller and M. Zachariasen References 1. Thorup, M.: Compact Oracles for Reachability and Approximate Distances in Planar Digraphs. Journal of the ACM 1, 99 2 (200) 2. Lipton, R.J., Tarjan, R.E.: A Separator Theorem for Planar Graphs. SIAM Journal on Applied Mathematics 6, 1 19 (199). Thorup, M., Zwick, U.: Approximate Distance Oracles. Journal of the ACM 2, 1 2 (200). Goldberg, A.V., Harrelson, C.: Computing the Shortest Path: A Meets Graph Theory. In: Proceedings of the 16th ACM-SIAM Symposium on Discrete Algorithms, pp ACM Press, New York (200). Gutman, R.: Reach-Based Routing: A New Approach to Shortest Path Algorithms Optimized for Road Networks. In: Proceedings 6th Workshop on Algorithm Engineering and Experiments (ALENEX), pp (200) 6. Goldberg, A.V., Kaplan, H., Werneck, R.: Reach for A : Efficient Point-to-Point Shortest Path Algorithms. In: Workshop on Algorithm Engineering and Experiments (2006). Sanders, P., Schultes, D.: Highway Hierachies Hasten Exact Shortest Path Queries. In: Brodal, G.S., Leonardi, S. (eds.) ESA 200. LNCS, vol. 669, pp Springer, Heidelberg (200). Sanders, P., Schultes, D.: Engineering Highway Hierachies. In: Azar, Y., Erlebach, T. (eds.) ESA LNCS, vol. 16, pp Springer, Heidelberg (2006) 9. Bast, H., Funke, S., Sanders, P., Schultes, D.: Fast Routing in Road Networks with Transit Nodes. Science 16, 66 (200). Bast, H., Funke, S., Matijevic, D., Sanders, P., Schultes, D.: In Transit to Constant Time Shortest-Path Queries in Road Networks. In: Proc. 9th Workshop on Algorithm Engineering and Experimentation (ALENEX) (200) 11. Fakcharoenphol, J., Rao, S.: Planar Graphs, Negative Weight Edges, Shortest Paths, and Near Linear Time. In: Proceedings of 2nd IEEE Symposium on Foundations of Computer Science, pp IEEE Computer Society Press, Los Alamitos (2001) 12. Gavoille, C., Peleg, D., Pérennes, S., Raz, R.: Distance Labeling in Graphs. Journal of Algorithms, 112 (200) 1. Klein, P.: Preprocessing an Undirected Planar Network to Enable Fast Approximate Distance Queries. In: Proceedings of the thirteenth annual ACM-SIAM Symposium on Discrete Algorithms, pp ACM Press, New York (2002) 1. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. MIT Press, Cambridge (2001) 1. Demetrescu, C., Goldberg, A.V., Johnson, D.: 9th DIMACS Implementation Challenge (2006), challenge9/ 16. GMBH, A.S.S.: LEDA.2 (200),

Route Planning. Reach ArcFlags Transit Nodes Contraction Hierarchies Hub-based labelling. Tabulation Dijkstra Bidirectional A* Landmarks

Route Planning. Reach ArcFlags Transit Nodes Contraction Hierarchies Hub-based labelling. Tabulation Dijkstra Bidirectional A* Landmarks Route Planning Tabulation Dijkstra Bidirectional A* Landmarks Reach ArcFlags Transit Nodes Contraction Hierarchies Hub-based labelling [ADGW11] Ittai Abraham, Daniel Delling, Andrew V. Goldberg, Renato

More information

Reach for A : an Efficient Point-to-Point Shortest Path Algorithm

Reach for A : an Efficient Point-to-Point Shortest Path Algorithm Reach for A : an Efficient Point-to-Point Shortest Path Algorithm Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Joint with Haim Kaplan and Renato Werneck Einstein

More information

Point-to-Point Shortest Path Algorithms with Preprocessing

Point-to-Point Shortest Path Algorithms with Preprocessing Point-to-Point Shortest Path Algorithms with Preprocessing Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Joint work with Chris Harrelson, Haim Kaplan, and Retato

More information

I/O Efficieny of Highway Hierarchies

I/O Efficieny of Highway Hierarchies I/O Efficieny of Highway Hierarchies Riko Jacob Sushant Sachdeva Departement of Computer Science ETH Zurich, Technical Report 531, September 26 Abstract Recently, Sanders and Schultes presented a shortest

More information

Applications of Geometric Spanner

Applications of Geometric Spanner Title: Name: Affil./Addr. 1: Affil./Addr. 2: Affil./Addr. 3: Keywords: SumOriWork: Applications of Geometric Spanner Networks Joachim Gudmundsson 1, Giri Narasimhan 2, Michiel Smid 3 School of Information

More information

Highway Dimension and Provably Efficient Shortest Paths Algorithms

Highway Dimension and Provably Efficient Shortest Paths Algorithms Highway Dimension and Provably Efficient Shortest Paths Algorithms Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Joint with Ittai Abraham, Amos Fiat, and Renato

More information

Forbidden-Set Labeling on Graphs

Forbidden-Set Labeling on Graphs Forbidden-Set Labeling on Graphs B. Courcelle LaBRI Bordeaux University Bruno.Courcelle@labri.fr C. Gavoille LaBRI Bordeaux University Cyril.Gavoille@labri.fr A. Twigg Thomson Research, Paris Computer

More information

Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks

Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks Ambreen Shahnaz and Thomas Erlebach Department of Computer Science University of Leicester University Road, Leicester LE1

More information

An Extended Shortest Path Problem with Switch Cost Between Arcs

An Extended Shortest Path Problem with Switch Cost Between Arcs An Extended Shortest Path Problem with Switch Cost Between Arcs Xiaolong Ma, Jie Zhou Abstract Computing the shortest path in a graph is an important problem and it is very useful in various applications.

More information

1 Introduction and Results

1 Introduction and Results On the Structure of Graphs with Large Minimum Bisection Cristina G. Fernandes 1,, Tina Janne Schmidt,, and Anusch Taraz, 1 Instituto de Matemática e Estatística, Universidade de São Paulo, Brazil, cris@ime.usp.br

More information

Labeling Schemes for Vertex Connectivity

Labeling Schemes for Vertex Connectivity Labeling Schemes for Vertex Connectivity AMOS KORMAN CNRS and Université Paris Diderot - Paris 7, France. This paper studies labeling schemes for the vertex connectivity function on general graphs. We

More information

Approximation Schemes for Planar Graph Problems (1983, 1994; Baker)

Approximation Schemes for Planar Graph Problems (1983, 1994; Baker) Approximation Schemes for Planar Graph Problems (1983, 1994; Baker) Erik D. Demaine, MIT, theory.csail.mit.edu/ edemaine MohammadTaghi Hajiaghayi, MIT, www.mit.edu/ hajiagha INDEX TERMS: approximation

More information

Bidirectional search and Goal-directed Dijkstra

Bidirectional search and Goal-directed Dijkstra Computing the shortest path Bidirectional search and Goal-directed Dijkstra Alexander Kozyntsev October 18, 2010 Abstract We study the problem of finding a shortest path between two vertices in a directed

More information

A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)

A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES) Chapter 1 A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES) Piotr Berman Department of Computer Science & Engineering Pennsylvania

More information

Parallel Hierarchies for Solving Single Source Shortest Path Problem

Parallel Hierarchies for Solving Single Source Shortest Path Problem JOURNAL OF APPLIED COMPUTER SCIENCE Vol. 21 No. 1 (2013), pp. 25-38 Parallel Hierarchies for Solving Single Source Shortest Path Problem Łukasz Chomatek 1 1 Lodz University of Technology Institute of Information

More information

Planar Point Location

Planar Point Location C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,

More information

An Algorithm and Evaluations of Real Time Shortest Path according to current traffic on road

An Algorithm and Evaluations of Real Time Shortest Path according to current traffic on road P P International Journal of Scientific Engineering and Applied Science (IJSEAS) - Volume-1, Issue-7,October 2015 An Algorithm and Evaluations of Real Time Shortest Path according to current traffic on

More information

Crossing Numbers and Parameterized Complexity

Crossing Numbers and Parameterized Complexity Crossing Numbers and Parameterized Complexity MichaelJ.Pelsmajer 1, Marcus Schaefer 2, and Daniel Štefankovič3 1 Illinois Institute of Technology, Chicago, IL 60616, USA pelsmajer@iit.edu 2 DePaul University,

More information

Range Tree Applications in Computational Geometry

Range Tree Applications in Computational Geometry Range Tree Applications in Computational Geometry ANTONIO-GABRIEL STURZU, COSTIN-ANTON BOIANGIU Computer Science Department Politehnica University of Bucharest Splaiul Independentei 313, Sector 6, Bucharest,

More information

Persistent Data Structures (Version Control)

Persistent Data Structures (Version Control) Persistent Data Structures (Version Control) Ephemeral update v 0 v 1 Partial persistence version list v 0 v 1 Full persistence version tree v 0 v 1 v 2 Confluently persistence version DAG v 0 v 1 v 2

More information

Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks

Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks Thomas Erlebach Department of Computer Science University of Leicester, UK te17@mcs.le.ac.uk Ambreen Shahnaz Department of Computer

More information

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007 CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Local Search: Max-Cut, Facility Location Date: 2/3/2007 In previous lectures we saw how dynamic programming could be

More information

Highway Hierarchies Star

Highway Hierarchies Star Delling/Sanders/Schultes/Wagner: Highway Hierarchies Star 1 Highway Hierarchies Star Daniel Delling Dominik Schultes Peter Sanders Dorothea Wagner Institut für Theoretische Informatik Algorithmik I/II

More information

Partitioning Graphs to Speed Up Dijkstra s Algorithm

Partitioning Graphs to Speed Up Dijkstra s Algorithm See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/221131524 Partitioning Graphs to Speed Up Dijkstra s Algorithm Conference Paper in Lecture

More information

All-Pairs Nearly 2-Approximate Shortest-Paths in O(n 2 polylog n) Time

All-Pairs Nearly 2-Approximate Shortest-Paths in O(n 2 polylog n) Time All-Pairs Nearly 2-Approximate Shortest-Paths in O(n 2 polylog n) Time Surender Baswana 1, Vishrut Goyal 2, and Sandeep Sen 3 1 Max-Planck-Institut für Informatik, Saarbrücken, Germany. sbaswana@mpi-sb.mpg.de

More information

A note on Baker s algorithm

A note on Baker s algorithm A note on Baker s algorithm Iyad A. Kanj, Ljubomir Perković School of CTI, DePaul University, 243 S. Wabash Avenue, Chicago, IL 60604-2301. Abstract We present a corrected version of Baker s algorithm

More information

Recent PTAS Algorithms on the Euclidean TSP

Recent PTAS Algorithms on the Euclidean TSP Recent PTAS Algorithms on the Euclidean TSP by Leonardo Zambito Submitted as a project for CSE 4080, Fall 2006 1 Introduction The Traveling Salesman Problem, or TSP, is an on going study in computer science.

More information

Scribe from 2014/2015: Jessica Su, Hieu Pham Date: October 6, 2016 Editor: Jimmy Wu

Scribe from 2014/2015: Jessica Su, Hieu Pham Date: October 6, 2016 Editor: Jimmy Wu CS 267 Lecture 3 Shortest paths, graph diameter Scribe from 2014/2015: Jessica Su, Hieu Pham Date: October 6, 2016 Editor: Jimmy Wu Today we will talk about algorithms for finding shortest paths in a graph.

More information

arxiv: v2 [cs.dm] 28 Dec 2010

arxiv: v2 [cs.dm] 28 Dec 2010 Multiple-source multiple-sink maximum flow in planar graphs Yahav Nussbaum arxiv:1012.4767v2 [cs.dm] 28 Dec 2010 Abstract In this paper we show an O(n 3/2 log 2 n) time algorithm for finding a maximum

More information

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen University of Copenhagen Outline Motivation and Background Minimum-Weight Spanner Problem Greedy Spanner Algorithm Exact Algorithm:

More information

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY KARL L. STRATOS Abstract. The conventional method of describing a graph as a pair (V, E), where V and E repectively denote the sets of vertices and edges,

More information

Experimental Study on Speed-Up Techniques for Timetable Information Systems

Experimental Study on Speed-Up Techniques for Timetable Information Systems Experimental Study on Speed-Up Techniques for Timetable Information Systems Reinhard Bauer (rbauer@ira.uka.de) Daniel Delling (delling@ira.uka.de) Dorothea Wagner (wagner@ira.uka.de) ITI Wagner, Universität

More information

Reach for A : Efficient Point-to-Point Shortest Path Algorithms

Reach for A : Efficient Point-to-Point Shortest Path Algorithms Reach for A : Efficient Point-to-Point Shortest Path Algorithms Andrew V. Goldberg Haim Kaplan Renato F. Werneck Abstract We study the point-to-point shortest path problem in a setting where preprocessing

More information

Engineering shortest-path algorithms for dynamic networks

Engineering shortest-path algorithms for dynamic networks Engineering shortest-path algorithms for dynamic networks Mattia D Emidio and Daniele Frigioni Department of Information Engineering, Computer Science and Mathematics, University of L Aquila, Via Gronchi

More information

Planar Graphs with Many Perfect Matchings and Forests

Planar Graphs with Many Perfect Matchings and Forests Planar Graphs with Many Perfect Matchings and Forests Michael Biro Abstract We determine the number of perfect matchings and forests in a family T r,3 of triangulated prism graphs. These results show that

More information

Connectivity check in 3-connected planar graphs with obstacles

Connectivity check in 3-connected planar graphs with obstacles Electronic Notes in Discrete Mathematics 31 (2008) 151 155 www.elsevier.com/locate/endm Connectivity check in 3-connected planar graphs with obstacles Bruno Courcelle a,1,2,3, Cyril Gavoille a,1,3, Mamadou

More information

Triangle Graphs and Simple Trapezoid Graphs

Triangle Graphs and Simple Trapezoid Graphs JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 18, 467-473 (2002) Short Paper Triangle Graphs and Simple Trapezoid Graphs Department of Computer Science and Information Management Providence University

More information

Randomized Algorithms 2017A - Lecture 10 Metric Embeddings into Random Trees

Randomized Algorithms 2017A - Lecture 10 Metric Embeddings into Random Trees Randomized Algorithms 2017A - Lecture 10 Metric Embeddings into Random Trees Lior Kamma 1 Introduction Embeddings and Distortion An embedding of a metric space (X, d X ) into a metric space (Y, d Y ) is

More information

Lecture 6: External Interval Tree (Part II) 3 Making the external interval tree dynamic. 3.1 Dynamizing an underflow structure

Lecture 6: External Interval Tree (Part II) 3 Making the external interval tree dynamic. 3.1 Dynamizing an underflow structure Lecture 6: External Interval Tree (Part II) Yufei Tao Division of Web Science and Technology Korea Advanced Institute of Science and Technology taoyf@cse.cuhk.edu.hk 3 Making the external interval tree

More information

Transit Nodes Lower Bounds and Refined Construction

Transit Nodes Lower Bounds and Refined Construction Transit Nodes Lower Bounds and Refined Construction Jochen Eisner Stefan Funke Abstract We reconsider the concept of transit nodes as introduced by Bast et al. [3] and for the first time construct instance

More information

Vertex Cover Approximations on Random Graphs.

Vertex Cover Approximations on Random Graphs. Vertex Cover Approximations on Random Graphs. Eyjolfur Asgeirsson 1 and Cliff Stein 2 1 Reykjavik University, Reykjavik, Iceland. 2 Department of IEOR, Columbia University, New York, NY. Abstract. The

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

On Algebraic Expressions of Generalized Fibonacci Graphs

On Algebraic Expressions of Generalized Fibonacci Graphs On Algebraic Expressions of Generalized Fibonacci Graphs MARK KORENBLIT and VADIM E LEVIT Department of Computer Science Holon Academic Institute of Technology 5 Golomb Str, PO Box 305, Holon 580 ISRAEL

More information

Improved Results on Geometric Hitting Set Problems

Improved Results on Geometric Hitting Set Problems Improved Results on Geometric Hitting Set Problems Nabil H. Mustafa nabil@lums.edu.pk Saurabh Ray saurabh@cs.uni-sb.de Abstract We consider the problem of computing minimum geometric hitting sets in which,

More information

COMPUTING MINIMUM SPANNING TREES WITH UNCERTAINTY

COMPUTING MINIMUM SPANNING TREES WITH UNCERTAINTY Symposium on Theoretical Aspects of Computer Science 2008 (Bordeaux), pp. 277-288 www.stacs-conf.org COMPUTING MINIMUM SPANNING TREES WITH UNCERTAINTY THOMAS ERLEBACH 1, MICHAEL HOFFMANN 1, DANNY KRIZANC

More information

Online algorithms for clustering problems

Online algorithms for clustering problems University of Szeged Department of Computer Algorithms and Artificial Intelligence Online algorithms for clustering problems Summary of the Ph.D. thesis by Gabriella Divéki Supervisor Dr. Csanád Imreh

More information

A Fast Algorithm for Optimal Alignment between Similar Ordered Trees

A Fast Algorithm for Optimal Alignment between Similar Ordered Trees Fundamenta Informaticae 56 (2003) 105 120 105 IOS Press A Fast Algorithm for Optimal Alignment between Similar Ordered Trees Jesper Jansson Department of Computer Science Lund University, Box 118 SE-221

More information

Spanning Trees and Optimization Problems (Excerpt)

Spanning Trees and Optimization Problems (Excerpt) Bang Ye Wu and Kun-Mao Chao Spanning Trees and Optimization Problems (Excerpt) CRC PRESS Boca Raton London New York Washington, D.C. Chapter 3 Shortest-Paths Trees Consider a connected, undirected network

More information

Tree-Weighted Neighbors and Geometric k Smallest Spanning Trees

Tree-Weighted Neighbors and Geometric k Smallest Spanning Trees Tree-Weighted Neighbors and Geometric k Smallest Spanning Trees David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Tech. Report 92-77 July 7, 1992

More information

CONSTRUCTION AND EVALUATION OF MESHES BASED ON SHORTEST PATH TREE VS. STEINER TREE FOR MULTICAST ROUTING IN MOBILE AD HOC NETWORKS

CONSTRUCTION AND EVALUATION OF MESHES BASED ON SHORTEST PATH TREE VS. STEINER TREE FOR MULTICAST ROUTING IN MOBILE AD HOC NETWORKS CONSTRUCTION AND EVALUATION OF MESHES BASED ON SHORTEST PATH TREE VS. STEINER TREE FOR MULTICAST ROUTING IN MOBILE AD HOC NETWORKS 1 JAMES SIMS, 2 NATARAJAN MEGHANATHAN 1 Undergrad Student, Department

More information

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Henry Lin Division of Computer Science University of California, Berkeley Berkeley, CA 94720 Email: henrylin@eecs.berkeley.edu Abstract

More information

Minimal Equation Sets for Output Computation in Object-Oriented Models

Minimal Equation Sets for Output Computation in Object-Oriented Models Minimal Equation Sets for Output Computation in Object-Oriented Models Vincenzo Manzoni Francesco Casella Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza Leonardo da Vinci 3, 033

More information

Nondeterministic Query Algorithms

Nondeterministic Query Algorithms Journal of Universal Computer Science, vol. 17, no. 6 (2011), 859-873 submitted: 30/7/10, accepted: 17/2/11, appeared: 28/3/11 J.UCS Nondeterministic Query Algorithms Alina Vasilieva (Faculty of Computing,

More information

Planarity Algorithms via PQ-Trees (Extended Abstract)

Planarity Algorithms via PQ-Trees (Extended Abstract) Electronic Notes in Discrete Mathematics 31 (2008) 143 149 www.elsevier.com/locate/endm Planarity Algorithms via PQ-Trees (Extended Abstract) Bernhard Haeupler 1 Department of Computer Science, Princeton

More information

A General Class of Heuristics for Minimum Weight Perfect Matching and Fast Special Cases with Doubly and Triply Logarithmic Errors 1

A General Class of Heuristics for Minimum Weight Perfect Matching and Fast Special Cases with Doubly and Triply Logarithmic Errors 1 Algorithmica (1997) 18: 544 559 Algorithmica 1997 Springer-Verlag New York Inc. A General Class of Heuristics for Minimum Weight Perfect Matching and Fast Special Cases with Doubly and Triply Logarithmic

More information

Route Planning in Road Networks

Route Planning in Road Networks Sanders/Schultes: Route Planning 1 Route Planning in Road Networks simple, flexible, efficient Peter Sanders Dominik Schultes Institut für Theoretische Informatik Algorithmik II Universität Karlsruhe (TH)

More information

Two-Level Heaps: A New Priority Queue Structure with Applications to the Single Source Shortest Path Problem

Two-Level Heaps: A New Priority Queue Structure with Applications to the Single Source Shortest Path Problem Two-Level Heaps: A New Priority Queue Structure with Applications to the Single Source Shortest Path Problem K. Subramani 1, and Kamesh Madduri 2, 1 LDCSEE, West Virginia University Morgantown, WV 26506,

More information

Engineering Highway Hierarchies

Engineering Highway Hierarchies Engineering Highway Hierarchies Peter Sanders and Dominik Schultes Universität Karlsruhe (TH), 76128 Karlsruhe, Germany, {sanders,schultes}@ira.uka.de Abstract. Highway hierarchies exploit hierarchical

More information

Lecture 3 February 23, 2012

Lecture 3 February 23, 2012 6.851: Advanced Data Structures Spring 2012 Prof. Erik Demaine Lecture 3 February 23, 2012 1 Overview In the last lecture we saw the concepts of persistence and retroactivity as well as several data structures

More information

Robust, Almost Constant Time Shortest-Path Queries in Road Networks

Robust, Almost Constant Time Shortest-Path Queries in Road Networks Robust, Almost Constant Time Shortest-Path Queries in Road Networks Peter Sanders and Dominik Schultes Universität Karlsruhe (TH), 76128 Karlsruhe, Germany, {sanders,schultes}@ira.uka.de Abstract. When

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

is the Capacitated Minimum Spanning Tree

is the Capacitated Minimum Spanning Tree Dynamic Capacitated Minimum Spanning Trees Raja Jothi and Balaji Raghavachari Department of Computer Science, University of Texas at Dallas Richardson, TX 75083, USA raja, rbk @utdallas.edu Abstract Given

More information

Shortest Paths in Planar Graphs with Real Lengths in O(nlog 2 n/loglogn) Time

Shortest Paths in Planar Graphs with Real Lengths in O(nlog 2 n/loglogn) Time Shortest Paths in Planar Graphs with Real Lengths in O(nlog 2 n/loglogn) Time Shay Mozes 1 and Christian Wulff-Nilsen 2 1 Department of Computer Science, Brown University, Providence, RI 02912, USA shay@cs.brown.edu

More information

arxiv: v2 [cs.ds] 14 Sep 2010

arxiv: v2 [cs.ds] 14 Sep 2010 Multiple-source single-sink maximum flow in directed planar graphs in O(n 1.5 log n) time arxiv:1008.5332v2 [cs.ds] 14 Sep 2010 Philip N. Klein and Shay Mozes Brown University October 28, 2018 Abstract

More information

Computer Science 280 Fall 2002 Homework 10 Solutions

Computer Science 280 Fall 2002 Homework 10 Solutions Computer Science 280 Fall 2002 Homework 10 Solutions Part A 1. How many nonisomorphic subgraphs does W 4 have? W 4 is the wheel graph obtained by adding a central vertex and 4 additional "spoke" edges

More information

Computing Many-to-Many Shortest Paths Using Highway Hierarchies

Computing Many-to-Many Shortest Paths Using Highway Hierarchies Computing Many-to-Many Shortest Paths Using Highway Hierarchies Abstract Sebastian Knopp Peter Sanders Dominik Schultes Frank Schulz We present a fast algorithm for computing all shortest paths between

More information

Minimum-Link Watchman Tours

Minimum-Link Watchman Tours Minimum-Link Watchman Tours Esther M. Arkin Joseph S. B. Mitchell Christine D. Piatko Abstract We consider the problem of computing a watchman route in a polygon with holes. We show that the problem of

More information

Polynomial Time Approximation Schemes for the Euclidean Traveling Salesman Problem

Polynomial Time Approximation Schemes for the Euclidean Traveling Salesman Problem PROJECT FOR CS388G: ALGORITHMS: TECHNIQUES/THEORY (FALL 2015) Polynomial Time Approximation Schemes for the Euclidean Traveling Salesman Problem Shanshan Wu Vatsal Shah October 20, 2015 Abstract In this

More information

On the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes

On the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes On the Complexity of the Policy Improvement Algorithm for Markov Decision Processes Mary Melekopoglou Anne Condon Computer Sciences Department University of Wisconsin - Madison 0 West Dayton Street Madison,

More information

Car or Public Transport Two Worlds

Car or Public Transport Two Worlds Car or Public Transport Two Worlds Hannah Bast Max-Planck-Institute for Informatics, Saarbrücken, Germany Abstract. There are two kinds of people: those who travel by car, and those who use public transport.

More information

Call Control with k Rejections

Call Control with k Rejections Call Control with k Rejections R. Sai Anand, Thomas Erlebach, Alexander Hall, and Stamatis Stefanakos Computer Engineering and Networks Laboratory (TIK), ETH Zürich, CH-8092 Zürich, Switzerland {anand

More information

A Connection between Network Coding and. Convolutional Codes

A Connection between Network Coding and. Convolutional Codes A Connection between Network Coding and 1 Convolutional Codes Christina Fragouli, Emina Soljanin christina.fragouli@epfl.ch, emina@lucent.com Abstract The min-cut, max-flow theorem states that a source

More information

Fast and Simple Algorithms for Weighted Perfect Matching

Fast and Simple Algorithms for Weighted Perfect Matching Fast and Simple Algorithms for Weighted Perfect Matching Mirjam Wattenhofer, Roger Wattenhofer {mirjam.wattenhofer,wattenhofer}@inf.ethz.ch, Department of Computer Science, ETH Zurich, Switzerland Abstract

More information

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Ramin Zabih Computer Science Department Stanford University Stanford, California 94305 Abstract Bandwidth is a fundamental concept

More information

Complexity Results on Graphs with Few Cliques

Complexity Results on Graphs with Few Cliques Discrete Mathematics and Theoretical Computer Science DMTCS vol. 9, 2007, 127 136 Complexity Results on Graphs with Few Cliques Bill Rosgen 1 and Lorna Stewart 2 1 Institute for Quantum Computing and School

More information

Notes on Binary Dumbbell Trees

Notes on Binary Dumbbell Trees Notes on Binary Dumbbell Trees Michiel Smid March 23, 2012 Abstract Dumbbell trees were introduced in [1]. A detailed description of non-binary dumbbell trees appears in Chapter 11 of [3]. These notes

More information

6. Concluding Remarks

6. Concluding Remarks [8] K. J. Supowit, The relative neighborhood graph with an application to minimum spanning trees, Tech. Rept., Department of Computer Science, University of Illinois, Urbana-Champaign, August 1980, also

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

6 Distributed data management I Hashing

6 Distributed data management I Hashing 6 Distributed data management I Hashing There are two major approaches for the management of data in distributed systems: hashing and caching. The hashing approach tries to minimize the use of communication

More information

Graph Crossing Number and Isomorphism SPUR Final Paper, Summer 2012

Graph Crossing Number and Isomorphism SPUR Final Paper, Summer 2012 Graph Crossing Number and Isomorphism SPUR Final Paper, Summer 2012 Mark Velednitsky Mentor Adam Bouland Problem suggested by Adam Bouland, Jacob Fox MIT Abstract The polynomial-time tractability of graph

More information

On the Bottleneck Shortest Path Problem

On the Bottleneck Shortest Path Problem Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany VOLKER KAIBEL MATTHIAS A.F. PEINHARDT On the Bottleneck Shortest Path Problem Supported by the DFG Research

More information

Indexing Variable Length Substrings for Exact and Approximate Matching

Indexing Variable Length Substrings for Exact and Approximate Matching Indexing Variable Length Substrings for Exact and Approximate Matching Gonzalo Navarro 1, and Leena Salmela 2 1 Department of Computer Science, University of Chile gnavarro@dcc.uchile.cl 2 Department of

More information

Hierarchical Hub Labelings for Shortest Paths

Hierarchical Hub Labelings for Shortest Paths Hierarchical Hub Labelings for Shortest Paths Ittai Abraham, Daniel Delling, Andrew V. Goldberg, and Renato F. Werneck Microsoft Research Silicon Valley {ittaia,dadellin,goldberg,renatow}@microsoft.com

More information

Distributed Data Structures and Algorithms for Disjoint Sets in Computing Connected Components of Huge Network

Distributed Data Structures and Algorithms for Disjoint Sets in Computing Connected Components of Huge Network Distributed Data Structures and Algorithms for Disjoint Sets in Computing Connected Components of Huge Network Wing Ning Li, CSCE Dept. University of Arkansas, Fayetteville, AR 72701 wingning@uark.edu

More information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

On the other hand, the main disadvantage of the amortized approach is that it cannot be applied in real-time programs, where the worst-case bound on t

On the other hand, the main disadvantage of the amortized approach is that it cannot be applied in real-time programs, where the worst-case bound on t Randomized Meldable Priority Queues Anna Gambin and Adam Malinowski Instytut Informatyki, Uniwersytet Warszawski, Banacha 2, Warszawa 02-097, Poland, faniag,amalg@mimuw.edu.pl Abstract. We present a practical

More information

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T.

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T. Although this paper analyzes shaping with respect to its benefits on search problems, the reader should recognize that shaping is often intimately related to reinforcement learning. The objective in reinforcement

More information

Optimal Parallel Randomized Renaming

Optimal Parallel Randomized Renaming Optimal Parallel Randomized Renaming Martin Farach S. Muthukrishnan September 11, 1995 Abstract We consider the Renaming Problem, a basic processing step in string algorithms, for which we give a simultaneously

More information

Single source shortest paths in H-minor free graphs

Single source shortest paths in H-minor free graphs Single source shortest paths in H-minor free graphs Raphael Yuster Abstract We present an algorithm for the Single Source Shortest Paths (SSSP) problem in directed H- minor free graphs. For every fixed

More information

Efficient subset and superset queries

Efficient subset and superset queries Efficient subset and superset queries Iztok SAVNIK Faculty of Mathematics, Natural Sciences and Information Technologies, University of Primorska, Glagoljaška 8, 5000 Koper, Slovenia Abstract. The paper

More information

Exact Algorithms Lecture 7: FPT Hardness and the ETH

Exact Algorithms Lecture 7: FPT Hardness and the ETH Exact Algorithms Lecture 7: FPT Hardness and the ETH February 12, 2016 Lecturer: Michael Lampis 1 Reminder: FPT algorithms Definition 1. A parameterized problem is a function from (χ, k) {0, 1} N to {0,

More information

Cache-Oblivious Traversals of an Array s Pairs

Cache-Oblivious Traversals of an Array s Pairs Cache-Oblivious Traversals of an Array s Pairs Tobias Johnson May 7, 2007 Abstract Cache-obliviousness is a concept first introduced by Frigo et al. in [1]. We follow their model and develop a cache-oblivious

More information

Cutting out polygons with a circular saw

Cutting out polygons with a circular saw Cutting out polygons with a circular saw Adrian Dumitrescu Masud Hasan April 0, 202 Abstract Given a simple (cuttable) polygon Q drawn on a piece of planar material R, we cut Q out of R by a (small) circular

More information

Local Search Approximation Algorithms for the Complement of the Min-k-Cut Problems

Local Search Approximation Algorithms for the Complement of the Min-k-Cut Problems Local Search Approximation Algorithms for the Complement of the Min-k-Cut Problems Wenxing Zhu, Chuanyin Guo Center for Discrete Mathematics and Theoretical Computer Science, Fuzhou University, Fuzhou

More information

Report on Cache-Oblivious Priority Queue and Graph Algorithm Applications[1]

Report on Cache-Oblivious Priority Queue and Graph Algorithm Applications[1] Report on Cache-Oblivious Priority Queue and Graph Algorithm Applications[1] Marc André Tanner May 30, 2014 Abstract This report contains two main sections: In section 1 the cache-oblivious computational

More information

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1 Communication Networks I December, Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page Communication Networks I December, Notation G = (V,E) denotes a

More information

Efficient Algorithms for Solving Shortest Paths on Nearly Acyclic Directed Graphs

Efficient Algorithms for Solving Shortest Paths on Nearly Acyclic Directed Graphs Efficient Algorithms for Solving Shortest Paths on Nearly Acyclic Directed Graphs Shane Saunders Tadao Takaoka Department of Computer Science and Software Engineering, University of Canterbury, Christchurch,

More information

From acute sets to centrally symmetric 2-neighborly polytopes

From acute sets to centrally symmetric 2-neighborly polytopes From acute sets to centrally symmetric -neighborly polytopes Isabella Novik Department of Mathematics University of Washington Seattle, WA 98195-4350, USA novik@math.washington.edu May 1, 018 Abstract

More information

A CSP Search Algorithm with Reduced Branching Factor

A CSP Search Algorithm with Reduced Branching Factor A CSP Search Algorithm with Reduced Branching Factor Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

Minimum Spanning Tree Verification under Uncertainty

Minimum Spanning Tree Verification under Uncertainty Minimum Spanning Tree Verification under Uncertainty Thomas Erlebach and Michael Hoffmann Department of Computer Science, University of Leicester, England {te17,mh55}@mcs.le.ac.uk Abstract. In the verification

More information