improved randomized algorithms for path problems in graphs

118
Improved Randomized Improved Randomized Algorithms for Path Algorithms for Path Problems in Graphs Problems in Graphs Surender Baswana Postdoctoral Researcher Max Planck Institute for Computer Science

Upload: zea

Post on 21-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Improved Randomized Algorithms for Path Problems in Graphs. Surender Baswana Postdoctoral Researcher Max Planck Institute for Computer Science. Path Problems in Graph. Given a graph, report a path with certain characteristics. Path Problems in Graph. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Improved Randomized Algorithms for Path Problems in Graphs

Improved Randomized Improved Randomized Algorithms for Path Problems in Algorithms for Path Problems in

GraphsGraphs

Surender Baswana

Postdoctoral Researcher Max Planck Institute for Computer

Science

Page 2: Improved Randomized Algorithms for Path Problems in Graphs

Path Problems in GraphPath Problems in Graph

Given a graph, report a path with certain characteristics

Page 3: Improved Randomized Algorithms for Path Problems in Graphs

Path Problems in GraphPath Problems in Graph

Given a graph, report a path with certain characteristics

Transitive closure

Page 4: Improved Randomized Algorithms for Path Problems in Graphs

Path Problems in GraphPath Problems in Graph

Given a graph, report a path with certain characteristics

Transitive closure

All-pairs shortest paths

Page 5: Improved Randomized Algorithms for Path Problems in Graphs

Query paradigm of a path Query paradigm of a path problemproblem

Given a graph G=(V,E)

Page 6: Improved Randomized Algorithms for Path Problems in Graphs

Query paradigm of a path Query paradigm of a path problemproblem

Given a graph G=(V,E)

A sequence of path queries

Page 7: Improved Randomized Algorithms for Path Problems in Graphs

Query paradigm of a path Query paradigm of a path problemproblem

Given a graph G=(V,E)

A sequence of path queries

Answer each path query online

Page 8: Improved Randomized Algorithms for Path Problems in Graphs

Path Problems in Path Problems in staticstatic settings settings

Preprocess a given graph G=(V,E) to form a data-structure that can answer a path query in optimal time.

Page 9: Improved Randomized Algorithms for Path Problems in Graphs

Path Problems in Path Problems in dynamicdynamic settingssettings

A graph G=(V,E) ,

Page 10: Improved Randomized Algorithms for Path Problems in Graphs

Path Problems in Path Problems in dynamicdynamic settingssettings

A graph G=(V,E) ,

q, q, u , u , q , u , u , u , u , q , q , u , …

Page 11: Improved Randomized Algorithms for Path Problems in Graphs

Path Problems in Path Problems in dynamicdynamic settingssettings

AIM : Maintain a data-structure

Page 12: Improved Randomized Algorithms for Path Problems in Graphs

Path Problems in Path Problems in dynamicdynamic settingssettings

AIM : Maintain a data-structure

Answer each query in optimal time

Page 13: Improved Randomized Algorithms for Path Problems in Graphs

Path Problems in Path Problems in dynamicdynamic settingssettings

AIM : Maintain a data-structure

Answer each query in optimal time

Requires less update time

Page 14: Improved Randomized Algorithms for Path Problems in Graphs

Organization of the talkOrganization of the talk

Static algorithms All-pairs approximate shortest paths Graph Spanners

Dynamic algorithms Transitive closure All-pairs shortest paths

Open Problems

Page 15: Improved Randomized Algorithms for Path Problems in Graphs

Organization of the talkOrganization of the talk

Static algorithms All-pairs approximate shortest paths Graph Spanners

Dynamic algorithms Transitive closure All-pairs shortest paths

Open Problems

Page 16: Improved Randomized Algorithms for Path Problems in Graphs

All-pairs approximate shortest All-pairs approximate shortest pathspaths

Page 17: Improved Randomized Algorithms for Path Problems in Graphs

All-Pairs Shortest PathsAll-Pairs Shortest Paths

Given a graph G=(V,E), preprocess it to compute shortest-path for every pair of vertices u,v ЄV.

|V|=n, |E|=m δ(u,v) : distance from u to v

