Improved Randomized Algorithms for Path Problems in Graphs PhD Thesis Surender Baswana Department of Computer Science & Engineering, I.I.T. Delhi Research.

Slides:



Advertisements
Similar presentations
Algorithms (and Datastructures) Lecture 3 MAS 714 part 2 Hartmut Klauck.
Advertisements

Surender Baswana Department of CSE, IIT Kanpur. Surender Baswana Department of CSE, IIT Kanpur.
all-pairs shortest paths in undirected graphs
Approximate Distance Oracles and Spanners with sublinear surplus Mikkel Thorup AT&T Research Uri Zwick Tel Aviv University.
Size-estimation framework with applications to transitive closure and reachability Presented by Maxim Kalaev Edith Cohen AT&T Bell Labs 1996.
Dynamic Graph Algorithms - I
Everything you always wanted to know about spanners * *But were afraid to ask Seth Pettie University of Michigan, Ann Arbor.
1 Directed Graphs: Victoria Road Problem. 2 Update: Edge is deleted; Edge is inserted Edge weight is changed F A Directed graph problems.
Chapter 3 The Greedy Method 3.
Graph & BFS.
Math 308 Discrete Mathematics Discrete Mathematics deals with “Separated” or discrete sets of objects (rather than continuous sets) Processes with a sequence.
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 Graphs.
CS Lecture 9 Storeing and Querying Large Web Graphs.
Math443/543 Mathematical Modeling and Optimization
1 On Dynamic Shortest Paths Problems Liam Roditty Uri Zwick Tel Aviv University ESA 2004.
Graph COMP171 Fall Graph / Slide 2 Graphs * Extremely useful tool in modeling problems * Consist of: n Vertices n Edges D E A C F B Vertex Edge.
CS728 Lecture 16 Web indexes II. Last Time Indexes for answering text queries –given term produce all URLs containing –Compact representations for postings.
Graph & BFS Lecture 22 COMP171 Fall Graph & BFS / Slide 2 Graphs * Extremely useful tool in modeling problems * Consist of: n Vertices n Edges D.
An almost linear fully dynamic reachability algorithm.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Improved dynamic reachability algorithms for directed graphs Liam Roditty and Uri Zwick Tel Aviv University.
Graphs & Graph Algorithms 2 Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
1 Approximate Distance Oracles Mikkel Thorup AT&T Research Uri Zwick Tel Aviv University.
Graphs & Graph Algorithms 2
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Review Lecture Tuesday, 12/10/02.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Approximate Distance Oracles for Geometric Spanner Networks Joachim Gudmundsson TUE, Netherlands Christos Levcopoulos Lund U., Sweden Giri Narasimhan Florida.
1 An almost linear fully dynamic reachability algorithm Liam Roditty and Uri Zwick Tel Aviv University.
Graphs & Graph Algorithms 2 Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Directed graphs Definition. A directed graph (or digraph) is a pair (V, E), where V is a finite non-empty set of vertices, and E is a set of ordered pairs.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Chandra Chekuri, Nitish Korula and Martin Pal Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms (SODA 08) Improved Algorithms.
CSCE350 Algorithms and Data Structure Lecture 17 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Near Optimal Streaming algorithms for Graph Spanners Surender Baswana IIT Kanpur.
Distance sensitivity oracles in weighted directed graphs Raphael Yuster University of Haifa Joint work with Oren Weimann Weizmann inst.
Efficient Route Computation on Road Networks Based on Hierarchical Communities Qing Song, Xiaofan Wang Department of Automation, Shanghai Jiao Tong University,
All-Pairs Shortest Paths & Essential Subgraph 01/25/2005 Jinil Han.
MA/CSSE 473 Day 28 Dynamic Programming Binomial Coefficients Warshall's algorithm Student questions?
Approximate Distance Oracles Mikkel Thorup and Uri Zwick Presented By Shiri Chechik.
The Traveling Salesman Problem Over Seventy Years of Research, and a Million in Cash Presented by Vladimir Coxall.
Graph Algorithms Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar Adapted for 3030 To accompany the text ``Introduction to Parallel Computing'',
Data Structures & Algorithms Graphs
1 30 November 2006 An Efficient Nearest Neighbor (NN) Algorithm for Peer-to-Peer (P2P) Settings Ahmed Sabbir Arif Graduate Student, York University.
DYNAMICALLY COMPUTING FASTEST PATHS FOR INTELLIGENT TRANSPORTATION SYSTEMS MEERA KRISHNAN R.
Shortest Paths in Decremental, Distributed and Streaming Settings 1 Danupon Nanongkai KTH Royal Institute of Technology BIRS, Banff, March 2015.
Exponential random graphs and dynamic graph algorithms David Eppstein Comp. Sci. Dept., UC Irvine.
A randomized linear time algorithm for graph spanners Surender Baswana Postdoctoral Researcher Max Planck Institute for Computer Science Saarbruecken,
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
AS Decision Maths Tips for each Topic. Kruskal and Prim What examiner’s are looking for A table of values in the order that they are added and the total.
Data Structures for Emergency Planning Cyril Gavoille (LaBRI, University of Bordeaux) 8 th FoIKS Bordeaux – March 3, 2014.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
Improved Randomized Algorithms for Path Problems in Graphs
Program based on pointers in C.
CS 3343: Analysis of Algorithms
CS120 Graphs.
Graphs & Graph Algorithms 2
Randomized Algorithms CS648
Graphs All tree structures are hierarchical. This means that each node can only have one parent node. Trees can be used to store data which has a definite.
Graphs Chapter 11 Objectives Upon completion you will be able to:
Improved dynamic reachability algorithms for directed graphs
ITEC 2620M Introduction to Data Structures
Dynamic Graph Algorithms
Compact routing schemes with improved stretch
Alan Kuhnle*, Victoria G. Crawford, and My T. Thai
New Jersey, October 9-11, 2016 Field of theoretical computer science
Presentation transcript:

Improved Randomized Algorithms for Path Problems in Graphs PhD Thesis Surender Baswana Department of Computer Science & Engineering, I.I.T. Delhi Research supported in parts by a PhD fellowship from Infosys Technologies Ltd. Bangalore

Organization of the talk  Practical importance of algorithms/theoretical computer science.  Description of the problems addressed during PhD.  Application of the problems, and new results.  What I gained from my PhD.  My experiences, esp. invaluable support from Infosys.

Theoretical Computer Science  Is it feasible to solve a problem ?  Is a problem practically tractable ? Traveling Salesman Problem : Given a set of cities, find the tour of least distance. No algorithm that performs better than 2 n operations.  Designing algorithm for solving a problem that requires minimum time (# of operations) and optimal storage.

Sorting Algorithms  Selection sort, Bubble sort, Insertion sort n 2 comparisons in worst case  Merge Sort : n log 2 n comparisons in worst case  Quick sort : (A randomized algorithm) n 2 comparisons in worst case n log 2 n comparisons on an average  Quick sort performs better than all the sorting algorithms Practically.  Probability that quick sort deviates from its expected running time asymptotically is less than 2 –cn.

Path Problems in Graphs Process a given graph G(V,E) so that we can retrieve a path with certain characteristics between each pair of vertices. n = number of vertices in a given graph. m = number of edges in a given graph.

A Directed Graph

A Directed Weighted Graph

All Pairs Reachability (Transitive Closure) Given a pair of vertices x,y in V, Is there a path from x to y ?

All-Pairs Reachability (Transitive Closure) x y

x y Processing time : mn

All-Pairs Shortest Paths Given a pair of vertices x,y in V, report the shortest path (or distance) from x to y.

All-Pairs Shortest Paths x y a b c d e

All-Pairs Shortest Paths x y a b c d e x-b-e-y x-b-c-d-e-y x-a-y Processing time : mn log n

A Network Design Problem

Objective To minimize the number of links to be selected without increasing the route time between any pair of nodes too much.

An Example

An Example X Y A B C F

k-Spanner of a Weighted Graph Given a graph G(V,E), a sub-graph G S (V,E’) is said to be k-spanner if for each u,v in V, d s (u,v) ≤ k. d(u,v)

Application of Sparse Spanner  Network design, especially for making succinct routing tables.  Computational biology : in the reconstruction of phylogeny trees from matrices whose entries represent distances among contemporary living species.  Design of network synchronizers, and computation of all-pairs approximate shortest paths.

Computing a Sparse k-Spanner  Objective : a Sparse spanner with minimum stretch  A trade off between stretch and the size  A k-spanner in the worst case may need at-least n 1+1/k edges.  Example : There can’t be a 3-spanner with less than n 3/2 edges for every graph.

Algorithms for Computing (2k-1)-Spanner PersonsReferenceStretchRunning time Das, et al.Journal : DCG, 93 (2k-1) mn 1+1/k Thorup and Zwick Conf. : ACM STOC, 2001 (2k-1) mn 1/k

Algorithms for computing (2k-1)-spanner PersonsReferenceStretchRunning time Das, et al.Journal : DCG, 93 (2k-1) mn 1+1/k Thorup and Zwick Conf. : ACM STOC, 2001 (2k-1) mn 1/k Baswana and Sen Conf. : ICALP, 2003 (2k-1) m

Approximate Distance Oracles  Usually all-pairs shortest distances are stored in an nхn matrix.  Is it possible to require less than n 2 storage and still answer a distance query in constant time?  Yes, but at the expense of introducing approximation.  3-Approximate Distance oracle of size n 3/2

Advantage of Approximate Distance Oracles  For answering shortest path queries in external-memory

Advantage of Approximate Distance Oracles  For answering shortest path queries in external-memory RAM Hard-DiskCPU FastSlow

Approximate Distance Oracles  Thorup and Zwick [STOC’01] gave first algorithm for computing approximate distance oracle with Size : n 1+1/k Stretch : 2k-1  Preporcessing time for building a (2k-1)-approximate distance oracle : mn 1/k  Worst case preprocessing time for 3-Approximate Distance Oracle would be n 2.5.  Question : Can 3-approximate distance oracle be computed in n 2 time ?

Algorithms for Computing All-Pairs Approximate Distance Oracle PersonReference Stretch Size Preprocessing time DijkstraAll text Books on Algorithms 1n2n2 mn

Algorithms for Computing All-Pairs Approximate Distance Oracle PersonReference Stretch Size Preprocessing time DijkstraAll text Books on Algorithms 1n2n2 mn Thorup and Zwick Conf. ACM-STOC k-1n 1+1/k mn 1/k

Algorithms for Computing All-Pairs Approximate Distance Oracle PersonReference Stretch Size Preprocessing time DijkstraAll text Books on Algorithms 1n2n2 mn Thorup and Zwick Conf. ACM-STOC k-1n 1+1/k mn 1/k Baswana and Sen Conf. ACM-SIAM SODA k-1n 1+1/k Min (mn 1/k,n 2 )

Path Problems in Dynamic Graphs

Example of a Dynamic Graph x y b c d e f g

x y b c d e f g

x y b c d e f g

x y b c d e f g

x y b c d e f g

A Dynamic Graph Problem  Given a graph G=(V,E)  Online sequence of queries interspersed with updates.  Objective : 1. To Answer each query efficiently in online fashion. 2. Perform updates in the solution efficiently.  Naive Solution : After every update, re-compute the solution right from scratch.

A Dynamic Graph Algorithm  Maintain some data-structure that can answer each query efficiently.  The time required to maintain the data-structure after each update is much less than the static graph algorithm.  For each static graph algorithm/problem, there is a dynamic graph algorithm/problem as its counterpart.

Applications of Dynamic Graph Algorithms  Communication networks.  Relational databases augmented with transitive closure.  Incremental parser generator.

Maintaining All-Pairs Reachability under Deletion of edges  Static algorithm requires mn time.  A combination of algorithms of Demetrescu et al. [IEEE FOCS 2000] and Leeuwen et al. [TCS 1991] requires n 3/2 update time per edge deletion  Baswana S., Hariharan R., Sen S. design an algorithm that requires n 4/3 update time per edge deletion

Maintaining All-Pairs Shortest Paths under Deletion of Edges  Static algorithm requires mn time.  An algorithm of Demetrescu and Italiano [IEEE FOCS 2001] requires n 3 /m update time per edge deletion  For sparse graphs, the update time of above algorithm : n 2  Baswana S., Hariharan R., Sen S. design an algorithm that requires n 3/2 update time per edge deletion for all graphs  Proceedings of 34 th Annual ACM Symposium on Theory of Computing, Montreal, Quebec, Canada, May 19-21, 2002.

Maintaining All-Pairs Approximate Shortest Paths under Deletion of Edges  Improved static algorithms for shortest paths at the expense of approximation.  Can we achieve better update time for maintaining approximate shortest paths?  Baswana S., Hariharan R., Sen S. design an algorithm that requires Close to n update time per edge deletion  Proceedings of 14 th Annual ACM-SIAM Symposium on Discrete Algorithms, Baltimore, Maryland, USA, January 12-14, 2003.

Maintaining All-Pairs Approximate Shortest Paths under Deletion of Edges Stretch factorUpdate time 3n 10/9 5n 14/13 7n 28/27

A Linear time Algorithm for computing a 3-spanner  Objective : Select no more than n 3/2 edges and ensure a stretch of 3 at-most.  Vertices of degree more than n ½ are difficult to handle.  Solution : * Clustering of vertices * Random sampling to form clusters

A Linear time Algorithm for computing a 3-spanner.  Sample n ½ vertices uniformly randomly  If a vertex v is not adjacent to any sample vertex, select all its edges for spanner.  Otherwise, add all the edges having weight less than that of the edge between the vertex and its nearest sampled vertex n v.  The vertex v belongs to the cluster centered at n v

The Linear time Algorithm contd. v

v

Analyzing the correctness of algorithm  Consider an edge u-v not present in the spanner.  Both u and v must belong to clusters.  Case1 : both u and v belong to same cluster  Case2 : both u and v belong to different clusters u v w v u w u’

Gains from my PhD  Fulfilled the desire of working in theoretical computer science.  A beginning of research.  The joy of exploring a research area of my interest independently.  Analytical skills that may be applied in diverse areas.

Invaluable support from Infosys  Every research need fulfilled.  Used the generous contingency grant for buying a few of my dream books.  Used the support for traveling to conferences abroad.  PhD won’t have been completed so peacefully without Infosys Fellowship.