A randomized linear time algorithm for graph spanners Surender Baswana Postdoctoral Researcher Max Planck Institute for Computer Science Saarbruecken,

Slides:



Advertisements
Similar presentations
all-pairs shortest paths in undirected graphs
Advertisements

Lower Bound for Sparse Euclidean Spanners Presented by- Deepak Kumar Gupta(Y6154), Nandan Kumar Dubey(Y6279), Vishal Agrawal(Y6541)
Approximate Distance Oracles and Spanners with sublinear surplus Mikkel Thorup AT&T Research Uri Zwick Tel Aviv University.
Compact and Low Delay Routing Labeling Scheme for Unit Disk Graphs Chenyu Yan, Yang Xiang, and Feodor F. Dragan (WADS 2009) Kent State University, Kent,
Design and Analysis of Algorithms Single-source shortest paths, all-pairs shortest paths Haidong Xue Summer 2012, at GSU.
Everything you always wanted to know about spanners * *But were afraid to ask Seth Pettie University of Michigan, Ann Arbor.
Approximating Distances in Graphs Uri Zwick Tel Aviv University Otwarte wykłady dla doktorantów informatyki Instytut Informatyki Uniwersytetu Warszawskiego.
Graph Sparsifiers by Edge-Connectivity and Random Spanning Trees Nick Harvey U. Waterloo Department of Combinatorics and Optimization Joint work with Isaac.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
1 Approximate Distance Oracles Mikkel Thorup AT&T Research Uri Zwick Tel Aviv University.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Collective Additive Tree Spanners of Homogeneously Orderable Graphs
Collective Tree Spanners of Graphs with Bounded Parameters F.F. Dragan and C. Yan Kent State University, USA.
Additive Spanners for k-Chordal Graphs V. D. Chepoi, F.F. Dragan, C. Yan University Aix-Marseille II, France Kent State University, Ohio, USA.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
All-Pairs Shortest Paths
Approximate Distance Oracles for Geometric Spanner Networks Joachim Gudmundsson TUE, Netherlands Christos Levcopoulos Lund U., Sweden Giri Narasimhan Florida.
Introduction Outline The Problem Domain Network Design Spanning Trees Steiner Trees Triangulation Technique Spanners Spanners Application Simple Greedy.
The Shortest Path Problem
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Minimum Spanning Tree Algorithms. What is A Spanning Tree? u v b a c d e f Given a connected, undirected graph G=(V,E), a spanning tree of that graph.
Distance Approximating Trees in Graphs
Improved Randomized Algorithms for Path Problems in Graphs PhD Thesis Surender Baswana Department of Computer Science & Engineering, I.I.T. Delhi Research.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Graph Algorithms: Minimum.
1 Finding Sparser Directed Spanners Piotr Berman, Sofya Raskhodnikova, Ge Ruan Pennsylvania State University.
Graph Sparsifiers Nick Harvey University of British Columbia Based on joint work with Isaac Fung, and independent work of Ramesh Hariharan & Debmalya Panigrahi.
Advanced Algorithm Design and Analysis (Lecture 13) SW5 fall 2004 Simonas Šaltenis E1-215b
Approximation for Directed Spanner Grigory Yaroslavtsev Penn State + AT&T Labs (intern) Based on a paper at ICALP’11, joint with Berman (PSU), Bhattacharyya.
GRAPH SPANNERS by S.Nithya. Spanner Definition- Informal A geometric spanner network for a set of points is a graph G in which each pair of vertices is.
Near Optimal Streaming algorithms for Graph Spanners Surender Baswana IIT Kanpur.
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Spanning and Sparsifying Rajmohan Rajaraman Northeastern University, Boston May 2012 Chennai Network Optimization WorkshopSpanning and Sparsifying1.
Approximate Distance Oracles Mikkel Thorup and Uri Zwick Presented By Shiri Chechik.
Kruskal’s and Dijkstra’s Algorithm.  Kruskal's algorithm is an algorithm in graph theory that finds a minimum spanning tree for a connected weighted.
Fundamental Data Structures and Algorithms (Spring ’05) Recitation Notes: Graphs Slides prepared by Uri Dekel, Based on recitation.
Lower Bound for Sparse Euclidean Spanners Presented by- Deepak Kumar Gupta(Y6154), Nandan Kumar Dubey(Y6279), Vishal Agrawal(Y6541)
Tree Spanners on Chordal Graphs: Complexity, Algorithms, Open Problems A. Brandstaedt, F.F. Dragan, H.-O. Le and V.B. Le University of Rostock, Germany.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
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 Tree Definition:A tree T is a spanning tree of a graph G if T is a subgraph of G that contains all of the vertices of G. A graph may have more.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Cohesive Subgraph Computation over Large Graphs
Lecture 11 Graph Algorithms
Improved Randomized Algorithms for Path Problems in Graphs
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Spanners and emulators with sublinear distance errors
GRAPH SPANNERS.
Randomized Algorithms CS648
Distance Approximating Trees in Graphs Brandstaedt & Chepoi & Dragan, ESA’97, J. of Algorithms ’99, European J. of Combinatorics 2000 A graph G=(V,E)
Approximate Distance Oracles and Spanners with sublinear surplus
Basic Graph Algorithms
CS 583 Analysis of Algorithms
CSCI B609: “Foundations of Data Science”
Introduction Wireless Ad-Hoc Network
Approximating Distances in Graphs
Approximate Distance Oracles
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Dynamic Graph Algorithms
Compact routing schemes with improved stretch
CSE 417: Algorithms and Computational Complexity
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Lecture 10 Graph Algorithms
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Lecture 24 Vertex Cover and Hamiltonian Cycle
Routing in Networks with Low Doubling Dimension
More Graphs Lecture 19 CS2110 – Fall 2009.
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