One of the most fundamental algorithmic graph problem

Page 18: Improved Randomized Algorithms for Path Problems in Graphs

Existing algorithms for APSPExisting algorithms for APSP

Floyd and WarshalO(n3)

Pettie [ICALP 2002, TCS 2004]O(mn+n2 log log n)

Zwick [ISAAC 2004]O(n3 (log log n)1/2/log n)

Page 19: Improved Randomized Algorithms for Path Problems in Graphs

Sub-cubic algorithms for APSPSub-cubic algorithms for APSP

Fast Matrix Multiplication Subroutine

G=(V,E) Distance matrix

Page 20: Improved Randomized Algorithms for Path Problems in Graphs

Are there simple and efficient algorithms for APSP with

sub-cubic preprocessing time ?

sub-quadratic space data-structure ?

Page 21: Improved Randomized Algorithms for Path Problems in Graphs

Are there simple and efficient algorithms for APSP with

sub-cubic preprocessing time ?

sub-quadratic space data-structure ?

At the cost of approximation

Page 22: Improved Randomized Algorithms for Path Problems in Graphs

All-pairs approximate shortest All-pairs approximate shortest PathsPaths

Some error ε in the distance δ*

Additive error ε = kδ(u,v) ≤ δ*(u,v) ≤ δ(u,v) + k

Multiplicative error ε = t δ(u,v) ≤ δ*(u,v) ≤ t δ(u,v)

Page 23: Improved Randomized Algorithms for Path Problems in Graphs

Existing algorithms for APASP in undirected graph

Algorithms with additive error Aingworth et al. [SODA 1996, SICOMP 1999] Dor et al. [FOCS 1996, SICOMP 1999]

Algorithms with multiplicative error Cohen [SICOMP 1998] Cohen & Zwick [SODA 1997, J. Algo. 2001] Thorup & Zwick [STOC 2001]

Algorithms with additive and multiplicative error Elkin [PODC 2001]

Page 24: Improved Randomized Algorithms for Path Problems in Graphs

Approximate Distance OracleApproximate Distance Oracle[[Thorup & Zwick, Thorup & Zwick, STOC 2001STOC 2001]]

Given a positive integer k

Preprocessing time O(kmn1/k) Data-structure of size O(kn1+1/k) Answer any approximate distance query in O(k)

time

δ(u,v) ≤ δ*(u,v) ≤ (2k-1) δ(u,v)

Page 25: Improved Randomized Algorithms for Path Problems in Graphs

Approximate Distance OracleApproximate Distance Oracle[[Thorup & Zwick, Thorup & Zwick, STOC 2001STOC 2001]]

Given a positive integer k

Preprocessing time O(kmn1/k) Data-structure of size O(kn1+1/k) Answer any approximate distance query in O(k)

time

δ(u,v) ≤ δ*(u,v) ≤ (2k-1) δ(u,v)

(2k-1)-approx. distance oracle

Page 26: Improved Randomized Algorithms for Path Problems in Graphs

Approximate Distance OracleApproximate Distance Oracle[[Thorup & Zwick, Thorup & Zwick, STOC 2001STOC 2001]]

Given a positive integer k

Preprocessing time O(kmn1/k) Data-structure of size O(kn1+1/k) : Optimal: Optimal Answer any approximate distance query in O(k)

time

δ(u,v) ≤ δ*(u,v) ≤ (2k-1) δ(u,v)

(2k-1)-approx. distance oracle

Page 27: Improved Randomized Algorithms for Path Problems in Graphs

Approximate distance oracles for Approximate distance oracles for

un-weighted graphsun-weighted graphs

B, Sen

SODA 2004

2k-1 O(kn1+1/k) min(mn1/k, n2 log n)

Stretch

Size Preprocessing time

Page 28: Improved Randomized Algorithms for Path Problems in Graphs

All-pairs All-pairs tt-approximate shortest -approximate shortest paths, for paths, for t<3t<3

Page 29: Improved Randomized Algorithms for Path Problems in Graphs

All-pairs All-pairs 22-approx. shortest path-approx. shortest path

A : algorithm for (2-ε)-approximate shortest paths

