Algorithm Theory - SWAT 2000

First we review amortized fully-dynamic polylogarithmic algorithms for connectivity, minimum spanning trees (MST), 2-edgeand biconnectivity. Second we discuss how they yield improved static algorithms: connectivity for constructing a tree from homeomorphic subtrees, 2-edge connectivity for finding unique matchings in graphs, and MST for packing spanning trees in graphs. The application of MST for spanning tree packing is new and when boot-strapped, it yields a fully-dynamic polylogarithmic algorithm for approximating general edge connectivity within a factor √ 2 + o(1). Finally, on the more practical side, we will discuss how output sensitive algorithms for dynamic shortest paths have been applied successfully to speed up local search algorithms for improving routing on the internet, roughly doubling the capacity. 1 Dynamic Graph Algorithms In this talk, we will discuss some simple dynamic graph algorithms and their applications within static graph problems. As a new result, we will derive a fully dynamic polylogarithmic algorithm approximating the edge connectivity λ within a factor √ 2 + o(1), that is, the algorithm will output a value between λ/ √ 2 + o(1) and λ ×2 + o(1). The talk is not intended as a general survey of dynamic graph algorithms and their applications. Rather its goal is just to present a few nice illustrations of the potent relationship between dynamic graph algorithms and their applications in static graph problems, showing contexts in which dynamic graph algorithms play a role similar to that played by priority queues for greedy algorithms. In a fully dynamic graph problem, we are considering a graph G over a fixed vertex set V , |V | = n. The graph G may be updated by insertions and deletions of edges. Unless otherwise stated, we assume that we start with an empty edge set. We will review the fully dynamic graph algorithms of Holm et al. [11] for connectivity, minimum spanning trees (MST), 2-edge, and biconnectivity in undirected graphs. For the connectivity type problems, the updates may be interspersed by queries on (2-edge-/bi-) connectivity of the graph or between specified vertices. For MST, the fully dynamic algorithm should update the MST in connection with each update to the graph: an inserted edge might have to go into the MST, and if an MST edge is deleted, we should replace with the lightest edge possible. M.M. Halldórsson (Ed.): SWAT 2000, LNCS 1851, pp. 1–9, 2000. c © Springer-Verlag Berlin Heidelberg 2000 2 M. Thorup and D.R. Karger Both updates and queries are presented on-line, meaning that we have to respond to an update or query without knowing anything about the future. The time bounds for these operations are polylogarithmic but amortized meaning that we only bound the average operation time over any sequence of operations, starting with no edges. In our later applications for static graph problems, we only care about the total amount of time spent over all dynamic graph operations, and hence the amortized time bounds suffice. The above mentioned results are all for undirected graphs. For directed graphs there are very few results. In a recent break-through, King [16] showed how to maintain the full transitive closure of a graph in Õ(n2) amortized time per update. Further, she showed how to maintain all pairs shortest paths in O(n2.5 √ log C) time per update if C is the maximum weight in the graph. However, if one is is just interested in maintaining whether t can be reached from s for two fixed vertices s and t, nobody knows how to do this in o(m) time. On the more practical side, Ramalingan and Reps [24] have suggested a lazy implementation of Dijkstra’s [4] single source shortest paths algorithm for a dynamic directed graph. If X is the number of vertices that change distance from the source s in connection with an arc insertion or deletion, they can update a shortest path tree from s in Õ( ∑ v∈X degree(v)) time. Although this does not in general improve over the Õ(m) time it takes to compute a single source shortest path tree from scratch, there has been experimental evidence suggesting that this kind of laziness is worthwhile in connection with internet like topologies [7].

[1]  Robert E. Tarjan,et al.  Applications of a planar separator theorem , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[2]  Luc Devroye,et al.  A Note on Point Location in Delaunay Triangulations of Random Points , 1998, Algorithmica.

[3]  S. Rao Kosaraju,et al.  A decomposition of multi-dimensional point-sets with applications to k-nearest-neighbors and n-body potential fields (preliminary version) , 1992, STOC '92.

[4]  Leonidas J. Guibas,et al.  Optimal Point Location in a Monotone Subdivision , 1986, SIAM J. Comput..

[5]  Michael T. Goodrich,et al.  Methods for achieving fast query times in point location data structures , 1997, SODA '97.

[6]  Takao Asano,et al.  A new point-location algorithm and its practical efficiency: comparison with existing algorithms , 1984, TOGS.

[7]  Kurt Mehlhorn,et al.  Nearly optimal binary search trees , 1975, Acta Informatica.

[8]  Ernst P. Mücke,et al.  Fast randomized point location without preprocessing in two- and three-dimensional Delaunay triangulations , 1996, SCG '96.

[9]  Robert E. Tarjan,et al.  Simplified Linear-Time Jordan Sorting and Polygon Clipping , 1990, Inf. Process. Lett..

[10]  Sunil Arya,et al.  ANN: library for approximate nearest neighbor searching , 1998 .

[11]  David M. Mount,et al.  Analysis of approximate nearest neighbor searching with clustered point sets , 1999, Data Structures, Near Neighbor Searches, and Methodology.

[12]  Robert E. Tarjan,et al.  Planar Point Location Using Persistent Search Trees a , 1989 .

[13]  Ketan Mulmuley A Fast Planar Partition Algorithm, I , 1990, J. Symb. Comput..

[14]  David G. Kirkpatrick,et al.  Optimal Search in Planar Subdivisions , 1983, SIAM J. Comput..

[15]  Richard J. Lipton,et al.  Multidimensional Searching Problems , 1976, SIAM J. Comput..