Algorithms and Dynamic Data Structures for Basic Graph Optimization Problems

Graph optimization plays an important role in a wide range of areas such as computer graphics, computational biology, networking applications and machine learning. Among numerous graph optimization problems, some basic problems, such as shortest paths, minimum spanning tree, and maximum matching, are the most fundamental ones. They have practical applications in various fields, and are also building blocks of many other algorithms. Improvements in algorithms for these problems can thus have a great impact both in practice and in theory. In this thesis, we study a number of graph optimization problems. The results are mostly about approximation algorithms solving graph problems, or efficient dynamic data structures which can answer graph queries when a number of changes occur. Much of my work focuses on the dynamic subgraph model in which there is a fixed underlying graph and every vertex can be flipped "on" or "off". The queries are based on the subgraph induced by the "on" vertices. Our results make significant improvements to the previous algorithms of these problems. The major results are listed below. • Approximate Matching. We give the first linear time algorithm for computing approximate maximum weighted matching for arbitrarily small approximation ratio. • d-failure Connectivity Oracle. For an undirected graph, we give the first space-efficient data structure that can answer connectivity queries between any pair of vertices avoiding d other failed vertices in time polynomial in d log n. • (Max, Min)-Matrix Multiplication. We give a faster algorithm for the (max, min)-matrix multiplication problem, which has a direct application to the all-pairs bottleneck paths (APBP) problem. • Dual-failure Distance Oracle. For a given directed graph, we construct a data structure of size O(n²) which can efficiently answer distance and shortest path queries in the presence of two node or link failures. • Dynamic Subgraph Connectivity. We give the first subgraph connectivity structure with worst-case sublinear time bounds for both updates and queries. • Bounded-leg Shortest Path. We give an algorithm for preprocessing a directed graph in O(n³) time in order to answer approximate bounded leg distance and bounded leg shortest path queries in merely sub-logarithmic time.

[1]  Mikkel Thorup,et al.  Poly-logarithmic deterministic fully-dynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity , 2001, JACM.

[2]  Stefan Hougardy,et al.  A simple approximation algorithm for the weighted matching problem , 2003, Inf. Process. Lett..

[3]  Giri Narasimhan,et al.  Approximating Geometric Bottleneck Shortest Paths , 2003, STACS.

[4]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[5]  Mikkel Thorup,et al.  Oracles for Distances Avoiding a Failed Node or Link , 2008, SIAM J. Comput..

[6]  Harold N. Gabow,et al.  Data structures for weighted matching and nearest common ancestors with linking , 1990, SODA '90.

[7]  Andrzej Lingas,et al.  Faster algorithms for finding lowest common ancestors in directed acyclic graphs , 2007, Theor. Comput. Sci..

[8]  Mikkel Thorup,et al.  Fully-Dynamic Min-Cut* , 2007, Comb..

[9]  Mikkel Thorup,et al.  Planning for Fast Connectivity Updates , 2007, 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS'07).

[10]  Timothy M. Chan Dynamic Subgraph Connectivity with Geometric Applications , 2006, SIAM J. Comput..

[11]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[12]  Greg N. Frederickson,et al.  Data structures for on-line updating of minimum spanning trees , 1983, STOC.

[13]  Stefan Hougardy,et al.  A linear-time approximation algorithm for weighted matchings in graphs , 2005, TALG.

[14]  Jack Edmonds,et al.  Maximum matching and a polyhedron with 0,1-vertices , 1965 .

[15]  Mikkel Thorup,et al.  Time-space trade-offs for predecessor search , 2006, STOC '06.

[16]  Uri Zwick,et al.  All pairs shortest paths in undirected graphs with integer weights , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[17]  Ran Duan,et al.  New Data Structures for Subgraph Connectivity , 2010, ICALP.

[18]  Don Coppersmith,et al.  Rectangular Matrix Multiplication Revisited , 1997, J. Complex..

[19]  Richard M. Karp,et al.  A n^5/2 Algorithm for Maximum Matchings in Bipartite Graphs , 1971, SWAT.

[20]  Uzi Vishkin,et al.  On Finding Lowest Common Ancestors: Simplification and Parallelization , 1988, AWOC.

[21]  Ran Duan,et al.  Approximating Maximum Weight Matching in Near-Linear Time , 2010, 2010 IEEE 51st Annual Symposium on Foundations of Computer Science.

[22]  Victor Y. Pan,et al.  Fast Rectangular Matrix Multiplication and Applications , 1998, J. Complex..

[23]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[24]  Ran Duan,et al.  Dual-failure distance and connectivity oracles , 2009, SODA.

[25]  Michael A. Bender,et al.  The Level Ancestor Problem Simplified , 2002, LATIN.

[26]  H. Kuhn The Hungarian method for the assignment problem , 1955 .

[27]  Giuseppe F. Italiano,et al.  Mantaining Dynamic Matrices for Fully Dynamic Transitive Closure , 2001, Algorithmica.