A randomized linear time algorithm for graph spanners Surender Baswana Postdoctoral Researcher Max Planck Institute for Computer Science Saarbruecken, Germany

Graph Spanners Definition : Given a graph G=(V,E), a spanner is a sub-graph G=(V,E s ) which has the following two crucial properties

Graph Spanners Definition : Given a graph G=(V,E), a spanner is a sub-graph G=(V,E s ) which has the following two crucial properties 1. sparse

Graph Spanners Definition : Given a graph G=(V,E), a spanner is a sub-graph G=(V,E s ) which has the following two crucial properties 1. sparse 2. preserves approximate distances pair-wise.

Graph Spanners Definition : Given a graph G=(V,E), a spanner is a sub-graph G=(V,E s ) which has the following two crucial properties 1. sparse 2. preserves approximate distances pair-wise. δ(u,v) ≤ δ s (u,v) ≤ t δ(u,v) for some constant t ≥ 1

Graph Spanners Definition : Given a graph G=(V,E), a spanner is a sub-graph G=(V,E s ) which has the following two crucial properties 1. sparse 2. preserves approximate distances pair-wise. δ(u,v) ≤ δ s (u,v) ≤ t δ(u,v) for some constant t ≥ 1 t : stretch of the spanner

Communication network : Motivation for spanners

Each edge has cost weight (length)

Communication network : Motivation for spanners Minimizing the total cost :sparseness is desirable

Communication network : Motivation for spanners Minimizing the total cost :sparseness is desirable u v

Communication network : Motivation for spanners Minimizing the pair-wise distances : small stretch is desirable

Communication network : Motivation for spanners Minimizing the pair-wise distances : small stretch is desirable

Graph spanners A trade off between sparseness and stretch

Graph spanners A trade off between sparseness and stretch Sparse δ(u,v) ≤ δ s (u,v) ≤ t δ(u,v)

Graph spanners A trade off between sparseness and stretch Sparse δ(u,v) ≤ δ s (u,v) ≤ t δ(u,v) t-Spanner

Aim : To compute the sparsest spanner of a weighted graph with stretch t.

Applications of Graph Spanner Distributed Computing Design of Synchronizers Compact routing tables Computational Biology Reconstruction of Phylogenetic trees All-pairs Approximate Shortest Paths