B,C : two nΧn boolean matrices

Page 30: Improved Randomized Algorithms for Path Problems in Graphs

All-pairs All-pairs 22-approx. shortest path-approx. shortest path

A : algorithm for (2-ε)-approximate shortest paths

B,C : two nΧn boolean matrices

Linear time

B,CA

GB,CBΧC

Page 31: Improved Randomized Algorithms for Path Problems in Graphs

All-pairs All-pairs 22-approx. shortest path-approx. shortest path

A : algorithm for (2-ε)-approximate shortest paths

B,C : two nΧn boolean matrices

Linear time

B,CA

GB,CBΧC

All-pairs (2- ε)-approx. paths is as difficult as Boolean matrix multiplication

Page 32: Improved Randomized Algorithms for Path Problems in Graphs

All-pairs All-pairs 22-approx. shortest path-approx. shortest path [ [Cohen & Zwick, SICOMP 2000]]

G=(V,E) : Undirected weighted graph

Preprocessing time : O(m1/2n3/2)

Space : O(n2)

Page 33: Improved Randomized Algorithms for Path Problems in Graphs

All-pairs 2-approx. shortest paths

2.0

ω2.376

2.5

Upper bound

Lower bound

Page 34: Improved Randomized Algorithms for Path Problems in Graphs

All-pairs 2-approx. shortest paths

2.0

ω2.376

2.5

Upper bound

Lower bound

Algorithm 1 Õ(m2/3n + n2)

δ(u,v) ≤ δ*(u,v) ≤ 2δ(u,v) + 1

Page 35: Improved Randomized Algorithms for Path Problems in Graphs

All-pairs 2-approx. shortest paths

2.0

ω2.376

2.5

Upper bound

Lower bound

Algorithm 1 Õ(m2/3n + n2)

δ(u,v) ≤ δ*(u,v) ≤ 2δ(u,v) + 1

Algorithm 2 Õ(n2)

δ(u,v) ≤ δ*(u,v) ≤ 2δ(u,v) + 3

Page 36: Improved Randomized Algorithms for Path Problems in Graphs

Graph SpannersGraph Spanners

Page 37: Improved Randomized Algorithms for Path Problems in Graphs

Graph SpannersGraph Spanners

Definition : Given a graph G=(V,E), a sub-graph G=(V,Es) that is

sparse and yet preserves approximate distances pair-wise.

Page 38: Improved Randomized Algorithms for Path Problems in Graphs

Graph SpannersGraph Spanners

Definition : Given a graph G=(V,E), a sub-graph G=(V,Es) that is

sparse and yet preserves approximate distances pair-wise.

Multiplicative t-spanner : δ(u,v) ≤ δs(u,v) ≤ t δ(u,v)

Page 39: Improved Randomized Algorithms for Path Problems in Graphs

Graph SpannersGraph Spanners

Definition : Given a graph G=(V,E), a sub-graph G=(V,Es) that is

sparse and yet preserves approximate distances pair-wise.

Multiplicative t-spanner : δ(u,v) ≤ δs(u,v) ≤ t δ(u,v)

Additive t-spanner :δ(u,v) ≤ δs(u,v) ≤ δ(u,v) + t

Page 40: Improved Randomized Algorithms for Path Problems in Graphs

Applications of Graph SpannerApplications of Graph Spanner

Distributed Computing Design of Synchronizers Compact routing tables

Computational Biology Reconstruction of Phylogenetic trees

All-pairs Approximate Shortest Paths

Page 41: Improved Randomized Algorithms for Path Problems in Graphs

Multiplicative SpannersMultiplicative Spanners

Page 42: Improved Randomized Algorithms for Path Problems in Graphs

Multiplicative SpannerMultiplicative Spannersize versus approximationsize versus approximation

u v

Page 43: Improved Randomized Algorithms for Path Problems in Graphs

Multiplicative SpannerMultiplicative Spannersize versus approximationsize versus approximation

u v

t

Page 44: Improved Randomized Algorithms for Path Problems in Graphs

Multiplicative SpannerMultiplicative Spannersize versus approximationsize versus approximation

u v

