Efficiently navigating a random Delaunay triangulation Nicolas - - PowerPoint PPT Presentation

efficiently navigating a random delaunay triangulation
SMART_READER_LITE
LIVE PREVIEW

Efficiently navigating a random Delaunay triangulation Nicolas - - PowerPoint PPT Presentation

Efficiently navigating a random Delaunay triangulation Nicolas Broutin, Olivier Devillers, Ross Hemsley The Delaunay Triangulation Take some points (Assume no 4 points on circle, or 3 points on line) The Delaunay Triangulation Add all


slide-1
SLIDE 1

Efficiently navigating a random Delaunay triangulation

Nicolas Broutin, Olivier Devillers, Ross Hemsley

slide-2
SLIDE 2

The Delaunay Triangulation

Take some points

(Assume no 4 points on circle, or 3 points on line)

slide-3
SLIDE 3

The Delaunay Triangulation

Add all triangles having empty circumcircles

slide-4
SLIDE 4

The Delaunay Triangulation

Result: Delaunay Triangulation

slide-5
SLIDE 5

The Delaunay Triangulation

Useful for Interpolation Surface Reconstruction Routing ... Easily extends to higher dimensions

slide-6
SLIDE 6

The Problem: Point Location

slide-7
SLIDE 7

Input: Delaunay Triangulation

slide-8
SLIDE 8

Input: Delaunay Triangulation, Point

slide-9
SLIDE 9

Output: Triangle containing point

slide-10
SLIDE 10

A Possible Solution

(1) Choose arbitrary start vertex

slide-11
SLIDE 11

A Possible Solution

(2) Move to neighbour that is closest to destination

slide-12
SLIDE 12

A Possible Solution

(2) Move to neighbour that is closest to destination...

slide-13
SLIDE 13

A Possible Solution

(2) Move to neighbour that is closest to destination...

slide-14
SLIDE 14

A Possible Solution

(2) Move to neighbour that is closest to destination...

slide-15
SLIDE 15

A Possible Solution

(3) Terminate when we cannot advance

slide-16
SLIDE 16
  • No (non-trivial) analysis
  • Very effective in practice

Idea: Analyse for n random points in unit disc?

Vertex Walk Call this:

Conjecture: Θ(|zq|√n ) (expectation for random z, q)

slide-17
SLIDE 17

Why is it tricky to analyse?

Next step depends non-trivially on previous steps.

slide-18
SLIDE 18

A similar algorithm can give the properties we want

Our Contribution:

slide-19
SLIDE 19

Introducing Cone Walk

“Search Cone” “Search Disc”

slide-20
SLIDE 20

Zi q Ri Far from destination ⇒ cones do not intersect ⇒ progress for each step is iid r.v

slide-21
SLIDE 21

Zi q Ri How does this relate to Delaunay... ?

slide-22
SLIDE 22

Lemma Always a path from Zi to Zi+1 in DT ∩ search disc.

slide-23
SLIDE 23

Lemma Always a path from Zi to Zi+1 in DT ∩ search disc. Proof By ‘growing circles’

slide-24
SLIDE 24

Lemma Always a path from Zi to Zi+1 in DT ∩ search disc. Proof By ‘growing circles’

slide-25
SLIDE 25

Lemma Always a path from Zi to Zi+1 in DT ∩ search disc. Proof By ‘growing circles’

slide-26
SLIDE 26

Lemma Always a path from Zi to Zi+1 in DT ∩ search disc. Proof By ‘growing circles’

slide-27
SLIDE 27

q Cone Walk on the Delaunay Triangulation

Algorithm gives a path, like vertex walk

slide-28
SLIDE 28

Vertex Walk Cone Walk

Competitve Worst case complexity Memoryless Worst Complexity ∀z, q No Yes (< 3.7) Yes No⋆ O(n) Op(|zq|√n log log n + 5

  • |zq| log6 n)

O(n) Op(√n log log n)

