Download presentation
Presentation is loading. Please wait.
Published byCarol Cross Modified over 8 years ago
1
An optimal dynamic spanner for points residing in doubling metric spaces Lee-Ad Gottlieb NYU Weizmann Liam Roditty Weizmann
2
Spanners A spanner for graph G is a subgraph H A spanner for graph G is a subgraph H 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 1 1 H 2 1 1 1
3
Spanners Some qualities of a spanner Some qualities of a spanner degreedegree stretchstretch hophop weightweight Applications: networks, routing… Applications: networks, routing… G 2 1 1 H 2 1 1 1
4
Spanners Our goal: Our goal: Build (1+)-stretch spanner for the full graph on SBuild (1+)-stretch spanner for the full graph on S Low degreeLow degree Maintain dynamicallyMaintain dynamically Lower bounds on degree and dynamic maintenance follow… Lower bounds on degree and dynamic maintenance follow… First need to define doubling dimensionFirst need to define doubling dimension
5
Doubling Dimension Point set X has doubling dimension if 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.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.Where a ball centered at point c is the space within distance r of c. 1 2 3 4 6 5 7 8
6
Lower bound on degree Low stretch spanner necessitates high degree. Low stretch spanner necessitates high degree. Example: AExample: A (2-)-spanner is the full graph Lower bounds on degree Lower bounds on degree (1/) O()(1/) O() 11 1 1 1
7
Lower bounds on insertions Lower bound on insertions Lower bound on insertions An insertion of a new point in a (1+)- spanner subsumes a (1+)-NNSAn insertion of a new point in a (1+)- spanner subsumes a (1+)-NNS H
8
Search lower bounds Lower bounds on (1+)-ANN search (arbitrary metric space) Lower bounds on (1+)-ANN search (arbitrary metric space) 2 O() log n2 O() log n (1/) O()(1/) O() q
9
NNS in Low Doubling Dimension Krauthgamer and Lee (SODA ‘04) Krauthgamer and Lee (SODA ‘04) considered (1+)-ANN queries on S having low doubling dimensionconsidered (1+)-ANN queries on S having low doubling dimension Created a point hierarchy to solve this problemCreated a point hierarchy to solve this problem Hierarchy is composed of levels of - nets. Hierarchy is composed of levels of - nets. Packing: Points of each net spaced outPacking: Points of each net spaced out Covering: Points of each net cover all points of the previous levelCovering: Points of each net cover all points of the previous level
10
Hierarchies Spanners can be created using point hierarchies (GGN-04) Spanners can be created using point hierarchies (GGN-04) Example… Example… Consider the hierarchy of KL-04, used in nearest neighbor searchConsider the hierarchy of KL-04, used in nearest neighbor search Hierarchy is composed of levels of - nets.Hierarchy is composed of levels of - nets. Packing: Points of each net spaced out Packing: Points of each net spaced out Covering: Points of each net cover all points of the previous level Covering: Points of each net cover all points of the previous level
11
Hierarchy 1-net 2-net 4-net 8-net
12
Hierarchy 1-net 2-net 4-net 8-net Radius = 1 Covering: all points are covered Packing
13
Hierarchy 1-net 2-net 4-net 8-net Radius = 2
14
Hierarchy 1-net 2-net 4-net 8-net
15
Hierarchy 1-net 2-net 4-net 8-net
16
Hierarchy 1-net 2-net 4-net 8-net
17
Hierarchy 1-net 2-net 4-net 8-net
18
Hierarchy 1-net 2-net 4-net 8-net
19
Hierarchy 1-net 2-net 4-net 8-net
20
Another Perspective Spanning Tree defines Parent-child relationship Let log be the aspect Ratio of the point set. The tree has log levels.
21
Summary of Previous Work (1+)-Spanner construction, low dimension DNS-95 Euclidean, static O(n log n) AMS-99 Euclidean, random updates O(log n) BGM-04 Euclidean, insertions O(log n) GGN-04 Euclidean, updates O(log) HM-06 Metric, static O(n log n) R-07 Metric, insertion O(log n), deletion O(n 1/3 ) GR-08a Metric, updates O(log 3 n) amortized Thesis Metric, updates O(log n) * Spread of the points = d max /d min * Under a mild assumption concerning distance oracles…
22
Spanner Construction Edges Edges Parent-childParent-child LateralLateral Path: Path: Up, across, downUp, across, down Tree Parent-child edge
23
Spanner Construction Edges Edges Parent-childParent-child LateralLateral Path: Path: Up, across, downUp, across, down Tree Lateral edge
24
Spanner Paths Edges Edges Parent-childParent-child LateralLateral Path: Path: Up, across, downUp, across, down Tree Path
25
Spanner Paths Edges Edges Parent-childParent-child LateralLateral Path: Path: Up, across, downUp, across, down Tree Path
26
Spanner Paths Edges Edges Parent-childParent-child LateralLateral Path: Path: Up, across, downUp, across, down Tree Path
27
Spanner Paths Edges Edges Parent-childParent-child LateralLateral Path: Path: Up, across, downUp, across, down Tree Path
28
Spanner Paths Edges Edges Parent-childParent-child LateralLateral Path: Path: Up, across, downUp, across, down Tree Path
29
Spanner Paths Edges Edges Parent-childParent-child LateralLateral Path: Path: Up, across, downUp, across, down Tree Path
30
1-net 2-net 4-net 8-net Spanner Construction Identify 1-net points
31
1-net 2-net 4-net 8-net Spanner Construction Connect 1-net Points within radius 3 Call these lateral connections
32
1-net 2-net 4-net 8-net Spanner Construction Identify 2-net points Note that we got all parent- child connections for free
33
1-net 2-net 4-net 8-net Spanner Construction Connect 2-net Points within radius 6
34
1-net 2-net 4-net 8-net Spanner Construction Identify 4-net points
35
1-net 2-net 4-net 8-net Spanner Construction Connect 4-net Points within radius 12
36
1-net 2-net 4-net 8-net Analysis What’s the stretch between these two Points?
37
1-net 2-net 4-net 8-net Analysis What’s the stretch between these two Points? Key to proof: blue points are connected, but white points aren’t
38
1-net 2-net 4-net 8-net Analysis Stretch: d spanner /d = (2+4+(d’+4+4)+4+2)/(d’-2-2) = (d’+20)/(d’-4) < 13 d’>6
39
Analysis We connected -net points within distance 3. More generally Connect -net points that are within distance c c O() Degree is c O() Let j be the last level at which parents of the points are not connected. Stretch: d spanner /d < ((d’+2 j+1 +2 j+1 )+2 j+2 +2 j+2 )/(d’-2 j-1 -2 j-1 ) < (c2 j +2 j+2 +2 j+2 +2 j+2 )/(c2 j -2 j ) = (1+) (c+12)/(c-1) = 1+13/(c-1) = (1+)
40
Degree What’s the degree of the spanner in the previous example? What’s the degree of the spanner in the previous example?
41
1-net 2-net 4-net 8-net Degree Problem: degree is log
42
Degree Problem: This node appears at every level. Solution: Why require each level to be subset of the next one?
43
Dynamic hierarchy Another problem: Need fast dynamic updates 2 O() log nCG-06 showed how to support a hierarchy under dynamic update in 2 O() 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
44
Dynamic hierarchy A look at the new hierarchy
45
Dynamic hierarchy Step 1: Remove leaf nodes of deleted points
46
Dynamic hierarchy Step 1: Remove leaf nodes of deleted points
47
Dynamic hierarchy Step 2: Compress single child paths
48
Dynamic hierarchy Step 2: Compress single child paths
49
Dynamic hierarchy Step 2: Compress single child paths
50
Dynamic hierarchy Step 2: Compress single child paths
51
Dynamic hierarchy Step 2: Compress single child paths
52
Dynamic hierarchy Step 2: Compress single child paths Tree with degree at least 2
53
Dynamic hierarchy Replacement scheme: -Eliminates deleted points -Each point appears O(1) times -Adds a small cost to the stretch
54
Extracting a spanner Spanner edges: -Have parent-child edges -Missing some lateral edges parent-child edges Missing lateral edge
55
Spanner Possible solution?
56
Extracting a spanner Replacing lateral edges Replacing lateral edges Problem: Too many replacement edges incident on a single node Solution: Assign x as a “step child” of the lowest covering point x
57
Conclusion Final spanner (1+) stretch (1/) O() degree (optimal) (1/) O() log n update time (optimal?) Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.