girth = t stretch ≥ t-1

Page 45: Improved Randomized Algorithms for Path Problems in Graphs

Multiplicative SpannerMultiplicative Spannersize versus approximationsize versus approximation

u v

girth = t stretch ≥ t-1

Erdös[1960], Bondy & Simonovits [1974], Bollobas [1978] :For all k≥1, there are graphs with Ω(n1+1/k) edges and girth >2k

Page 46: Improved Randomized Algorithms for Path Problems in Graphs

Multiplicative SpannerMultiplicative Spannersize versus approximationsize versus approximation

For k ≥1, a (2k-1)-spanner may have Ω(n1+1/k) edges

Page 47: Improved Randomized Algorithms for Path Problems in Graphs

Multiplicative Spanner : ResultsMultiplicative Spanner : Results

Althofer, Das, Dobkin,Joseph, Soares

DCG,1993 2k-1 O(mn1+1/

k)O(n1+1/k)

Thorup, Zwick STOC,2001

2k-1 O(mn1/k) O(kn1+1/k)

Stretch

ConstructionTime

Size

Page 48: Improved Randomized Algorithms for Path Problems in Graphs

Multiplicative Spanner : ResultsMultiplicative Spanner : Results

Althofer, Das, Dobkin,Joseph, Soares

DCG,1993 2k-1 O(mn1+1/

k)O(n1+1/k)

Thorup, Zwick STOC,2001

2k-1 O(mn1/k) O(kn1+1/k)

Stretch

ConstructionTime

Size

Can we Compute Can we Compute (2k-1)-(2k-1)-spanners in linear time ?spanners in linear time ?

Page 49: Improved Randomized Algorithms for Path Problems in Graphs

Multiplicative Spanner : ResultsMultiplicative Spanner : Results

Althofer, Das, Dobkin,Joseph, Soares

DCG,1993 2k-1 O(mn1+1/

k)O(n1+1/k)

Thorup, Zwick STOC,2001

2k-1 O(mn1/k) O(kn1+1/k)

B, Sen ICALP,2003

2k-1 O(m) O(kn1+1/k)

Stretch

ConstructionTime

Size

Page 50: Improved Randomized Algorithms for Path Problems in Graphs

Local approachLocal approach

u v

Edge in Spanner

Edge not in Spanner

Page 51: Improved Randomized Algorithms for Path Problems in Graphs

Local approachLocal approach

u v

2

1 i-1

≤w

≤w ≤w

≤w

w

Pi : For each edge not in Es , there is a path connecting its endpoints• with at-most i edges• none heavier than the edge

Page 52: Improved Randomized Algorithms for Path Problems in Graphs

NewNew Algorithms for ( Algorithms for (2k-12k-1)-)-spannerspanner

External-memory : Integer sorting

Parallel algorithm O(t) for t > log*n

Distributed Algorithm O(1) rounds, linear communication

complexity

Page 53: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spanner

Page 54: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerEasy caseEasy case : fewer than : fewer than n½ edges edges

Page 55: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerDifficult caseDifficult case : much more than : much more than n½ edges edges

Page 56: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerDifficult caseDifficult case : much more than : much more than n½ edges edges

Which n½ edges to select ?

Page 57: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spanner

Phase 1 : Clustering

Phase 2 : Adding edges between vertices and clusters

Page 58: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spanner

Phase 1 : Clustering

Phase 2 : Adding edges between vertices and clusters

center

Page 59: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

1. Select each vertex r.i. with probability p to be a cluster center

Page 60: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

1. Select each vertex r.i. with probability p to be a cluster center

2. Process each v Є V \S as follows

Page 61: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

1. Select each vertex r.i. with probability p to be a cluster center

2. Process each v Є V \S as follows1. If v is not adjacent to any sampled vertex

Page 62: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

1. Select each vertex r.i. with probability p to be a cluster center

2. Process each v Є V \S as follows1. If v is not adjacent to any sampled vertex.

v

Page 63: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

1. Select each vertex r.i. with probability p to be a cluster center

2. Process each v Є V \S as follows1. If v is not adjacent to any sampled vertex.

v

Page 64: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

