Objective of the present work

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

Routing v.s. Spanners

The 4/3 Additive Spanner Exponent is Tight

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

Distance oracles for unweighted graphs : breaking the quadratic barrier with constant additive error

On dynamic shortest paths problems

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen

Graphs. Part II: SP and MST. Laura Toma Algorithms (csci2200), Bowdoin College

Highway Hierarchies (Dominik Schultes) Presented by: Andre Rodriguez

Improved algorithms for constructing fault-tolerant spanners

2. True or false: even though BFS and DFS have the same space complexity, they do not always have the same worst case asymptotic time complexity.

Single Source Shortest Paths

Week 12: Minimum Spanning trees and Shortest Paths

Uri Zwick Tel Aviv University The 6th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS)

Applications of Geometric Spanner

Solving problems on graph algorithms

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Solution for Homework set 3

Single Source Shortest Path (SSSP) Problem

CSE 431/531: Analysis of Algorithms. Greedy Algorithms. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo

Very Sparse Additive Spanners and Emulators

Exam 3 Practice Problems

Lecture 6 Basic Graph Algorithms

Graph Contraction. Graph Contraction CSE341T/CSE549T 10/20/2014. Lecture 14

Parallel Graph Algorithms

Minimum Cost Edge Disjoint Paths

Clustering for Faster Network Simplex Pivots

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

22 Elementary Graph Algorithms. There are two standard ways to represent a

DESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD

GRAPHS, GRAPH MODELS, GRAPH TERMINOLOGY, AND SPECIAL TYPES OF GRAPHS

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

Shortest Paths. March 21, CTU in Prague. Z. Hanzálek (CTU) Shortest Paths March 21, / 44

Testing Bipartiteness of Geometric Intersection Graphs David Eppstein

Connectivity, Graph Minors, and Subgraph Multiplicity

Highway Dimension and Provably Efficient Shortest Paths Algorithms

On the Bottleneck Shortest Path Problem

Chapter 9 Graph Algorithms

Single Source Shortest Path

A Parallel Algorithm for the Single-Source Shortest Path Problem

Assignment 1 Introduction to Graph Theory CO342

from notes written mostly by Dr. Carla Savage: All Rights Reserved

Dynamic Algorithms for Shortest Paths and Matching. Aaron Bernstein

Ma/CS 6b Class 5: Graph Connectivity

Algorithm Analysis. (Algorithm Analysis ) Data Structures and Programming Spring / 48

Combinatorial Optimization

CSci 231 Final Review

Notes on Minimum Spanning Trees. Red Rule: Given a cycle containing no red edges, select a maximum uncolored edge on the cycle, and color it red.

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

arxiv: v1 [cs.ds] 27 Apr 2014

CS350: Data Structures Dijkstra s Shortest Path Alg.

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Shortest Paths Date: 10/13/15

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

UML CS Algorithms Qualifying Exam Fall, 2003 ALGORITHMS QUALIFYING EXAM

Approximate Distance Oracles

CS420/520 Algorithm Analysis Spring 2009 Lecture 14

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

How to Grow Your Balls (Distance Oracles Beyond the Thorup Zwick Bound) FOCS 10

Problem 1. Which of the following is true of functions =100 +log and = + log? Problem 2. Which of the following is true of functions = 2 and =3?

CS61BL. Lecture 5: Graphs Sorting

Chapter 9 Graph Algorithms

Elementary maths for GMT. Algorithm analysis Part II

TIE Graph algorithms

The Encoding Complexity of Network Coding

Randomized Graph Algorithms

Representations of Weighted Graphs (as Matrices) Algorithms and Data Structures: Minimum Spanning Trees. Weighted Graphs

Spanning Trees and Optimization Problems (Excerpt)

Lecture 4: Graph Algorithms

Algorithm Design (8) Graph Algorithms 1/2

UML CS Algorithms Qualifying Exam Spring, 2004 ALGORITHMS QUALIFYING EXAM

Unit 2: Algorithmic Graph Theory

Learning Graphs with Queries. Lev Reyzin Clique talk Fall 2006

Sankalchand Patel College of Engineering - Visnagar Department of Computer Engineering and Information Technology. Assignment

Introduction Single-source shortest paths All-pairs shortest paths. Shortest paths in graphs