[28]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[29]  Robert E. Tarjan,et al.  Faster scaling algorithms for general graph matching problems , 1991, JACM.

[30]  Uri Zwick,et al.  All pairs shortest paths using bridging sets and rectangular matrix multiplication , 2000, JACM.

[31]  Piotr Sankowski,et al.  Faster dynamic matchings and vertex connectivity , 2007, SODA '07.

[32]  Ran Duan,et al.  Fast algorithms for (max, min)-matrix multiplication and bottleneck shortest paths , 2009, SODA.

[33]  Jirí Matousek,et al.  Computing Dominances in E^n , 1991, Inf. Process. Lett..

[34]  David R. Karger,et al.  A nearly optimal oracle for avoiding failed vertices and edges , 2009, STOC '09.

[35]  J. Ian Munro,et al.  A O(|V|·|E|) algorithm for maximum matching of graphs , 2005, Computing.

[36]  Peter Sanders,et al.  A simpler linear time 2/3-epsilon approximation for maximum weight matching , 2004, Inf. Process. Lett..

[37]  Stephen Alstrup,et al.  New data structures for orthogonal range searching , 2000, Proceedings 41st Annual Symposium on Foundations of Computer Science.

[38]  Vijay V. Vazirani,et al.  A theory of alternating paths and blossoms for proving correctness of the $$O(\sqrt V E)$$ general graph maximum matching algorithm , 1990, Comb..

[39]  Mikkel Thorup,et al.  Worst-case update times for fully-dynamic all-pairs shortest paths , 2005, STOC '05.

[40]  Raphael Yuster,et al.  All-Pairs Bottleneck Paths in Vertex Weighted Graphs , 2007, SODA '07.

[41]  Michael L. Fredman,et al.  Surpassing the Information Theoretic Bound with Fusion Trees , 1993, J. Comput. Syst. Sci..

[42]  David Eppstein,et al.  Sparsification-a technique for speeding up dynamic graph algorithms , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[43]  David R. Karger,et al.  Improved distance sensitivity oracles via random sampling , 2008, SODA '08.

[44]  Julián Mestre,et al.  Greedy in Approximation Algorithms , 2006, ESA.

[45]  Raphael Yuster,et al.  Efficient algorithms on sets of permutations, dominance, and real-weighted APSP , 2009, SODA.

[46]  Ran Duan,et al.  Bounded-leg distance and reachability oracles , 2008, SODA '08.

[47]  Peter van Emde Boas,et al.  Preserving order in a forest in less than logarithmic time , 1975, 16th Annual Symposium on Foundations of Computer Science (sfcs 1975).

[48]  Robert Preis,et al.  Linear Time 1/2-Approximation Algorithm for Maximum Weighted Matching in General Graphs , 1999, STACS.

[49]  Raphael Yuster,et al.  All-pairs bottleneck paths for general graphs in truly sub-cubic time , 2007, STOC '07.

[50]  Mikkel Thorup,et al.  Near-optimal fully-dynamic graph connectivity , 2000, STOC '00.

[51]  Harold N. Gabow,et al.  An Efficient Implementation of Edmonds' Algorithm for Maximum Matching on Graphs , 1976, JACM.

[52]  Timothy M. Chan More Algorithms for All-Pairs Shortest Paths in Weighted Graphs , 2010, SIAM J. Comput..

[53]  Ran Duan,et al.  Connectivity oracles for failure prone graphs , 2010, STOC '10.

[54]  Seth Pettie,et al.  A new approach to all-pairs shortest paths on real-weighted graphs , 2004, Theor. Comput. Sci..

[55]  Uri Zwick,et al.  A fully dynamic reachability algorithm for directed graphs with an almost linear update time , 2004, STOC '04.

[56]  Michael A. Bender,et al.  The LCA Problem Revisited , 2000, LATIN.

[57]  Greg N. Frederickson,et al.  Data Structures for On-Line Updating of Minimum Spanning Trees, with Applications , 1985, SIAM J. Comput..

[58]  Michael Segal,et al.  On Bounded Leg Shortest Paths Problems , 2007, SODA '07.

[59]  Virginia Vassilevska,et al.  Algorithms for Path Problems in Weighted Graphs , 2008 .

[60]  Timothy M. Chan,et al.  Dynamic Connectivity: Connecting to Networks and Geometry , 2008, 2008 49th Annual IEEE Symposium on Foundations of Computer Science.

[61]  Daniele Frigioni,et al.  Dynamically Switching Vertices in Planar Graphs , 2000, Algorithmica.

[62]  Robert E. Tarjan,et al.  Faster Scaling Algorithms for Network Problems , 1989, SIAM J. Comput..

[63]  Silvio Micali,et al.  An O(v|v| c |E|) algoithm for finding maximum matching in general graphs , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[64]  Don Coppersmith,et al.  Matrix multiplication via arithmetic progressions , 1987, STOC.