enumerating distances using spanners of bounded degree

63
1 Enumerating Distances Enumerating Distances Using Spanners of Using Spanners of Bounded Degree Bounded Degree Maya Zalcberg 049823446 Ilia Flax 015600052 Generalizing skip Generalizing skip lists: A spanner with lists: A spanner with logarithmic spanner logarithmic spanner diameter diameter Outline Enumerating distance Using spanners Approximate distance Presentation Algorithm Correctness Time Analysis Exact distance Presentation Algorithm Correctness Time Analysis Generalizing skip lists Skip List Skip List Spanner

Upload: marek

Post on 09-Jan-2016

31 views

Category:

Documents


2 download

DESCRIPTION

Outline Enumerating distance Using spanners Approximate distance Presentation Algorithm Correctness Time Analysis Exact distance Presentation Algorithm Correctness Time Analysis Generalizing skip lists Skip List Skip List Spanner. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Enumerating Distances Using Spanners of Bounded Degree

1

Enumerating Distances Enumerating Distances Using Spanners of Using Spanners of Bounded DegreeBounded Degree

Maya Zalcberg 049823446

Ilia Flax 015600052

Generalizing skip lists: A Generalizing skip lists: A spanner with logarithmic spanner with logarithmic

spanner diameterspanner diameter

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 2: Enumerating Distances Using Spanners of Bounded Degree

2

OutlineOutline

Enumerating distances using spanners of bounded degree approximate distance enumeration Exact distance enumeration

Generalizing skip lists: A spanner with logarithmic spanner diameter

OutlineOutline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 3: Enumerating Distances Using Spanners of Bounded Degree

3

IntroductionIntroduction

The goal: Enumating the smallest k distances

among the distances in a group of n points.

input: S: a set of n points in k an integer such that 1 < k <

2

n

dR2

n

Outline

EnumeratingEnumerating distance distance

Using spannersUsing spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 4: Enumerating Distances Using Spanners of Bounded Degree

4

IntroductionIntroduction

Output:

a sequence {a1,b1}…{ak,bk} distinct pairs of S is called the k closest pairs, if:

1.

2. the distances , are the k smallest elements in multiset

1 1 2 2 .....k ka b a b a b

i ia b 1 i k

: , ,pq p q S p q

Outline

EnumeratingEnumerating distance distance

Using spannersUsing spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 5: Enumerating Distances Using Spanners of Bounded Degree

5

There are two solutions available:

using bounded-degree spanner to enumerate the k approximate closest pairs in

Modify the algorithm to obtain the k

exact closest pairs in

logn k k

( ) logn k n

IntroductionIntroductionOutline

EnumeratingEnumerating distance distance

Using spannersUsing spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 6: Enumerating Distances Using Spanners of Bounded Degree

6

Approximate distanceApproximate distance

S a set of n points in , k an integer such that , t > 1 a real number.

sorted by their distances

is a sequence of k t-approximate closest pairs if:

, ,12n

a b ii i

, ,1p q i ki i

/i i p q t a bi i i ia b t

Outline

Enumerating distance Using spanners

Approximate distance Approximate distance

PresentationPresentation

Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

d

Page 7: Enumerating Distances Using Spanners of Bounded Degree

7

G = (S,E) it a t-spanner for S

D positive integer. The degree of each point from S is less then or equal to D.

PQ is a priority queue that stores at most k pairs.

Each priority(p,q) in PQ is equal to the length of the shortest path in G between p and q at the moment.

Approximate distanceApproximate distanceOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

PresentationPresentation

Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 8: Enumerating Distances Using Spanners of Bounded Degree

8

Dijkstra’s algorithm We use a variant of Dijkstra’s

SingleSource(G,s,R) algorithm

that takes as input an undirected graph G in which every edge has a positive weight, a vertex s of G, and a real number R>0. It returns a set A of all vertices v for which

Approximate distanceApproximate distance

δ s, v R

Outline

Enumerating distance Using spanners

Approximate distance Approximate distance

PresentationPresentation

Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 9: Enumerating Distances Using Spanners of Bounded Degree

9

The algorithm uses the t-spanner G to compute a sequence of k t-approximate closest pairs in S.

The idea is to run Dijkstra’s single-source shortest path algorithm simultaneously from all point of S.

AlgorithmAlgorithmOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation AlgorithmAlgorithm

Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 10: Enumerating Distances Using Spanners of Bounded Degree

10

ApproxDistEnum(G,k)

Initializing: PQ contains the min(k,|E|) shortest edges of E.

*. The priority(p,q) of any such edge {p,q} is equal to the Euclidean distance between p and q.

Then a sequence of k iterations is carried out.

AlgorithmAlgorithmOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation AlgorithmAlgorithm

Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 11: Enumerating Distances Using Spanners of Bounded Degree

11

In each iteration: The pair {p,q} with the lowest priority from

PQ is deleted and reported immediately. For each edge {q,r} (and, symmetrically

{p,s} ) of G: If the pair {p,r} doesn’t occur in PQ, then

priority({p,r})=priority({p,q})+|qr| and {p,r} inserted into PQ. If PQ contains k+1 pairs, the pair with the highest priority is deleted.

If the pair {p,r} occures in PQ, then if it’s priority is higher than priority({p,q})+|qr| , then the priority{p,r} is set to priority({p,q})+|qr|.

AlgorithmAlgorithmOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation AlgorithmAlgorithm

Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 12: Enumerating Distances Using Spanners of Bounded Degree

12

According to the analysis of Dijkstra’s algorithm, the algorithm returns the k shortest path distances in G.

We show that these k pairs are the t-approximate closest pairs in G.

CorrectnessCorrectnessOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 13: Enumerating Distances Using Spanners of Bounded Degree

13

Some new definitions…

the length of a shortest path between and in the t-spanner G

is a permutation of {1,2,… } such that

i i iw a b'iw

ia ib

21 2 ...n

w w w

2

n

2' ' '1 2 ...

nw w w

CorrectnessCorrectnessOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 14: Enumerating Distances Using Spanners of Bounded Degree

14

ApproxDistEnum(G,k) reports k pairs of points whose final priority values are

Since G is a t-spanner,

so by replacing i by we get

' ' '1 2, ,..., kw w w

'i iw w tw

'

i i iw w tw

'

i iiw w tw

CorrectnessCorrectnessOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 15: Enumerating Distances Using Spanners of Bounded Degree

CorrectnessCorrectnessOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Proof

i i

'

i iw w

i iw w

'

i iw w '

i i i iw w w tw

i i 1 j i

' 'j iw w

j i

ijw w

'

j jw w

' '

i j j iw w w w

'

i iw w2 3 1

Page 16: Enumerating Distances Using Spanners of Bounded Degree

CorrectnessCorrectnessOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

'

iiw tw

i i i iw w

i iw tw

iitw tw

'i iw tw

i i 2

ni j

' 'i jw w

j i ijw w

'

iiw tw

'i jw tw

' '

ii j jw w tw tw 1 3 2 t

Page 17: Enumerating Distances Using Spanners of Bounded Degree

CorrectnessCorrectnessOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

'

i i iw w tw '

i iiw w tw

'ii iw w tw

iiw tw

'

ii itw w w

/iiw w t

/i iiw t w tw

Page 18: Enumerating Distances Using Spanners of Bounded Degree

18

CorrectnessCorrectness

For each i, 1<i< :

The k pairs of points that are reported by the algorithm are the k t-approximate closest pairs, if:

2

n /i iiw t w tw

/i i i iw t p q tw

Outline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 19: Enumerating Distances Using Spanners of Bounded Degree

CorrectnessCorrectnessOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Proof Reminder!

the length of the shortest path in G between and is equal to .

Else: G is a t-spanner, so

ip iq 'iw

i iiw p q /i i i iw t p q tw

'/i i i iip q t w t p q

'

i i iip q w tw

i i ip q tw

' /i i iip q w w t

/i i ip q w t

Page 20: Enumerating Distances Using Spanners of Bounded Degree

20

Initializing: Building PQ:

Running Dijkstra:

( )D n ( )n

logDk k logk k

logn k k

Time AnalysisTime AnalysisOutline

Enumerating distance Using spanners

Approximate distance Approximate distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 21: Enumerating Distances Using Spanners of Bounded Degree

21

Exact DistanceExact Distance

G = (S,E) it a t-spanner for point set S, such that the maximum degree is D.

By making two modifications to ApproxDistEnum(G,k) we can enumerate the k exact closest pairs.

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

PresentationPresentation

