An optimal dynamic spanner for points residing in doubling metric spaces

1 / 56

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

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'An optimal dynamic spanner for points residing in doubling metric spaces' - awena

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

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

Covering: all points

are covered

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

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

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

Spanner Construction

1-net

2-net

4-net

8-net

Connect 2-net

Points within

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

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!