CS200: Graphs. Prichard Ch. 14 Rosen Ch. 10. CS200 - Graphs 1

ECE250: Algorithms and Data Structures Final Review Course

Flexible Coloring. Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a. Abstract

Lecture 3: Totally Unimodularity and Network Flows

Outline. Computer Science 331. Definitions: Paths and Their Costs. Computation of Minimum Cost Paths

Algorithms: Graphs. Amotz Bar-Noy. Spring 2012 CUNY. Amotz Bar-Noy (CUNY) Graphs Spring / 95

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Graph Algorithms. A Brief Introduction. 高晓沨 (Xiaofeng Gao) Department of Computer Science Shanghai Jiao Tong Univ.

Algorithms and Data Structures

Lecture 5 February 26, 2007

Algorithms and Data Structures

Parallel Breadth First Search

Chapter 9 Graph Algorithms

12.1 Formulation of General Perfect Matching

CSE 417 Network Flows (pt 4) Min Cost Flows

Algorithms and Data Structures (INF1) Lecture 15/15 Hua Lu

The Full Survey on The Euclidean Steiner Tree Problem

Abstract. A graph G is perfect if for every induced subgraph H of G, the chromatic number of H is equal to the size of the largest clique of H.

Chapter 3: Paths and Cycles

Week 11: Minimum Spanning trees

Basics of Graph Theory

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

UML CS Algorithms Qualifying Exam Fall, 2004 ALGORITHMS QUALIFYING EXAM

CS 860 Fall Lecture 6. Anna Lubiw, U. Waterloo. one more paper on dynamic graphs (connectivity rather than shortest paths)

Network optimization: An overview

Transcription:

Objective of the present work Optimize Road Network Optimize Airline Network Optimize Rail Network Optimize Computer Network Optimize Social Network Spanners and Emulators For most graph algorithms, the performance depends on the number of nodes and edges of the input graph. The running time can potentially be reduced by altering the graph, in particular by adding or deleting edges. After altering the graph, we wish that the answer to the question we ask concerning the graph (in our case the distances between nodes) does not change by much. When edges are deleted only, we obtain a subgraph, which, if it preserves distances to a certain extent, is called a spanner. Since no edges can be removed from graphs with large girth without significantly altering distances, graphs with many edges (dense graphs) and large girth are important worst-case instances for spanner and distance oracle constructions. In extremal combinatorics, determining mg (n) is a research field of its own. For example, for g = 4 the question is the following: how many edges can be added to the empty graph on n nodes without closing a triangle? Intuitively, the more edges that were already added, the harder it gets to add another one. For g = 4, the complete bipartite graph is asymptotically optimal. For general g, the construction of the graph is much more involved; for some g the value of mg (n) is not even known.5 Erd s girth conjecture predicts that, for an integer k 1, m2k+1 (n) = m2k+2 (n) = Ω(n1+1/k ). The corresponding upper bound is known to be tight and the conjectured lower bound is a theorem for certain values of k (1, 2, 3, and 5); For multiplicative spanners, the tradeoff between space and stretch is well understood. Not so for spanners with additive stretch. Aingworth found a (1, 2) spanner with O(n3/2 ) edges and Baswana found a (1, 6) spanner with O(n4/3 ) edges. Wood-ruff gives a strong lower bound for additive graph spanners independent of Erd s o girth conjecture. He proves that for an integer k = o lg lg n, there are graphs for which any (1, 2k 1) spanner has Ω n1+1/k /k edges. Distance Labelings and Metric Embeddings The objective of distance labelings is to assign each node of a graph a label such that the distance (or an approximation thereof) between two nodes can be computed based on the corresponding labels only. Such labelings are used in the real world to a certain extent. For example, postal