All bounds are best known bounds For n uniform points in a unit disc

[see paper] Vertices on Path ∀z, q O(n) Op(|zq|√n + 5

  • |zq| log6 n)
slide-29
SLIDE 29

Vertex Walk Cone Walk

Competitve Worst case complexity Memoryless Worst Complexity ∀z, q No Yes (< 3.7) Yes No⋆ O(n) Op(|zq|√n log log n + 5

  • |zq| log6 n)

O(n) Op(√n log log n)

All bounds are best known bounds For n uniform points in a unit disc

[see paper] Vertices on Path ∀z, q O(n) Op(|zq|√n + 5

  • |zq| log6 n)
slide-30
SLIDE 30

Bounding Vertices Accessed

  • Know behaviour within discs
  • Pointset has no border
  • Planar Poisson process (intensity 1)

Assume: [random points with average density 1 on R2]

slide-31
SLIDE 31

Bounding Vertices Accessed q z Consider some walk

slide-32
SLIDE 32

Bounding Vertices Accessed q z Consider some walk It accesses all points in discs

slide-33
SLIDE 33

Bounding Vertices Accessed q z Consider some walk It accesses all points in discs + 1-neighbourhood

slide-34
SLIDE 34

Bounding Vertices Accessed q z Consider some walk It accesses all points in discs + 1-neighbourhood Outputs path

slide-35
SLIDE 35

Bounding Vertices Accessed q z

slide-36
SLIDE 36

Bounding Vertices Accessed q z

slide-37
SLIDE 37

Bounding Vertices Accessed

Accessed ≤ Blue Crossing Edges +

slide-38
SLIDE 38

Bounding Vertices Accessed

How many crossing edges?

x

slide-39
SLIDE 39

Bounding Vertices Accessed

How many crossing edges? Wheel [Devroye et al.]

slide-40
SLIDE 40

Bounding Vertices Accessed

How many crossing edges? in 1-neighbourhood ⇒ ≥ 1 ×

x

empty

(because of Delaunay property)

slide-41
SLIDE 41

Bounding Vertices Accessed

How many crossing edges?

P(x a border point) = 24 exp

  • − π

32|xW|2

[we assume input is R2 for now]

|xW|

slide-42
SLIDE 42

Bounding Vertices Accessed

How many crossing edges?

P(x a border point) = 24 exp

  • − π

32|xW|2

[we assume input is R2 for now]

|xW|