1. Select each vertex r.i. with probability p to be a cluster center

2. Process each v Є V \S as follows1. If v is adjacent to some sampled vertex

Page 65: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

1. Select each vertex r.i. with probability p to be a cluster center

2. Process each v Є V \S as follows1. If v is adjacent to some sampled vertex.

weights

v

x

Page 66: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

1. Select each vertex r.i. with probability p to be a cluster center

2. Process each v Є V \S as follows1. If v is adjacent to some sampled vertex.

weights

v

x

Page 67: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

1. Select each vertex r.i. with probability p to be a cluster center

2. Process each v Є V \S as follows1. If v is adjacent to some sampled vertex.

weights

v

x

Page 68: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

1. Select each vertex r.i. with probability p to be a cluster center

2. Process each v Є V \S as follows1. If v is adjacent to some sampled vertex.

weights

x

v

Page 69: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

G=(V,E) G=(V1,E1)Phase 1

Page 70: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

G=(V,E) G=(V1,E1)

Every v Є V1 is clustered

Phase 1

v o

Page 71: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 1 : Phase 1 : ClusteringClustering

G=(V,E) G=(V1,E1)

Every v Є V1 is clustered For each w-v Є E1

Phase 1

v ow

Page 72: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerDifficult caseDifficult case : much more than : much more than n½ edges edges

Which n½ edges to select ?

Page 73: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerDifficult caseDifficult case : much more than : much more than n½ edges edges

v

Page 74: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for 3-spannerAlgorithm for 3-spannerPhase 2 : Phase 2 : adding edges between vertices and adding edges between vertices and

clustersclusters

v

Page 75: Improved Randomized Algorithms for Path Problems in Graphs

Analysis of the algorithmAnalysis of the algorithm Correctness ??

Size of the spanner

Running time

Page 76: Improved Randomized Algorithms for Path Problems in Graphs

Analysis of the algorithmAnalysis of the algorithm Correctness ??

Size of the spanner Edges added during Phase 1 + Edges added during

Phase 2

Running time

Page 77: Improved Randomized Algorithms for Path Problems in Graphs

Analysis of the algorithmAnalysis of the algorithm Correctness ??

Size of the spanner n/p + Edges added during

Phase 2

Running time

Page 78: Improved Randomized Algorithms for Path Problems in Graphs

Analysis of the algorithmAnalysis of the algorithm Correctness ??

Size of the spanner n/p + n2p

Running time

Page 79: Improved Randomized Algorithms for Path Problems in Graphs

Analysis of the algorithmAnalysis of the algorithm Correctness ??

Size of the spanner n3/2

Running time

Page 80: Improved Randomized Algorithms for Path Problems in Graphs

Analysis of the algorithmAnalysis of the algorithm Correctness ??

Size of the spanner n3/2

Running time Modified Radix sort on the label of the edgesModified Radix sort on the label of the edges

Page 81: Improved Randomized Algorithms for Path Problems in Graphs

Spanner has stretch 3Spanner has stretch 3

x y

Page 82: Improved Randomized Algorithms for Path Problems in Graphs

Spanner has stretch 3Spanner has stretch 3

x y

Both x and y are clustered

Page 83: Improved Randomized Algorithms for Path Problems in Graphs

Spanner has stretch 3Spanner has stretch 3

x y

yx

Page 84: Improved Randomized Algorithms for Path Problems in Graphs

Spanner has stretch 3Spanner has stretch 3

x y

yx

Page 85: Improved Randomized Algorithms for Path Problems in Graphs

Spanner has stretch 3Spanner has stretch 3

x y

yx yxo

Page 86: Improved Randomized Algorithms for Path Problems in Graphs

Spanner has stretch 3Spanner has stretch 3

x y

yx yxo

ß

α

z

Page 87: Improved Randomized Algorithms for Path Problems in Graphs

Spanner has stretch 3Spanner has stretch 3

x y

yx yxo

ß

α

z

Page 88: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for (Algorithm for (2k-12k-1)-spanner)-spanner

Page 89: Improved Randomized Algorithms for Path Problems in Graphs