Organization of the talk Optimal size of a t-spanner Earlier algorithms A algorithm

Optimal size of a t-spanner

u v

u v

u v ???Length of Smallest cycle= t

Optimal size of a t-spanner u v stretch ≥ t-1Length of Smallest cycle= t

Optimal size of a t-spanner u v stretch ≥ t-1Length of Smallest cycle= t How dense can a graph with shortest cycle length ≥ t be ?

Optimal size of a t-spanner u v stretch ≥ t-1 Girth Conjecture [ Erdös[1960], Bondy & Simonovits [1974], Bollobas [1978] ] There are graph with shortest cycle length > 2k and Ω(n 1+1/k ) edges Length of Smallest cycle= t

Optimal size of a t-spanner Let k be any positive integer There are graphs whose (2k-1)-spanner (a 2k-spanner) must have Ω(n 1+1/k ) edges

Optimal size of a t-spanner Let k be any positive integer There are graphs whose (2k-1)-spanner (a 2k-spanner) must have Ω(n 1+1/k ) edges 4- spanner and 3-spanner : Ω(n 3/2 ) 6-spanner and 5-spanner : Ω(n 5/4 ) 8-spanner and 7-spanner : Ω(n 7/6 )

Aim of an Algorithmist A To design an algorithm A such that A G=(V, E) G=(V, E s ) |E S | = O (minimum (m, n 1+1/k )) Input Graph (2k-1)-Spanner

Earlier algorithms for (2k-1)-spanner

Earlier algorithms for graph spanners Althofer, Das, Dobkin,Joseph, Soares DCG 19932k-1 O(mn 1+1/k )O(n 1+1/k ) Cohen SIAM J. Computing 1998 (2k-1)(1+ε) O(mn 1/k )O(n 1+1/k ) Thorup, Zwick JACM 20052k-1 O(mn 1/k ) (randomized) O(n 1+1/k ) StretchConstruction Time Size

Althofer, Das, Dobkin,Joseph, Soares DCG 19932k-1 O(mn 1+1/k )O(n 1+1/k ) Cohen SIAM J. Computing 1998 (2k-1)(1+ε) O(mn 1/k )O(n 1+1/k ) Thorup, Zwick JACM 20052k-1 O(mn 1/k ) (randomized) O(n 1+1/k ) StretchConstruction Time Size Can we Compute (2k-1)-spanners in linear time ?

Computing a (2k-1)-spanner in expected O(m) time A algorithm Computing a (2k-1)-spanner in expected O(m) time

Local approach Let G=(V,E S ) be a spanner of G=(V,E) Edge in Spanner Edge not in Spanner

Local approach Let G=(V,E S ) be a spanner of G=(V,E) Edge in Spanner Edge not in Spanner

Local approach Let G=(V,E S ) be a spanner of G=(V,E) 2 1t-1 ≤w≤w ≤w≤w ≤w≤w ≤w≤w w P t : For each edge not in the spanner, there is a path in the spanner connecting its endpoints with at-most t edges none heavier than the edge Edge not in Spanner Edge in Spanner

Local approach Let G=(V,E S ) be a spanner of G=(V,E) uv 2 1t-1 ≤w≤w ≤w≤w ≤w≤w ≤w≤w w P t : For each edge not in the spanner, there is a path in the spanner connecting its endpoints with at-most t edges none heavier than the edge Edge not in Spanner Edge in Spanner

Local approach Let G=(V,E S ) be a spanner of G=(V,E) uv 2 1t-1 ≤w≤w ≤w≤w ≤w≤w ≤w≤w w P t : For each edge not in the spanner, there is a path in the spanner connecting its endpoints with at-most t edges none heavier than the edge Edge not in Spanner Edge in Spanner t-spanner

New Algorithms for (2k-1)-spanner An External-memory algorithm for (2k-1)-spanner Time complexity : Integer sorting

New Algorithms for (2k-1)-spanner A distributed algorithm for (2k-1)-spanner : Number of Rounds : O(1), Communication complexity : O(m) (linear)