E[#border points] =

  • R2\W

P(x a border point) λ(dx)

slide-43
SLIDE 43

Bounding Vertices Accessed

How many crossing edges?

P(x a border point) = 24 exp

  • − π

32|xW|2

[we assume input is R2 for now]

|xW|

E[#border points] =

  • R2\W

P(x a border point) λ(dx) Slivnyak-Mecke Formula

slide-44
SLIDE 44

Bounding Vertices Accessed

How many crossing edges?

P(x a border point) = 24 exp

  • − π

32|xW|2

[we assume input is R2 for now]

|xW|

E[#border points] =

  • R2\W

24 exp

  • − π

32|xW|2 λ(dx)

slide-45
SLIDE 45

Bounding Vertices Accessed

How many crossing edges?

P(x a border point) = 24 exp

  • − π

32|xW|2

[we assume input is R2 for now]

|xW|

E[#border points] =

  • R2\W

24 exp

  • − π

32|xW|2 λ(dx) ≤

  • i=0
  • Ui

24 exp

  • − π

32i2 λ(dx) U1 U2

slide-46
SLIDE 46

Bounding Vertices Accessed

How many crossing edges?

P(x a border point) = 24 exp

  • − π

32|xW|2

[we assume input is R2 for now]

|xW|

E[#border points] =

  • R2\W

24 exp

  • − π

32|xW|2 λ(dx) ≤

  • i=0
  • Ui

24 exp

  • − π

32i2 λ(dx) U1 U2 ≤

  • i=0

λ(Ui) 24 exp

  • − π

32i2

slide-47
SLIDE 47

Bounding Vertices Accessed

How many crossing edges?

P(x a border point) = 24 exp

  • − π

32|xW|2

[we assume input is R2 for now]

|xW|

E[#border points] =

  • R2\W

24 exp

  • − π

32|xW|2 λ(dx) ≤

  • i=0
  • Ui

24 exp

  • − π

32i2 λ(dx) U1 U2 ≤

  • i=0

λ(Ui) 24 exp

  • − π

32i2 ≤ 24

  • i=0

κ−1

  • j=0

π(2(Rj + i) + 1) exp

  • − π

32i2

slide-48
SLIDE 48

Bounding Vertices Accessed

How many crossing edges?

E[#border points] ≤ C · max

  • |zq|, log6 n
slide-49
SLIDE 49

Bounding Vertices Accessed

How many crossing edges?

E[#border points] ≤ C · max

  • |zq|, log6 n
  • z

q

Recall

slide-50
SLIDE 50

Bounding Vertices Accessed

How many crossing edges?

E[#border points] ≤ C · max

  • |zq|, log6 n
  • z

q

Recall

slide-51
SLIDE 51

Bounding Vertices Accessed

How many crossing edges?

E[#border points] ≤ C · max

  • |zq|, log6 n
  • z

q

Recall Euler Relation: crossing 3 ×

  • border + blue

# ≤

slide-52
SLIDE 52

Bounding Vertices Accessed From expectation to concentration

slide-53
SLIDE 53

Bounding Vertices Accessed

From expectation to concentration Recall: # border =

  • x∈X

1{x a border point}

slide-54
SLIDE 54

Bounding Vertices Accessed

From expectation to concentration Recall: # border =

  • x∈X

1{x a border point} Sum of dependent r.v’s

slide-55
SLIDE 55

Bounding Vertices Accessed

From expectation to concentration Recall: # border =

  • x∈X

1{x a border point} Sum of dependent r.v’s

P(#border points ≥ E[#border points] + t) ≤ E

  • exp

2t2 χ · |X ∩ W ∂|

slide-56
SLIDE 56

Bounding Vertices Accessed

From expectation to concentration Recall: # border =

  • x∈X

1{x a border point} Sum of dependent r.v’s Janson

P(#border points ≥ E[#border points] + t) ≤ E

  • exp

2t2 χ · |X ∩ W ∂|

slide-57
SLIDE 57

Bounding Vertices Accessed

From expectation to concentration Recall: # border =

  • x∈X

1{x a border point} Sum of dependent r.v’s Janson

P(#border points ≥ E[#border points] + t) ≤ E

  • exp

2t2 χ · |X ∩ W ∂|

  • max. # overlapping ‘wheels’
slide-58
SLIDE 58

Bounding Vertices Accessed

From expectation to concentration Recall: # border =

  • x∈X

1{x a border point} Sum of dependent r.v’s Janson

P(#border points ≥ E[#border points] + t) ≤ E

  • exp

2t2 χ · |X ∩ W ∂|

  • max. # overlapping ‘wheels’

Special region with ‘all’ border points

slide-59
SLIDE 59

Bounding Vertices Accessed

Bounding the worst case (in brief)

slide-60
SLIDE 60

Bounding Vertices Accessed

Bounding the worst case (in brief) 1) At most n4 walks on n points

slide-61
SLIDE 61

Bounding Vertices Accessed

Bounding the worst case (in brief) 1) At most n4 walks on n points 2) Generate ‘small’ sample containing them all

slide-62
SLIDE 62

Bounding Vertices Accessed

Bounding the worst case (in brief) 1) At most n4 walks on n points 2) Generate ‘small’ sample containing them all 2) Concentration inequalities overwhelm sample size

slide-63
SLIDE 63

Thanks

slide-64
SLIDE 64

D 1 p q |pq| Contributes O(|pq|√n )