Reviewing 3-spanner algorithmReviewing 3-spanner algorithm[[To build 5-spannerTo build 5-spanner]]

V0 n

Page 90: Improved Randomized Algorithms for Path Problems in Graphs

Reviewing 3-spanner algorithmReviewing 3-spanner algorithm[[To build 5-spannerTo build 5-spanner]]

nV0

#Vertices #Clusters

Page 91: Improved Randomized Algorithms for Path Problems in Graphs

Reviewing 3-spanner algorithmReviewing 3-spanner algorithm[[To build 5-spannerTo build 5-spanner]]

n

n1/2

V0

V1

#Vertices #Clusters

Page 92: Improved Randomized Algorithms for Path Problems in Graphs

Reviewing 3-spanner algorithmReviewing 3-spanner algorithm[[To build 5-spannerTo build 5-spanner]]

n

n1/2

Must increase the sampling

probability

V0

V1

#Vertices #Clusters

Page 93: Improved Randomized Algorithms for Path Problems in Graphs

Reviewing 3-spanner algorithmReviewing 3-spanner algorithm[[To build 5-spannerTo build 5-spanner]]

n

n2/3

V0

V1

#Vertices #Clusters

Page 94: Improved Randomized Algorithms for Path Problems in Graphs

Computing 5-SpannerComputing 5-Spanner

n

n2/3

n1/3

V0

V1

V2

#Vertices #Clusters

Page 95: Improved Randomized Algorithms for Path Problems in Graphs

Computing 5-SpannerComputing 5-Spanner

n

n2/3

n1/3

V0

V1

V2

#Vertices #Clusters

Page 96: Improved Randomized Algorithms for Path Problems in Graphs

Algorithm for (Algorithm for (2k-12k-1)-spanner)-spanner

n

n1-1/k

n1/k

V0

V1

Vk-1

Page 97: Improved Randomized Algorithms for Path Problems in Graphs

Additive SpannersAdditive Spanners(un-weighted graphs)(un-weighted graphs)

Page 98: Improved Randomized Algorithms for Path Problems in Graphs

Algorithms for Additive SpannersAlgorithms for Additive Spanners

Aingworth et al. [SODA 1996], Elkin & Peleg [STOC 2001]

Additive 2-spanner of size O(n3/2)

Page 99: Improved Randomized Algorithms for Path Problems in Graphs

Algorithms for Additive SpannersAlgorithms for Additive Spanners

Aingworth et al. [SODA 1996], Elkin & Peleg [STOC 2001]

Additive 2-spanner of size O(n3/2)

B, Kavitha, Mehlhorn, Pettie [SODA 2005]

Additive 6-spanner of size O(n4/3)

Page 100: Improved Randomized Algorithms for Path Problems in Graphs

((αα,,ββ)-Spanner)-Spanner(un-weighted graphs)(un-weighted graphs)

Page 101: Improved Randomized Algorithms for Path Problems in Graphs

Algorithms for (α,β)-spanner

(α,β)-spannerδ(u,v) ≤ δs(u,v) ≤ α δ(u,v) + β

Elkin & Peleg [STOC 2001]

(1+ε, β)-spanner of size O(n1+γ)

Page 102: Improved Randomized Algorithms for Path Problems in Graphs

Algorithms for (α,β)-spanner

(α,β)-spannerδ(u,v) ≤ δs(u,v) ≤ α δ(u,v) + β

Elkin & Peleg [STOC 2001]

(1+ε, β)-spanner of size O(n1+γ)

β depends inverse exponentially on γ super polynomially on ε-1

Page 103: Improved Randomized Algorithms for Path Problems in Graphs

Algorithms for (α,β)-spanner

(α,β)-spannerδ(u,v) ≤ δs(u,v) ≤ α δ(u,v) + β

Elkin & Peleg [STOC 2001]

(1+ε, β)-spanner of size O(n1+γ)

B, Kavitha, Mehlhorn, Pettie [SODA 2005]

Linear time algorithm for (k,k-1)-spanner of size O(n1+1/k)

Page 104: Improved Randomized Algorithms for Path Problems in Graphs

Dynamic AlgorithmsDynamic Algorithms