addresses include countries, cities, and street names, using which we can get an estimate of how close two addresses are. Distance Labeling An (α, β) approximate distance labeling scheme for a graph G = (V, E) is an assignment of labels to nodes L : V {0, 1} such that the estimated distance d(u, v) computed by the scheme from the labels L(v) and L(v) satisfies dg (u, v) α dg (u, v) + β. d(l(u), L(v)) Distance labeling schemes with short labels are derivable for highly regular graph classes, such as rings, meshes, and hypercubes. An interesting question is whether more general graph classes can also be labeled in this fashion. For general graphs, it is known that any distance labeling scheme must label some graphs with n vertices with labels of size Ω(n). Even for planar graphs, some nodes must have labels of size Ω(n1/3 ). Planer Graph Techniques A powerful approach when designing an algorithm is to use divide & conquer: we split the problem at hand into a bunch of smaller problems, solve these, and then combine their solutions. Ideally the sub-problems are completely independent such that the combination of their solutions is straightforward. In general, the sub-problems are not independent. It is then crucial to cut the problem into pieces with as few interdependencies as possible. Road networks, although non-planar (the networks may have many bridges and tunnels), often also have structural properties that are similar to the ones for planar graphs. Most importantly, they appear to have small separators as well. Edge Orientability The edge set of a simple undirected planar graph G = (V, E) can be oriented (denoted by G = (V, E)) such that the out-degree of every vertex v satisfies deg+ (v) = O(1). The upper bound G on the degree can be chosen to be. Note that the nodes in-degrees deg (v) remain G unbounded. Using this orientation, adjacency queries can be answered in constant time by inspecting both nodes. This technique can be seen as a labeling each node gets a label of size O(lg n) bits such that the adjacency of two nodes can be computed by looking at the two corresponding labels only. The result on edge orientability extends to minor-free graphs. Well-Separated Pairs For a graph G = (V, E) and a set A V, let G(A) denote the subgraph induced by A. WSPD. For a graph G = (V, E), two sets of nodes A, B V are separated if max{diam(g(a)),

diam(g(b))} dg (A, B). For a parameter > 0, a well-separated pair decomposition of a graph G is a set of s pairs W = {{A1, B1 },... {As, Bs }} such that for all pairs u, v V Ai, Bi V, S (u, v) Ai Bi Bi Ai, i=1 and that for all i [s] Ai Bi =, and Ai and Bi are separated. Shortest Paths Shortest paths should be of inherent interest to any lazy creature living on a sphere like the surface of planet Earth. Mikkel Thorup Even in very primitive (even animal) societies, finding short paths and searching (for instance, for food) is essential. Alexander Schrijver. The distance between two nodes s, t V of a graph G = (V, E) is defined by the length of a shortest path. The objective is to find the shortest possible path that connects the source and the target. Single Source Shortest Path (SSSP) Algorithms The following outline is partially based on Ahuja, Magnanti, and Orlin s book. Historical information is from. The Single Source Shortest Path (SSSP) problem asks for a shortest path from one node s V (called the source) to all other nodes in V \{s}. In particular, after running a single source shortest path algorithm, we know the distance from the source to all other nodes. After termination, each node u V is labeled with d(s, u). At the beginning d(s, s) = 0 and all other labels are set to. SSSP algorithms iterate and assign tentative distance labels d(s, u) (upper bounds on the true distance d(s, u) d(s, u)) at each step. We distinguish label-setting, label-correcting, and other algorithms. In label-setting algorithms, each iteration produces one optimal label. This property does not hold for label-correcting algorithms, for which all labels are optimal after the final iteration only. Label-setting algorithms are restricted to non-negative lengths, but they often have a better worst-case time complexity than label-correcting algorithms. Also, if we are interested in one particular target node t, it is possible to stop the algorithm as soon as the distance label for t has been produced. Label-Setting Algorithms

