an optimal dynamic spanner for points residing in doubling metric spaces
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 PresentationTRANSCRIPT
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!