Presentation is loading. Please wait.

Presentation is loading. Please wait.

An optimal dynamic spanner for points residing in doubling metric spaces Lee-Ad Gottlieb NYU Weizmann Liam Roditty Weizmann.

Similar presentations


Presentation on theme: "An optimal dynamic spanner for points residing in doubling metric spaces Lee-Ad Gottlieb NYU Weizmann Liam Roditty Weizmann."— Presentation transcript:

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!


Download ppt "An optimal dynamic spanner for points residing in doubling metric spaces Lee-Ad Gottlieb NYU Weizmann Liam Roditty Weizmann."

Similar presentations


Ads by Google