Page 105: Improved Randomized Algorithms for Path Problems in Graphs

Dynamic AlgorithmsDynamic AlgorithmsTransitive ClosureTransitive Closure

Leeuwen & Poutre

TCS 1991 O(1) O(m)

Demetrescu & Italiano

FOCS 2000 O(1) O(n3/m)

Query time Update time per edge-del.

Page 106: Improved Randomized Algorithms for Path Problems in Graphs

Dynamic AlgorithmsDynamic AlgorithmsTransitive ClosureTransitive Closure

Leeuwen & Poutre

TCS 1991 O(1) O(m)

Demetrescu & Italiano

FOCS 2000 O(1) O(n3/m)

B. & Sen STOC 2002 O(1) O(n2/√m)

Query time Update time per edge-del.

Page 107: Improved Randomized Algorithms for Path Problems in Graphs

Dynamic AlgorithmsDynamic AlgorithmsTransitive ClosureTransitive Closure

Leeuwen & Poutre

TCS 1991 O(1) O(m)

Demetrescu & Italiano

FOCS 2000 O(1) O(n3/m)

B. & Sen STOC 2002 O(1) O(n2/√m)

Roditty & Zwick

FOCS 2002 O(1) O(n)

Query time Update time per edge-del.

Page 108: Improved Randomized Algorithms for Path Problems in Graphs

Dynamic AlgorithmsDynamic AlgorithmsAll-pairs approximate shortest pathsAll-pairs approximate shortest paths

Stretch Query time

Update time per edge-

del.B. & Sen SODA

20033 O(1) O(n3/2)

Page 109: Improved Randomized Algorithms for Path Problems in Graphs

Dynamic AlgorithmsDynamic AlgorithmsAll-pairs approximate shortest pathsAll-pairs approximate shortest paths

Stretch Query time

Update time per edge-

del.B. & Sen SODA

20033 O(1) O(n3/2)

Roditty & Zwick

FOCS 2004

1+ε O(1) O(n)

Page 110: Improved Randomized Algorithms for Path Problems in Graphs

Open ProblemsOpen Problems

Page 111: Improved Randomized Algorithms for Path Problems in Graphs

Open ProblemsOpen ProblemsGraph spannersGraph spanners

Additive spanners of size o(n4/3) ?

Page 112: Improved Randomized Algorithms for Path Problems in Graphs

Open ProblemsOpen ProblemsGraph spannersGraph spanners

Additive spanners of size o(n4/3) ?

O(n1+1/k) size (2k-1)-spanner for weighted graph inO(m) time?

Page 113: Improved Randomized Algorithms for Path Problems in Graphs

Open ProblemsOpen ProblemsAll-pairs approximate shortest pathsAll-pairs approximate shortest paths

All-pairs 2-approximate shortest paths O(n2+ε) lower bound

O(n2 polylog n) time algorithm without additive error

Page 114: Improved Randomized Algorithms for Path Problems in Graphs

Open ProblemsOpen ProblemsAll-pairs approximate shortest pathsAll-pairs approximate shortest paths

All-pairs 2-approximate shortest paths O(n2+ε) lower bound

O(n2 polylog n) time algorithm without additive error

Approximate Distance Oracles for weighted graphs in (n2) time

Page 115: Improved Randomized Algorithms for Path Problems in Graphs

Open ProblemsOpen ProblemsDynamic algorithmsDynamic algorithms

Demetrescu,

Italiano STOC 2003 Õ(n2) O(1)

Update time Query time

Fully dynamic all-pairs shortest paths

Page 116: Improved Randomized Algorithms for Path Problems in Graphs

Open ProblemsOpen ProblemsDynamic algorithmsDynamic algorithms

Demetrescu,

Italiano STOC 2003 Õ(n2) O(1)

Update time Query time

Fully dynamic all-pairs shortest paths

Sub-quadratic update time & O(1) query time at the cost of approximation

Page 117: Improved Randomized Algorithms for Path Problems in Graphs

OpenOpen ProblemsProblemsDynamic algorithmsDynamic algorithms

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

Page 118: Improved Randomized Algorithms for Path Problems in Graphs

Thank you Thank you