An optimal dynamic spanner for points residing in doubling metric spaces
Sponsored Links
This presentation is the property of its rightful owner.
1 / 56

An optimal dynamic spanner for points residing in doubling metric spaces PowerPoint PPT Presentation


  • 88 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

An optimal dynamic spanner for points residing in doubling metric spaces

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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


Dynamic hierarchy

Tree with

degree at

least 2

Step 2: Compress single child paths


Dynamic hierarchy

  • Replacement scheme:

  • Eliminates deleted points

  • Each point appears

    • O(1) times

  • Adds a small cost to the stretch


Extracting a spanner

  • Spanner edges:

  • Have parent-child edges

  • Missing some lateral edges

parent-child

edges

Missing

lateral

edge


Spanner

Possible solution?


Extracting a spanner

  • 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


Conclusion

  • Final spanner

    • (1+e) stretch

    • (1/e)O() degree (optimal)

    • (1/e)O() log n update time (optimal?)

  • Thank you!


  • Login