an optimal dynamic spanner for points residing in doubling metric spaces

56
An optimal dynamic An optimal dynamic spanner for points spanner for points residing in doubling residing in doubling metric spaces metric spaces Lee-Ad Gottlieb Lee-Ad Gottlieb NYU NYU Weizmann Weizmann Liam Roditty Liam Roditty Weizmann Weizmann

Upload: awena

Post on 13-Jan-2016

32 views

Category:

Documents


0 download

DESCRIPTION

An optimal dynamic spanner for points residing in doubling metric spaces. Lee-Ad Gottlieb NYU Weizmann. Liam Roditty Weizmann. Spanners. A spanner for graph G is a subgraph H H contains all vertices in G H contains only some edges of G. G. H. 1. 2. 2. 1. 1. 1. 1. Spanners. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: An optimal dynamic spanner for points residing in doubling metric spaces

An optimal dynamic spanner An optimal dynamic spanner for points residing in doubling for points residing in doubling

metric spacesmetric spaces

Lee-Ad GottliebLee-Ad GottliebNYUNYU Weizmann Weizmann

Liam RodittyLiam RodittyWeizmannWeizmann

Page 2: An optimal dynamic spanner for points residing in doubling metric spaces

SpannersSpanners

A spanner for graph G is a subgraph A spanner for graph G is a subgraph HH

• H contains all vertices in GH contains all vertices in G• H contains only some edges of GH contains only some edges of G

G

2

11

H

2

11

1

Page 3: An optimal dynamic spanner for points residing in doubling metric spaces

SpannersSpanners

Some qualities of a spannerSome qualities of a spanner• degreedegree• stretchstretch• hophop• weightweight

Applications: networks, routing…Applications: networks, routing…G

2

11

H

2

11

1

Page 4: An optimal dynamic spanner for points residing in doubling metric spaces

SpannersSpanners

Our goal:Our goal:• Build (1+Build (1+)-stretch spanner for the full )-stretch spanner for the full

graph on graph on SS• Low degreeLow degree• Maintain dynamicallyMaintain dynamically

Lower bounds on degree and Lower bounds on degree and dynamic maintenance follow…dynamic maintenance follow…• First need to define doubling dimensionFirst need to define doubling dimension

Page 5: An optimal dynamic spanner for points residing in doubling metric spaces

Doubling DimensionDoubling Dimension

Point set X has Point set X has doubling doubling dimensiondimension if if • the points of X covered by the points of X covered by

ball B can be covered by 2ball B can be covered by 2 balls of half the radius.balls of half the radius.

• Where a Where a ballball centered at centered at point point cc is the space within is the space within distance distance rr of of cc.. 1

2

3

4

6

5

7

8

Page 6: An optimal dynamic spanner for points residing in doubling metric spaces

Lower bound on degreeLower bound on degree

Low stretch spanner necessitates Low stretch spanner necessitates high degree. high degree. • Example: A Example: A

(2-(2-)-spanner )-spanner

is the full graphis the full graph

Lower bounds on degreeLower bounds on degree• (1/(1/))O(O())

1 1

1

1

1

Page 7: An optimal dynamic spanner for points residing in doubling metric spaces

Lower bounds on insertionsLower bounds on insertions

Lower bound on insertionsLower bound on insertions• An insertion of a new point in a (1+An insertion of a new point in a (1+)-)-

spanner subsumes a (1+spanner subsumes a (1+)-NNS)-NNS

H

Page 8: An optimal dynamic spanner for points residing in doubling metric spaces

Search lower boundsSearch lower bounds

Lower bounds on (1+Lower bounds on (1+)-ANN search )-ANN search (arbitrary metric space)(arbitrary metric space)• 22O(O() ) log nlog n• (1/(1/))O(O())

q

Page 9: An optimal dynamic spanner for points residing in doubling metric spaces

NNS in Low Doubling DimensionNNS in Low Doubling Dimension

Krauthgamer and Lee (SODA ‘04)Krauthgamer and Lee (SODA ‘04)• considered (1+considered (1+)-ANN queries on )-ANN queries on S S having having

low doubling dimensionlow doubling dimension• Created a point hierarchy to solve this Created a point hierarchy to solve this

problemproblem

