560 likes | 714 Views
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.
E N D
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 • Some qualities of a spanner • degree • stretch • hop • weight • Applications: networks, routing… G H 1 2 2 1 1 1 1
Spanners • Our goal: • Build (1+e)-stretch spanner for the full graph on S • Low degree • Maintain dynamically • Lower bounds on degree and dynamic maintenance follow… • First need to define doubling dimension
Doubling Dimension • Point set X has doubling dimension if • the points of X covered by ball B can be covered by 2 balls of half the radius. • Where a ball centered at point c is the space within distance r of c. 4 5 3 6 8 2 7 1
Lower bound on degree 1 1 1 1 1 • Low stretch spanner necessitates high degree. • Example: A (2-e)-spanner is the full graph • Lower bounds on degree • (1/e)O()
Lower bounds on insertions H • Lower bound on insertions • An insertion of a new point in a (1+e)-spanner subsumes a (1+e)-NNS
Search lower bounds e 1 q e e e e • Lower bounds on (1+e)-ANN search (arbitrary metric space) • 2O() log n • (1/e)O()
NNS in Low Doubling Dimension • Krauthgamer and Lee (SODA ‘04) • considered (1+e)-ANN queries on S having low doubling dimension • Created a point hierarchy to solve this problem • Hierarchy is composed of levels of d-nets. • Packing: Points of each net spaced out • Covering: Points of each net cover all points of the previous level
Hierarchies • Spanners can be created using point hierarchies (GGN-04) • Example… • Consider the hierarchy of KL-04, used in nearest neighbor search • Hierarchy is composed of levels of d-nets. • Packing: Points of each net spaced out • Covering: Points of each net cover all points of the previous level
Hierarchy 1-net 2-net 4-net 8-net
Hierarchy 1-net 2-net 4-net 8-net Packing Radius = 1 Covering: all points are covered
Hierarchy 1-net 2-net 4-net 8-net Radius = 2
Hierarchy 1-net 2-net 4-net 8-net
Hierarchy 1-net 2-net 4-net 8-net
Hierarchy 1-net 2-net 4-net 8-net
Hierarchy 1-net 2-net 4-net 8-net
Hierarchy 1-net 2-net 4-net 8-net
Hierarchy 1-net 2-net 4-net 8-net
Another Perspective Spanning Tree defines Parent-child relationship Let logD be the aspect Ratio of the point set. The tree has logD levels.
Spanner Construction Tree Parent-child edge • Edges • Parent-child • Lateral • Path: • Up, across, down
Spanner Construction Tree Lateral edge • Edges • Parent-child • Lateral • Path: • Up, across, down
Spanner Paths Tree Path • Edges • Parent-child • Lateral • Path: • Up, across, down
Spanner Paths Tree Path • Edges • Parent-child • Lateral • Path: • Up, across, down
Spanner Paths Tree Path • Edges • Parent-child • Lateral • Path: • Up, across, down
Spanner Paths Tree Path • Edges • Parent-child • Lateral • Path: • Up, across, down
Spanner Paths Tree Path • Edges • Parent-child • Lateral • Path: • Up, across, down
Spanner Paths Tree Path • Edges • Parent-child • Lateral • Path: • Up, across, down
Spanner Construction 1-net 2-net 4-net 8-net Identify 1-net points
Spanner Construction 1-net 2-net 4-net 8-net Connect 1-net Points within radius 3 Call these lateral connections
Spanner Construction 1-net 2-net 4-net 8-net Identify 2-net points Note that we got all parent- child connections for free
Spanner Construction 1-net 2-net 4-net 8-net Connect 2-net Points within radius 6
Spanner Construction 1-net 2-net 4-net 8-net Identify 4-net points
Spanner Construction 1-net 2-net 4-net 8-net Connect 4-net Points within radius 12
Analysis 1-net 2-net 4-net 8-net What’s the stretch between these two Points?
Analysis 1-net 2-net 4-net 8-net What’s the stretch between these two Points? Key to proof: blue points are connected, but white points aren’t
Analysis 1-net 2-net 4-net 8-net Stretch: dspanner/d = (2+4+(d’+4+4)+4+2)/(d’-2-2) = (d’+20)/(d’-4) < 13 d’>6
Analysis • We connected d-net points within distance 3d. • More generally • Connect d-net points that are within distance cd • Degree is cO() • 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+e)
Degree What’s the degree of the spanner in the previous example?
Degree 1-net 2-net 4-net 8-net Problem: degree is logD
Degree • 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 2O() 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 hierarchy A look at the new hierarchy
Dynamic hierarchy Step 1: Remove leaf nodes of deleted points
Dynamic hierarchy Step 1: Remove leaf nodes of deleted points
Dynamic hierarchy Step 2: Compress single child paths
Dynamic hierarchy Step 2: Compress single child paths
Dynamic hierarchy Step 2: Compress single child paths
Dynamic hierarchy Step 2: Compress single child paths
Dynamic hierarchy Step 2: Compress single child paths