Improved Distributed Algorithms for Fundamental Graph Problems


Book Description

Distributed graph algorithms provide efficient and theoretically sound methods for solving graph problems in distributed settings and more generally for performing distributed computation in networks. These algorithms are applicable in a wide variety of settings, ranging from computer networks to massively parallel computing and beyond. This thesis addresses a number of the central problems of distributed graph algorithms. These problems generally revolve around two of the principal challenges of the area, locality and congestion. The problems include computing maximal independent set, minimum spanning tree, minimum edge cut and minimum vertex cut, graph connectivity decompositions, network information dissemination, minimum-weight connected dominating set, and scheduling distributed protocols. We develop novel techniques, concepts, and tools for these problems, and present algorithms and impossibility results which improve considerably on the state of the art, in several cases resolving or advancing long-standing open problems.




Distributed Graph Coloring


Book Description

The objective of our monograph is to cover the developments on the theoretical foundations of distributed symmetry breaking in the message-passing model. We hope that our monograph will stimulate further progress in this exciting area.




Distributed Graph Algorithms for Computer Networks


Book Description

This book presents a comprehensive review of key distributed graph algorithms for computer network applications, with a particular emphasis on practical implementation. Topics and features: introduces a range of fundamental graph algorithms, covering spanning trees, graph traversal algorithms, routing algorithms, and self-stabilization; reviews graph-theoretical distributed approximation algorithms with applications in ad hoc wireless networks; describes in detail the implementation of each algorithm, with extensive use of supporting examples, and discusses their concrete network applications; examines key graph-theoretical algorithm concepts, such as dominating sets, and parameters for mobility and energy levels of nodes in wireless ad hoc networks, and provides a contemporary survey of each topic; presents a simple simulator, developed to run distributed algorithms; provides practical exercises at the end of each chapter.




Guide to Graph Algorithms


Book Description

This clearly structured textbook/reference presents a detailed and comprehensive review of the fundamental principles of sequential graph algorithms, approaches for NP-hard graph problems, and approximation algorithms and heuristics for such problems. The work also provides a comparative analysis of sequential, parallel and distributed graph algorithms – including algorithms for big data – and an investigation into the conversion principles between the three algorithmic methods. Topics and features: presents a comprehensive analysis of sequential graph algorithms; offers a unifying view by examining the same graph problem from each of the three paradigms of sequential, parallel and distributed algorithms; describes methods for the conversion between sequential, parallel and distributed graph algorithms; surveys methods for the analysis of large graphs and complex network applications; includes full implementation details for the problems presented throughout the text; provides additional supporting material at an accompanying website. This practical guide to the design and analysis of graph algorithms is ideal for advanced and graduate students of computer science, electrical and electronic engineering, and bioinformatics. The material covered will also be of value to any researcher familiar with the basics of discrete mathematics, graph theory and algorithms.




Algorithms, Parallelism and Fine-grained Complexity for Shortest Path Problems in Sparse Graphs


Book Description

Computation of shortest paths is one of the classical problems in theoretical computer science. Given a pair of nodes s and t in a graph G, the goal is to find a path of minimum weight from s to t. Most graphs that commonly occur in practice are sparse graphs. In this work, we deal with several computational problems related to shortest paths in sparse graphs and we present algorithms that provide significant improvements in performance in both sequential and distributed settings. We also present fine-grained reductions that establish fine-grained hardness for several problems related to shortest paths. In the sequential context, we consider the fine-grained complexity of sparse graph problems whose time complexities have stayed at Õ(mn) over the past several decades, where m is the number of edges and n is the number of vertices in the input graph. All of these problems are known to be subcubic equivalent and this shows that achieving sub-mn running time is hard, but only for dense graphs where $m = [Theta] (n2). We introduce the notion of a sparse reduction which preserves the sparsity of graphs, and we present near linear-time sparse reductions between various pairs of graph problems in the Õ(mn) class. We also introduce the MWC-hardness conjecture, which states that Minimum Weight Cycle problem cannot be solved in sub-mn time. We establish that several important graph problems in the Õ(mn) class such as APSP, second simple shortest path (2-SiSP), Radius, and Betweenness Centrality are MWC-Hard, establishing sub-mn fine-grained hardness for these problems. A well-known generalization of the shortest path problem is the k-simple shortest paths (k-SiSP) problem, where we want to find k simple paths from s to t in a non-decreasing order of their weight. In this thesis we present a new approach for computing all pairs k simple shortest paths (k-APSiSP), which is based on forming suitable path extensions to find simple shortest paths; this method is different from the 'detour finding' technique used in all prior work on computing multiple simple shortest paths, replacement paths, and distance sensitivity oracles. The Õ(mn) time bound of our 2-APSiSP algorithm matches the fine-grained time complexity for the simpler 2-SiSP problem, which is the single source-sink version of this problem. Computing APSP is one of the most fundamental problems in distributed computing. We present a simple Õ(n [superscript 3/2]) rounds deterministic algorithm for computing APSP in the well-known CONGEST model which is the first Õ(n2) round deterministic algorithm for this problem. We then improve this further by reducing the round complexity to Õ(n [superscript 4/3]). We also present a faster algorithm for graphs with moderate integer edge weights. We develop several derandomization techniques for our deterministic APSP algorithms. These include efficient deterministic distributed algorithms for computing a small blocker set, which is a set that intersects a desired collection of shortest paths, and several deterministic pipelined approaches for computing the shortest path distance values as well as for propagating the messages in the network. Aside from our deterministic results, all non-trivial distributed algorithms currently known for computing APSP are randomized