Hierarchy is composed of levels of Hierarchy is composed of levels of --nets. nets. • PackingPacking: Points of each net spaced out: Points of each net spaced out• CoveringCovering: Points of each net : Points of each net cover cover all all

points of the previous levelpoints of the previous level

Page 10: An optimal dynamic spanner for points residing in doubling metric spaces

HierarchiesHierarchies

Spanners can be created using point Spanners can be created using point hierarchies (GGN-04)hierarchies (GGN-04)

Example…Example…• Consider the hierarchy of KL-04, used in Consider the hierarchy of KL-04, used in

nearest neighbor searchnearest neighbor search• Hierarchy is composed of levels of Hierarchy is composed of levels of -nets. -nets.

PackingPacking: Points of each net spaced out: Points of each net spaced out CoveringCovering: Points of each net : Points of each net cover cover all points all points

of the previous levelof the previous level

Page 11: An optimal dynamic spanner for points residing in doubling metric spaces

HierarchyHierarchy1-net2-net4-net8-net

Page 12: An optimal dynamic spanner for points residing in doubling metric spaces

HierarchyHierarchy1-net2-net4-net8-net

Radius = 1

Covering: all points are covered

Packing

Page 13: An optimal dynamic spanner for points residing in doubling metric spaces

HierarchyHierarchy1-net2-net4-net8-net

Radius = 2

Page 14: An optimal dynamic spanner for points residing in doubling metric spaces

HierarchyHierarchy1-net2-net4-net8-net

Page 15: An optimal dynamic spanner for points residing in doubling metric spaces

HierarchyHierarchy1-net2-net4-net8-net

Page 16: An optimal dynamic spanner for points residing in doubling metric spaces

HierarchyHierarchy1-net2-net4-net8-net

Page 17: An optimal dynamic spanner for points residing in doubling metric spaces

HierarchyHierarchy1-net2-net4-net8-net

Page 18: An optimal dynamic spanner for points residing in doubling metric spaces

HierarchyHierarchy1-net2-net4-net8-net

Page 19: An optimal dynamic spanner for points residing in doubling metric spaces

HierarchyHierarchy1-net2-net4-net8-net

Page 20: An optimal dynamic spanner for points residing in doubling metric spaces

Another PerspectiveAnother Perspective

Spanning Tree definesParent-child relationship

Let log be the aspectRatio of the point set.The tree has log levels.

Page 21: An optimal dynamic spanner for points residing in doubling metric spaces

Spanner ConstructionSpanner Construction

EdgesEdges• Parent-childParent-child• LateralLateral

Path:Path:• Up, across, downUp, across, down Tree

Parent-childedge

Page 22: An optimal dynamic spanner for points residing in doubling metric spaces

Spanner ConstructionSpanner Construction

EdgesEdges• Parent-childParent-child• LateralLateral

Path:Path:• Up, across, downUp, across, down Tree

Lateraledge

Page 23: An optimal dynamic spanner for points residing in doubling metric spaces

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

Path:Path:• Up, across, downUp, across, down Tree

Path

Page 24: An optimal dynamic spanner for points residing in doubling metric spaces

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

Path:Path:• Up, across, downUp, across, down Tree

Path

Page 25: An optimal dynamic spanner for points residing in doubling metric spaces

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

Path:Path:• Up, across, downUp, across, down Tree

Path

Page 26: An optimal dynamic spanner for points residing in doubling metric spaces

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

Path:Path:• Up, across, downUp, across, down Tree

Path

Page 27: An optimal dynamic spanner for points residing in doubling metric spaces

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

Path:Path:• Up, across, downUp, across, down Tree

Path

Page 28: An optimal dynamic spanner for points residing in doubling metric spaces

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

Path:Path:• Up, across, downUp, across, down Tree

Path

Page 29: An optimal dynamic spanner for points residing in doubling metric spaces

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Identify 1-netpoints

Page 30: An optimal dynamic spanner for points residing in doubling metric spaces

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Connect 1-net Points withinradius 3

Call these lateral connections

Page 31: An optimal dynamic spanner for points residing in doubling metric spaces

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Identify 2-netpoints

Note that wegot all parent-child connectionsfor free

Page 32: An optimal dynamic spanner for points residing in doubling metric spaces

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Connect 2-net Points withinradius 6

Page 33: An optimal dynamic spanner for points residing in doubling metric spaces

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Identify 4-netpoints