Algorithm Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 22: Enumerating Distances Using Spanners of Bounded Degree

22

AlgorithmAlgorithm

This algorithm takes as input a t-spanner G = (S,E) and an integer k.

It returns a sequence of k exact closest pairs in S.

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation AlgorithmAlgorithm

Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 23: Enumerating Distances Using Spanners of Bounded Degree

23

AlgorithmAlgorithm

ExactDistEnum(G,k) We make two modification to

ApproxDistEnum(G,k):

1. The priority queue PQ is maintained

at full size.

2. The algorithm does not report pairs as before. It keeps the k closest pairs among all pairs that were ever inserted into PQ.

to be continued….

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation AlgorithmAlgorithm

Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 24: Enumerating Distances Using Spanners of Bounded Degree

24

AlgorithmAlgorithm

ExactDistEnum(G,k)

2. the terminition is when the smallest priority in PQ is larger then t times the Euclidian-distance of the k-th closest pair found so far.

*. At termination, the k closest pairs that have been found are reported.

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation AlgorithmAlgorithm

Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 25: Enumerating Distances Using Spanners of Bounded Degree

25

AlgorithmAlgorithm

Implementation issues: A second priority queue is maintained

that contains the same pairs as PQ, and in which the priority of and pair {p,q} is equal to the euclidian distance |pq|.

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation AlgorithmAlgorithm

Correctness Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 26: Enumerating Distances Using Spanners of Bounded Degree

26

CorrectnessCorrectness

Claim: Let x be the Euclidian distance of the k-th

pair reported by the algorithm. Let p,q be any two distinct points of S such

that the pair {p,q} is never inserted into PQ.

|pq|>x

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 27: Enumerating Distances Using Spanners of Bounded Degree

27

CorrectnessCorrectness

Proof:1. Let {r,s} a pair that causes us to stop.

2. At the termination time priority({r,s})>tx

3. Also, at the same time priority({r,s}) is equal to the length of the shortest path between r and s in G.

4. At termination, all the shortest paths in G shorter then priority({r,s}) have been found.

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 28: Enumerating Distances Using Spanners of Bounded Degree

28

CorrectnessCorrectness Proof:

5. - the length of the shortest path in G between p and q.

6. priority({r,s}).

7. Since G is a t-spanner,

8.

9.

/pq t

({ , })t pq priority r s tx

pq x

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 29: Enumerating Distances Using Spanners of Bounded Degree

29

CorrectnessCorrectness

Summary: For each pair {p,q}, with , is

inserted into PQ. The distance of the k-th closest pair

in S is less then or equal to x.

ExactDistEnum(G,k) enumerates the k closest pairs in S.

pq x

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm CorrectnessCorrectness

Time Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 30: Enumerating Distances Using Spanners of Bounded Degree

30

Time AnalysisTime Analysis Fundamental claim: - the k-th smallest Euclidean

distance in S. {p,q} – the current pair with minimum

priority in PQ. Assume {p,q} is the first pair for

which

ExactDistEnum(G,k) terminates at the moment when it selects {p,q}

kw

kpq tw

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 31: Enumerating Distances Using Spanners of Bounded Degree

31

Time AnalysisTime Analysis

Proof:1. – the length of the shortest path in

G between p and q

2. x – the k-th smallest Euclidean distance

3. Priority({p,q})=

4. We have to show that > tx

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 32: Enumerating Distances Using Spanners of Bounded Degree

32

Time AnalysisTime Analysis Proof:

5.

6. Any pair {r,s} whose distance in G has already occurred as minimal element in PQ.

7. r,s – distinct points of S such that

8. – the length of a shortest path in G between r and s.

9. '

kt rs tw

kpq tw

'krs w

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 33: Enumerating Distances Using Spanners of Bounded Degree

33

Time AnalysisTime Analysis

Summary: At {p,q} selection as a minimal element

in PQ, all pairs of distinct points of S having Euclidean distance at most Wk have been inserted into PQ.

> tx

kx w

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 34: Enumerating Distances Using Spanners of Bounded Degree

34

Summary: I – the number of iterations made by

ExactDistEnum(G,k) Then the running time is

I is less than or equal to the number of pairs of distinct points of S having distance at most

Now we need to give an upper bound to I…

Time AnalysisTime Analysis

logDn ID n

ktw

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 35: Enumerating Distances Using Spanners of Bounded Degree

