An optimal dynamic spanner for points residing in doubling metric spaces

Preview:

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

Citation preview

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

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

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

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

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

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

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

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

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

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

HierarchyHierarchy1-net2-net4-net8-net

HierarchyHierarchy1-net2-net4-net8-net

Radius = 1

Covering: all points are covered

Packing

HierarchyHierarchy1-net2-net4-net8-net

Radius = 2

HierarchyHierarchy1-net2-net4-net8-net

HierarchyHierarchy1-net2-net4-net8-net

HierarchyHierarchy1-net2-net4-net8-net

HierarchyHierarchy1-net2-net4-net8-net

HierarchyHierarchy1-net2-net4-net8-net

HierarchyHierarchy1-net2-net4-net8-net

Another PerspectiveAnother Perspective

Spanning Tree definesParent-child relationship

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

Spanner ConstructionSpanner Construction

EdgesEdges• Parent-childParent-child• LateralLateral

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

Parent-childedge

Spanner ConstructionSpanner Construction

EdgesEdges• Parent-childParent-child• LateralLateral

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

Lateraledge

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

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

Path

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

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

Path

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

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

Path

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

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

Path

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

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

Path

Spanner PathsSpanner Paths

EdgesEdges• Parent-childParent-child• LateralLateral

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

Path

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Identify 1-netpoints

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Connect 1-net Points withinradius 3

Call these lateral connections

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Identify 2-netpoints

Note that wegot all parent-child connectionsfor free

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Connect 2-net Points withinradius 6

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Identify 4-netpoints

1-net2-net4-net8-net

Spanner ConstructionSpanner Construction

Connect 4-net Points withinradius 12

1-net2-net4-net8-net

AnalysisAnalysis

What’s the stretchbetween these twoPoints?

1-net2-net4-net8-net

AnalysisAnalysis

What’s the stretchbetween these twoPoints?

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

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

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+))

DegreeDegree

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

1-net2-net4-net8-net

DegreeDegree

Problem: degree is log

DegreeDegree

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

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

Dynamic hierarchyDynamic hierarchy

A lookat the newhierarchy

Dynamic hierarchyDynamic hierarchy

Step 1: Remove leaf nodes of deleted points

Dynamic hierarchyDynamic hierarchy

Step 1: Remove leaf nodes of deleted points

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Dynamic hierarchyDynamic hierarchy

Step 2: Compress single child paths

Tree withdegree atleast 2

Dynamic hierarchyDynamic hierarchy

Replacement scheme:-Eliminates deleted points-Each point appears

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

Extracting a spannerExtracting a spanner

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

parent-childedges

Missinglateraledge

SpannerSpanner

Possible solution?

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

Conclusion Final spanner

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

Thank you!

Recommended