Page 34: An optimal dynamic spanner for points residing in doubling metric spaces

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Connect 4-net Points withinradius 12

Page 35: An optimal dynamic spanner for points residing in doubling metric spaces

1-net2-net4-net8-net

AnalysisAnalysis

What’s the stretchbetween these twoPoints?

Page 36: An optimal dynamic spanner for points residing in doubling metric spaces

1-net2-net4-net8-net

AnalysisAnalysis

What’s the stretchbetween these twoPoints?

Key to proof: blue points are connected, but white points aren’t

Page 37: An optimal dynamic spanner for points residing in doubling metric spaces

1-net2-net4-net8-net

AnalysisAnalysis

Stretch: dspanner/d =(2+4+(d’+4+4)+4+2)/(d’-2-2) =(d’+20)/(d’-4) < 13

d’>6

Page 38: An optimal dynamic spanner for points residing in doubling metric spaces

AnalysisAnalysis We connected -net points within distance 3. More generally

• Connect -net points that are within distance c Degree is ccO(O())

• Let j be the last level at which parents of the points are not connected. Stretch:

dspanner/d < ((d’+2j+1+2j+1)+2j+2+2j+2)/(d’-2j-1-2j-1) <(c2j+2j+2+2j+2+2j+2)/(c2j-2j) =(c+12)/(c-1) = 1+13/(c-1) = (1+(1+))

Page 39: An optimal dynamic spanner for points residing in doubling metric spaces

DegreeDegree

What’s the degree of the spanner in What’s the degree of the spanner in the previous example?the previous example?

Page 40: An optimal dynamic spanner for points residing in doubling metric spaces

1-net2-net4-net8-net

DegreeDegree

Problem: degree is log

Page 41: An optimal dynamic spanner for points residing in doubling metric spaces

DegreeDegree

• Problem: This node appears at every level.• Solution: Why require each level to be subset of the next one?

Page 42: An optimal dynamic spanner for points residing in doubling metric spaces

Dynamic hierarchy

Another problem: Need fast dynamic updates• CG-06 showed how to support a hierarchy

under dynamic update in 22O(O() ) log n log n time.• But doesn’t support deletions!

Goals:• Replace deleted points• Low Degree:

each point should appear only O(1) times in the hierarchy

Page 43: An optimal dynamic spanner for points residing in doubling metric spaces

Dynamic hierarchyDynamic hierarchy

A lookat the newhierarchy

Page 44: An optimal dynamic spanner for points residing in doubling metric spaces

Dynamic hierarchyDynamic hierarchy

Step 1: Remove leaf nodes of deleted points

Page 45: An optimal dynamic spanner for points residing in doubling metric spaces

Dynamic hierarchyDynamic hierarchy

Step 1: Remove leaf nodes of deleted points

Page 46: An optimal dynamic spanner for points residing in doubling metric spaces

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Page 47: An optimal dynamic spanner for points residing in doubling metric spaces

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Page 48: An optimal dynamic spanner for points residing in doubling metric spaces

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Page 49: An optimal dynamic spanner for points residing in doubling metric spaces

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Page 50: An optimal dynamic spanner for points residing in doubling metric spaces

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Page 51: An optimal dynamic spanner for points residing in doubling metric spaces

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Tree withdegree atleast 2

Page 52: An optimal dynamic spanner for points residing in doubling metric spaces

Dynamic hierarchyDynamic hierarchy

Replacement scheme:-Eliminates deleted points-Each point appears

O(1) times-Adds a small cost to the stretch

Page 53: An optimal dynamic spanner for points residing in doubling metric spaces

Extracting a spannerExtracting a spanner

Spanner edges:-Have parent-child edges-Missing some lateral edges

parent-childedges

Missinglateraledge

Page 54: An optimal dynamic spanner for points residing in doubling metric spaces

SpannerSpanner

Possible solution?

Page 55: An optimal dynamic spanner for points residing in doubling metric spaces

Extracting a spanner

Replacing lateral edgesReplacing lateral edgesProblem: Too manyreplacement edges incident on a singlenode

Solution: Assign xas a “step child” ofthe lowest coveringpoint

x

Page 56: An optimal dynamic spanner for points residing in doubling metric spaces

Conclusion Final spanner

(1+) stretch (1/)O() degree (optimal) (1/)O() log n update time (optimal?)

Thank you!