35

Lemma: - the k-th smallest Euclidean distance

in S. t – a real number, larger then 1. M – the number of pairs of distinct points

of S having distance at most

Time AnalysisTime Analysis

kw

ktw

2 1 2d

M t d n k

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 36: Enumerating Distances Using Spanners of Bounded Degree

36

Proof:1.

2. - d-dimensional grid with cells of side lengths . Each cell of this grid has the form

for some integers . a cell is the Cartesian product of d intervals, which are closed on the left and open on the right.

Time AnalysisTime Analysis

: kw w

/w d

1 1/ , 1 / / , 1 /d di w d i w d i w d i w d

1 2, ,..., di i i

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 37: Enumerating Distances Using Spanners of Bounded Degree

37

3. a cell of is nonempty, if it contains at least one point of S.

4. g – the number of nonempty cells. we number these cell arbitrarily .

5. - the number of points of S that are contained in the i-th nonempty cell.

6. , the total number of pairs {x,y} such that x and y are contained in the same cell of .

Time AnalysisTime Analysis

1,2,..., g

in

1

:2

gi

i

nZ

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 38: Enumerating Distances Using Spanners of Bounded Degree

38

7. if two points are in the same cell, their distance is less .

8. w is the k-th smallest distance in S, therefore .

9. , and an arbitrary cell in ,

10. the neighborhood of C in the d-dimensional hypercube is defines as followed:

Time AnalysisTime Analysis

/d w d w

Z k: t d

1 1: / , 1 / / , 1 /d dC i w d i w d i w d i w d

C

'1 1: ( ) / , 1 / ( ) / , 1 /d dC i w d i w d i w d i w d

To be continued….

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 39: Enumerating Distances Using Spanners of Bounded Degree

39

10. the side lengths of are equal to , and contains the cell c in its center. Neighborhood of C : the set of all nonempty cells of that overlap .

11.For each i, . is the set of all indices j, such that the j-th nonempty cell is in the neighborhood of the i-th nonempty cell.

12.

Time AnalysisTime Analysis'C

2 1 /w d 'C

'C

1 i g iN

2 1d

iN

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 40: Enumerating Distances Using Spanners of Bounded Degree

40

Time AnalysisTime Analysis

pq tw

ij N

/ /pq w d t d w d tw

13. p,q two distinct points of s such that . p,q are contained in the i-th and j-th nonempty cells of .

14. if

15. but therefore .

ij N

pq tw

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 41: Enumerating Distances Using Spanners of Bounded Degree

41

Time AnalysisTime Analysis16. Finally, we can prove the upper bound

on M, which is the number of distances in S that are less then or equal to .

tw

1

1

2i

g

i ji j N

M n n

21

1max( , )

2i

g

i ji j N

n n

2

1

g

i ll

N n

2

1

2 1g

d

ll

n

1

2 1 22

gd l

ll

nn

2 1 2dn Z (2 1) 2d n k

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 42: Enumerating Distances Using Spanners of Bounded Degree

42

Theorem: Let S be a set on n points in ,

let be a real number, let be a positive integer, and let be a t-spanner for S of degree . Given any integer with , algorithm ExactDistEnum(G,k) computes a sequence of exact closest pairs in S in

SummarySummary

d

12

nk

logdDt n k n

1t D

GD

k

k

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distanceExact distance

Presentation Algorithm Correctness Time AnalysisTime Analysis

Generalizing skip lists

Skip List Skip List Spanner

Page 43: Enumerating Distances Using Spanners of Bounded Degree

43

Generalizing Skip ListsGeneralizing Skip Lists

We present a randomized algorithm that constructs a sparse spanner whose expected spanner diameter is .

Skip lists – this randomized data

structure is a sparse 1-spanner whose spanner diameter is .

Lets start by presenting some definitions…

logn

logn

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip ListSkip List

Skip List Spanner

Page 44: Enumerating Distances Using Spanners of Bounded Degree

44

Generalizing Skip ListsGeneralizing Skip Lists Sparse Spanner – a spanner with

or with a spanner with small weight/size.

Spanner Diameter – The longest shortest path between a pair of points in S.

Next we will present the skip list data structure….

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip ListSkip List

Skip List Spanner

n

Page 45: Enumerating Distances Using Spanners of Bounded Degree

45

