Loading in 5 sec....

An optimal dynamic spanner for points residing in doubling metric spacesPowerPoint Presentation

An optimal dynamic spanner for points residing in doubling metric spaces

Download Presentation

An optimal dynamic spanner for points residing in doubling metric spaces

Loading in 2 Seconds...

- 95 Views
- Uploaded on
- Presentation posted in: General

An optimal dynamic spanner for points residing in doubling metric spaces

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

An optimal dynamic spanner for points residing in doubling metric spaces

Lee-Ad Gottlieb

NYU Weizmann

Liam Roditty

Weizmann

- 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

- Some qualities of a spanner
- degree
- stretch
- hop
- weight

- Applications: networks, routing…

G

H

1

2

2

1

1

1

1

- 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

- 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

1

1

1

1

1

- Low stretch spanner necessitates high degree.
- Example: A
(2-e)-spanner

is the full graph

- Example: A
- Lower bounds on degree
- (1/e)O()

H

- Lower bound on insertions
- An insertion of a new point in a (1+e)-spanner subsumes a (1+e)-NNS

e

1

q

e

e

e

e

- Lower bounds on (1+e)-ANN search (arbitrary metric space)
- 2O() log n
- (1/e)O()

- 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

- 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

1-net

2-net

4-net

8-net

1-net

2-net

4-net

8-net

Packing

Radius = 1

Covering: all points

are covered

1-net

2-net

4-net

8-net

Radius = 2

1-net

2-net

4-net

8-net

1-net

2-net

4-net

8-net

1-net

2-net

4-net

8-net

1-net

2-net

4-net

8-net

1-net

2-net

4-net

8-net

1-net

2-net

4-net

8-net

Spanning Tree defines

Parent-child relationship

Let logD be the aspect

Ratio of the point set.

The tree has logD levels.

Tree

Parent-child

edge

- Edges
- Parent-child
- Lateral

- Path:
- Up, across, down

Tree

Lateral

edge

- Edges
- Parent-child
- Lateral

- Path:
- Up, across, down

Tree

Path

- Edges
- Parent-child
- Lateral

- Path:
- Up, across, down

Tree

Path

- Edges
- Parent-child
- Lateral

- Path:
- Up, across, down

Tree

Path

- Edges
- Parent-child
- Lateral

- Path:
- Up, across, down

Tree

Path

- Edges
- Parent-child
- Lateral

- Path:
- Up, across, down

Tree

Path

- Edges
- Parent-child
- Lateral

- Path:
- Up, across, down

Tree

Path

- Edges
- Parent-child
- Lateral

- Path:
- Up, across, down

1-net

2-net

4-net

8-net

Identify 1-net

points

1-net

2-net

4-net

8-net

Connect 1-net

Points within

radius 3

Call these lateral

connections

1-net

2-net

4-net

8-net

Identify 2-net

points

Note that we

got all parent-

child connections

for free

1-net

2-net

4-net

8-net

Connect 2-net

Points within

radius 6

1-net

2-net

4-net

8-net

Identify 4-net

points

1-net

2-net

4-net

8-net

Connect 4-net

Points within

radius 12

1-net

2-net

4-net

8-net

What’s the stretch

between these two

Points?

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

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

- 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)

- dspanner/d < ((d’+2j+1+2j+1)+2j+2+2j+2)/(d’-2j-1-2j-1) <

- Connect d-net points that are within distance cd

What’s the degree of the spanner in the previous example?

1-net

2-net

4-net

8-net

Problem: degree is logD

- Problem: This
- node appears
- at every level.
- Solution: Why
- require each level
- to be subset of
- the next one?

- 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

A look

at the new

hierarchy

Step 1: Remove leaf nodes of deleted points

Step 1: Remove leaf nodes of deleted points

Step 2: Compress single child paths

Step 2: Compress single child paths

Step 2: Compress single child paths

Step 2: Compress single child paths

Step 2: Compress single child paths

Tree with

degree at

least 2

Step 2: Compress single child paths

- Replacement scheme:
- Eliminates deleted points
- Each point appears
- O(1) times

- Adds a small cost to the stretch

- Spanner edges:
- Have parent-child edges
- Missing some lateral edges

parent-child

edges

Missing

lateral

edge

Possible solution?

- 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

- Final spanner
- (1+e) stretch
- (1/e)O() degree (optimal)
- (1/e)O() log n update time (optimal?)

- Thank you!