An Introduction to Distributed Algorithms


Book Description

An Introduction to Distributed Algorithms takes up some of the main concepts and algorithms, ranging from basic to advanced techniques and applications, that underlie the programming of distributed-memory systems such as computer networks, networks of work-stations, and multiprocessors. Written from the broad perspective of distributed-memory systems in general it includes topics such as algorithms for maximum flow, programme debugging, and simulation that do not appear in more orthodox texts on distributed algorithms.




Distributed Algorithms on Graphs


Book Description

This volume contains papers presented at the First International Workshop on Distributed Algorithms. The papers present solutions to a wide spectrum of problems (leader election, resource allocation, routing, etc.) and focus on a variety of issues that influence communications complexity.




From Graphs to Matrices, and Back


Book Description

The growing need to deal efficiently with massive computing tasks prompts us to consider the following question: How well can we solve fundamental optimization problems if our algorithms have to run really quickly? The motivation for the research presented in this thesis stems from addressing the above question in the context of algorithmic graph theory. To pursue this direction, we develop a toolkit that combines a diverse set of modern algorithmic techniques, including sparsification, low-stretch spanning trees, the multiplicative-weights-update method, dynamic graph algorithms, fast Laplacian system solvers, and tools of spectral graph theory. Using this toolkit, we obtain improved algorithms for several basic graph problems including: -- The Maximum s-t Flow and Minimum s-t Cut Problems. We develop a new approach to computing (1 - [epsilon])-approximately maximum s-t flow and (1 + [epsilon])-approximately minimum s-t cut in undirected graphs that gives the fastest known algorithms for these tasks. These algorithms are the first ones to improve the long-standing bound of O(n3/2') running time on sparse graphs; -- Multicommodity Flow Problems. We set forth a new method of speeding up the existing approximation algorithms for multicommodity flow problems, and use it to obtain the fastest-known (1 - [epsilon])-approximation algorithms for these problems. These results improve upon the best previously known bounds by a factor of roughly [omega](m/n), and make the resulting running times essentially match the [omega](mn) "flow-decomposition barrier" that is a natural obstacle to all the existing approaches; -- " Undirected (Multi-)Cut-Based Minimization Problems. We develop a general framework for designing fast approximation algorithms for (multi-)cutbased minimization problems in undirected graphs. Applying this framework leads to the first algorithms for several fundamental graph partitioning primitives, such as the (generalized) sparsest cut problem and the balanced separator problem, that run in close to linear time while still providing polylogarithmic approximation guarantees; -- The Asymmetric Traveling Salesman Problem. We design an O( )- approximation algorithm for the classical problem of combinatorial optimization: the asymmetric traveling salesman problem. This is the first asymptotic improvement over the long-standing approximation barrier of e(log n) for this problem; -- Random Spanning Tree Generation. We improve the bound on the time needed to generate an uniform random spanning tree of an undirected graph.




Introduction to Distributed Algorithms


Book Description

Distributed algorithms have been the subject of intense development over the last twenty years. The second edition of this successful textbook provides an up-to-date introduction both to the topic, and to the theory behind the algorithms. The clear presentation makes the book suitable for advanced undergraduate or graduate courses, whilst the coverage is sufficiently deep to make it useful for practising engineers and researchers. The author concentrates on algorithms for the point-to-point message passing model, and includes algorithms for the implementation of computer communication networks. Other key areas discussed are algorithms for the control of distributed applications (wave, broadcast, election, termination detection, randomized algorithms for anonymous networks, snapshots, deadlock detection, synchronous systems), and fault-tolerance achievable by distributed algorithms. The two new chapters on sense of direction and failure detectors are state-of-the-art and will provide an entry to research in these still-developing topics.




Distributed Computing


Book Description

Gives a thorough exposition of network spanners and other locality-preserving network representations such as sparse covers and partitions.