Generalizing Skip ListsGeneralizing Skip Lists S a set on n real numbers. Construct a sequence of subsets of S: and . As long as ,construct a random

subset of as followed: Each number of has a 50% chance of

getting picked. Set to be the subset of all the picked

points of . Finally, Set and iterate.

1 :S S : 1i

iS

iS1iS

1iS

iS

iS: 1i i

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip ListSkip List

Skip List Spanner

Page 46: Enumerating Distances Using Spanners of Bounded Degree

46

Generalizing Skip ListsGeneralizing Skip Lists - the number of iterations. Then we

obtain the following sequence:

of subsets of S, where . Definition: , . The Skip List for S:

1. for each i, , there is a double linked list storing the elements of in sorted order. Elements of are at level i of the skip list.2. for each i, , and each , the occurrences of in and are connected by pointers.

h

1 1 2 2 1h h h hS S S S S S S

hS

iS 1 i h 1 i h

iL iS

iS

1 i h ip Sp

iL 1iL

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip ListSkip List

Skip List Spanner

Page 47: Enumerating Distances Using Spanners of Bounded Degree

47

Generalizing skip listsGeneralizing skip lists

1 2 4 5 8 9 10 12 14 15

2 5 9

9

10 12

12

12

15

15

A skip list for the set S = {1, 2, 4, 5, 8, 9, 10, 12, 14, 15}.

There are four nonempty subsets and

The value of h is equal to 4.1 2 3, ,S S S

4S

Example:

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip ListSkip List

Skip List Spanner

Page 48: Enumerating Distances Using Spanners of Bounded Degree

48

Generalizing Skip ListsGeneralizing Skip ListsLemma: , , produced by the given random

process, and let M be the total size of the corresponding skip list.1. The expected value of is . 2. There is a constant C that for all large enough real numbers S : 3. M is proportional to , which has expected value of . 4. There is a constant that for all large enough real numbers S :

iS 1 i h

log nh

Pr( log ) 1/ csh s n n

1

h

ii

S n

'

Pr( ) c snM sn e

,c

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip ListSkip List

Skip List Spanner

Page 49: Enumerating Distances Using Spanners of Bounded Degree

49

Building the paths Building the paths p,q – two points in S. we want to build a

path between p and q.1. Start at p at level 1. walk right until you

reach an point at level 2.1. If q is reached – finished.

2. Otherwise, let p1 be the first point encountered at level 2.

2. Do the same walking left from q at level 1- let q1 is the first point encountered at level 2. - if p1 is reached – finished.

3. Recursively build a path between p1 and q1.

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip ListSkip List

Skip List Spanner

Page 50: Enumerating Distances Using Spanners of Bounded Degree

50

Building the pathsBuilding the paths

This way, we construct two paths. The construction stops as soon as the

two paths meet.

The result of building a path between 4 and 14 on the skip list example is:

1 1 2 2 3 3 2 1 14 ,5 ,5 ,9 ,9 ,12 ,12 ,12 ,14

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip ListSkip List

Skip List Spanner

Page 51: Enumerating Distances Using Spanners of Bounded Degree

51

Building the pathsBuilding the paths The expected number of steps made

to build a path between p and q is .

The excepted number of steps made at level i is O(1), and there are levels.

log n

log n

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip ListSkip List

Skip List Spanner

Page 52: Enumerating Distances Using Spanners of Bounded Degree

52

The spanner in 1-DThe spanner in 1-D By “flattening” the vertices, we can regard

the skip list as a graph G. The expected path length between two

points p,q is . The path the from the example in G is:

4,5,9,12,14. The skip list is a 1-spanner for S.

What is the expected spanner diameter ?

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip ListSkip List

Skip List Spanner

log n

Page 53: Enumerating Distances Using Spanners of Bounded Degree

53

SummarySummaryTheorem:

Let S be a set on n real numbers. The skip list of S can be regarded as a graph which is a 1-spanner for S. with high probability, the number of edges of this graph is

and its spanner diameter is .

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip ListSkip List

Skip List Spanner

log n n

Page 54: Enumerating Distances Using Spanners of Bounded Degree

54

Skip list spannerSkip list spanner We want to generalize out solution for

1-D to 2-D. S – a set of n points in the plane.

We’ll use the same random process to obtain the following sequence:

of subsets of S, where .