The most famous label-setting algorithm is Dijkstra s algorithm, see also or any algorithms textbook of your choice. The original implementation runs in time O(n2 ). According to an article on the history of combinatorial optimization, the same or a similar algorithm has been proposed independently by Leyzorek etal. [LGJ+ 57], Dantzig [Dan60], and Whiting and Hillier but it is known as Dijkstra s algorithm. The algorithm starts a search at the source. At each step, among the nodes with tentative labels, the algorithm selects the node u with the shortest tentative distance d(s, u) and deems the label of u as permanent. Then, the algorithm updates the labels of all the neighbors of u if necessary. That is, if a neighbor v Γ(u) has a tentative distance d(s, v) larger than d(s, u) + w(u, v), its label is decreased. The algorithm does not need to backtrack: once a label is finalized, it is correct and it can never decrease. Another approach to efficient node selection is to use a priority queue, which is a data structure we use to manage the nodes. This data structure supports efficient operations to insert an element, to retrieve the minimum element, to delete the minimum element, and to decrease the value of an element in the queue. These are exactly the operations necessary for Dijkstra s algorithm. Each update of a label involves a queue operation. If we restrict the range of the edge weight function with respect to integers (or floats), better bounds are possible by using special priority queues designed for the word RAM model. Component Hierarchy Algorithms There is an information - theoretic time lower bound of Ω(n lg n). To circumvent this bound, sorting must be avoided. An SSSP algorithm is not actually required to sort the distances to all nodes. Indeed, the sorting bottleneck can be avoided. Thorup gives an O(m) algorithm for undirected graphs with integer or floating point weights. He first constructs a component hierarchy (in linear time) and then revisits the nodes. Although the algorithm is theoretically best-possible, it appears to be hard to implement and not very efficient in practice. Hagerup generalizes the idea of the component hierarchy to directed graphs, for which his algorithm (using an analogue of minimum spanning trees for directed graphs) runs in time O(m lg lg W ). Actually, constructing the component hierarchy itself takes this time; an SSSP search using the hierarchy requires time O(m + n lg lg n). Pettie and Ramachandran generalize the component hierarchy to real weights. Due to the importance of the shortest path problem, researchers have been interested in parallel algorithms, I/O efficient algorithms, algorithms for special graph classes such as planar graphs, sparse graphs, or Euclidean graphs, and in the expected performance (average-case analysis) of algorithms. Also, comparisons and experimental evaluation for practical purposes have been an important part of investigations. Point-to-point shortest path problems have been considered early on. In practice, point-to-point shortest path algorithms can be computed faster when bidirectional search is used. For road networks, if in addition to the graph the node coordinates

are known, A* heuristics based on geometry help to guide the search towards the target. All Pairs Shortest Path (APSP) Algorithms We consider the static version of the APSP problem, which is for example surveyed by Schrijver and Pettie. For the dynamic version of the problem, Given a graph G = (V, E), the All Pairs Shortest Paths (APSP) problem is to compute a shortest path, respectively the distance, between all pairs of nodes s, t V. Since there are n 2 = Θ(n ) pairs of nodes for which the distance needs to be output, the time complexity 2 must be at least Ω(n2 ). Strong lower bounds are hard to prove. Nakamori give lower bounds for algorithms with restricted operations. Karger etal. shows that any algorithm based on path comparison must take time Ω(mn). For general algorithms, the gap between the lower and the upper bound is huge. Given an SSSP algorithm with running time S(n, m, W ), the straightforward approach to solve APSP is to run the SSSP algorithm for each node. This approach yields a running time of O(n S(n, m, W )). For non-negative weights, we may use Dijkstra s algorithm, which yields time O(mn + n2 lg n). The algorithm of Johnson matches this bound also for negative weights (by using Dijkstra s algorithm and the Bellman- Ford algorithm). For very sparse graphs with m = O(n) edges, this is already best possible. Many Pairs Shortest Path (MPSP) Algorithms We may want to compute the shortest paths between pairs from a restricted subset of vertices U V. For this, an APSP algorithm might be computing too much. Let s := U. For s = ω(1) pairs, the algorithm of Pettie and Ramachandran is currently the fastest method to compute exact shortest paths. Restricted graph classes. The algorithm by Cabello [Cab06] computes s many distances in planar graphs in time O s2/3 n2/3 lg n + n4/3 lg1/3 n. The algorithm makes use of an efficient distance oracle for planar graphs. Many Pairs Approximate Shortest Path (MPASP) Algorithms Approximate distances between a subset of the nodes may be enough. For an overview of results, see. Similar to APASP, many algorithms use spanners to reduce the problem size. Elkin notes that the existence of an algorithm for constructing an (α, β) spanner with O(n1+ζ ) edges (ζ > 0) in time O(T ) implies the existence of an algorithm for the MPASP problem with s sources with running time O(T + s n1+ζ ) Shortest Path and Distance Queries Processing shortest path and distance queries in graphs can be seen as a generalization of the APSP problem and the MPSP problem, for which we do not know the pairs in beforehand.