New Algorithms for (2k-1)-spanner A streaming algorithm for (2k-1)-spanner Number of passes : O(1) Processing time per edge : O(1)

Algorithm for 3-spanner

Algorithm for 3-spanner Easy case : fewer than edges Algorithm for 3-spanner Easy case : fewer than n ½ edges

Algorithm for 3-spanner Difficult case : much more than edges Algorithm for 3-spanner Difficult case : much more than n ½ edges

Which n ½ edges to select ?

Algorithm for 3-spanner Phase 1 : Clustering Phase 2 : Adding edges between vertices and clusters Initially all edges are Red

Algorithm for 3-spanner Phase 1 : Clustering Phase 2 : Adding edges between vertices and clusters center Initially all edges are Red

Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p.

Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows

Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex

Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. v S V \S

Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. v S V \S

Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. 2. If v is adjacent to some sampled vertex S V \S

Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. 2. If v is adjacent to some sampled vertex. weights v x S V \S

Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p. 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. 2. If v is adjacent to some sampled vertex. weights v x S V \S

Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. 2. If v is adjacent to some sampled vertex. weights v x S V \S

Algorithm for 3-spanner Phase 1 : Clustering 1. S : select each vertex independently with probability p 2. Process each v Є V \S as follows 1. If v is not adjacent to any sampled vertex. add all its edges. 2. If v is adjacent to some sampled vertex. weights x v S V \S

Algorithm for 3-spanner Phase 1 : Clustering G=(V,E)G=(V 1,E 1 ) Phase 1 Spanner (partial) Remaining Red edges

Algorithm for 3-spanner Phase 1 : Clustering G=(V,E)G=(V 1,E 1 ) Every v Є V 1 is clustered vo Phase 1 Spanner (partial) Remaining Red edges

Algorithm for 3-spanner Phase 1 : Clustering G=(V,E)G=(V 1,E 1 ) Every v Є V 1 is clustered Every red edge (w-v) Є E 1 is vo Phase 1 Spanner (partial) Remaining Red edges

Algorithm for 3-spanner Phase 1 : Clustering G=(V,E)G=(V 1,E 1 ) Every v Є V 1 is clustered Every red edge (w-v) Є E 1 is at-least as heavy as (v-o) vo Phase 1 Spanner (partial) Remaining Red edges

Algorithm for 3-spanner Phase 1 : Clustering G=(V,E)G=(V 1,E 1 ) Every v Є V 1 is clustered Every red edge (w-v) Є E 1 is at-least as heavy as (v-o) vo Phase 1 Spanner (partial) Observation I Red edgesRemaining Red edges

Algorithm for 3-spanner Difficult case : much more than edges Algorithm for 3-spanner Difficult case : much more than n ½ edges Which n ½ edges to select ?

Algorithm for 3-spanner Difficult case : much more than edges Algorithm for 3-spanner Difficult case : much more than n ½ edges v

Algorithm for 3-spanner Phase 2 : adding edges between vertices and clusters v

Analysis of the algorithm Size of the spanner Edges added during Phase 1 + Edges added during Phase 2 n/p + n 2 p = n 3/2, for p = 1/√n Correctness ??

Spanner has stretch 3 Property holds Spanner has stretch 3 Property P 3 holds xy

xy Both x and y are clustered

Spanner has stretch 3 Property holds Spanner has stretch 3 Property P 3 holds xy yx

xy yx Observation I

Spanner has stretch 3 Property holds Spanner has stretch 3 Property P 3 holds xy yx yx o

xy yx yx o ß α z

xy yx yx o ß α z Observation I

Algorithm for (2k-1)-spanner

n n 1-1/k n 1/k V0V0 V1V1 V k-1 #Vertices#Clusters

Algorithm for (2k-1)-spanner Invariant : At level i, we have graph G=(V i,E i ) Every vertex in V i is clustered For every edge e Є E i i edges e

An open problem Fully Dynamic algorithm for (2k-1)-spanner ?

Thank you