1 1 2 2 1h h h hS S S S S S S

hS

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip List Skip List SpannerSkip List Spanner

Page 55: Enumerating Distances Using Spanners of Bounded Degree

55

Skip List 2-D spannerSkip List 2-D spannerDefinition: - an integer. , are

constructed be the random process. For S is defined as follows:

1. For each, i, , the points of are stored in the graph . The points of are at level i of the skip list spanner.

2. for each i, , and each , the occurrences of in level i and level i-1 are connected by pointers.

2k iS 1 i h

( , )SLS S k1 i h iS

,iS kiS

1 i h ip Sp

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip List Skip List SpannerSkip List Spanner

Page 56: Enumerating Distances Using Spanners of Bounded Degree

56

Recall Recall ΘΘ graph graphDefinition: Let be an integer, let and let S

be a set of points in the plane. The undirected graph is defined as follows:

1. The vertices of are the points of S.

2. For each point p of S and for each cone C of Ck, such that the translated cone Cp contains one or more points of , the graph contains one edge where r is a point in , whose orthogonal projection onto is closest to p

2k 2 / k

,S k

,S k

\S p ,S k ,p r

/pC S p

,C pl

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip List Skip List SpannerSkip List Spanner

Page 57: Enumerating Distances Using Spanners of Bounded Degree

57

Recall Recall ΘΘ graph graph

p

,C pl

r

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip List Skip List SpannerSkip List Spanner

Page 58: Enumerating Distances Using Spanners of Bounded Degree

58

Skip List 2-D spannerSkip List 2-D spanner is a graph with vertex set S

and edge set the union of the edge sets of the graphs , .

Lemma: an integer, , S a set of n

points in the plane. The skip list spanner is a t-spanner for S with with high probability, this graph contains edges and can be constructed in time.

( , )SLS S k

1 i h ,iS k

9k 2 / k

1/ cos sint

kn( log )kn n

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip List Skip List SpannerSkip List Spanner

Page 59: Enumerating Distances Using Spanners of Bounded Degree

59

Building a pathBuilding a path Like in the 1-D case in order to build a

path between p and q we build two paths. One starting at p and the other at q. We stop when the paths meet.

We start at p at level 1 and build a path in the graph from p toward q.

Suppose we’ve built a path from p to x. If x = q – finished. If and x doesn’t occur on level 2:

1. C a cone of such that q in .

2. x’ is the point of such that {x,x’} is an edge of .

1,S k

x q

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip List Skip List SpannerSkip List Spanner kC Cx

1xC S 1,S k

Page 60: Enumerating Distances Using Spanners of Bounded Degree

60

Building a pathBuilding a path Then x’ is the next point on the path from

p toward q. set x=x’. We keep extending this path until x=q or

the point x occurs at level 2. Assume that x occurs at level 2. We start building a path from q to x in

.

Assume we’ve built a path from q to y. We stop extending the path if y is one of

the points on the path from p to x or if y occurs at level 2.

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip List Skip List SpannerSkip List Spanner

1,S k

Page 61: Enumerating Distances Using Spanners of Bounded Degree

61

Building a pathBuilding a path Assume y is a point p’ on the path

from p to x. In this case we return the path from p to p’ followed by the reverse of the path from q to p’ and stop.

Otherwise, x and y are both on level 2 and we use the same algorithm to construct a path between them.

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip List Skip List SpannerSkip List Spanner

Page 62: Enumerating Distances Using Spanners of Bounded Degree

62

SummarySummaryTheorem: Let be an integer, let , and let

be a set of n points in the plane. Then the following is true: 1. The skip list spanner is a t-spanner for with high probability it contains edges. 2. The skip list spanner can be constructed in with high probability. 3. with high probability, the spanner diameter of the skip list spanner is . 4. all these bounds are with respect to the coin flips that are used to build the skip list spanner.

9k 2 / k

1/ cos sint

Outline

Enumerating distance Using spanners

Approximate distance

Presentation Algorithm Correctness Time Analysis

Exact distance

Presentation Algorithm Correctness Time Analysis

Generalizing skip listsGeneralizing skip lists

Skip List Skip List SpannerSkip List Spanner

S

( , )SLS S k

kn

logkn n

(log )n

Page 63: Enumerating Distances Using Spanners of Bounded Degree

63