560 likes | 576 Views
Explore the concept of spanners in graph theory, focusing on degrees, stretch, hops, weights, and applications in networks and routing. Discover how a low-degree, (1+e)-stretch spanner is constructed and maintained dynamically in doubling metric spaces. Learn about the doubling dimension, point hierarchies, and the connection process. Dive into the analysis of spanner constructions and stretch calculations.
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