Computational Geometry Exercise session #7: Voronoi diagrams - - PDF document

computational geometry
SMART_READER_LITE
LIVE PREVIEW

Computational Geometry Exercise session #7: Voronoi diagrams - - PDF document

Computational Geometry Exercise session #7: Voronoi diagrams Fields of applications of Voronoi Diagrams Applications: 1. The largest empty circle problem 2. Euclidean minimum spanning trees 3. Euclidean traveling salesman problem 4.


slide-1
SLIDE 1

1

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

1

Computational Geometry

Exercise session #7: Voronoi diagrams

  • Fields of applications of Voronoi Diagrams
  • Applications:
  • 1. The largest empty circle problem
  • 2. Euclidean minimum spanning trees
  • 3. Euclidean traveling salesman problem
  • 4. Polyhedral terrain reconstruction
  • Graphs related to the Delaunay graph
  • Homework 3 solution

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

2

Fields of application

  • Partial list of fields:

Anthropology Archaeology Astronomy Biology Cartography Chemistry Crystallography Ecology Forestry Geography Geology Linguistics Marketing Metallography Meteorology Operations research Physics Physiology Statistics Remote sensing Urban planning

slide-2
SLIDE 2

2

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

3

The largest empty circle problem

  • Problem definition: find a largest radius circle

whose center is in the (closed) convex hull of a set of n sites S, and contains no sites within its interior.

  • Motivation: placement of a nuclear reactor as

far away from point-cities (maximize minimal distance while keeping maximum small).

  • An optimization problem with seemingly

infinite choice of options (location of center).

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

4

Centers inside the convex hull

  • Imagine inflating a circle from a point p inside the

hull until it hits a site (radius = f(p)).

  • f(p) cannot be a maximum if only one site is hit (p

inside Voronoi cell).

  • f(p) also cannot be a maximum if only two sites are

hit (p on edge of Voronoi diagram).

  • f(p) is possibly at local maximum if three sites are hit

at the same time (Voronoi vertex), but not always (sites must encompass more than semicircle).

  • Conclusion: look at circles at Voronoi vertices.
slide-3
SLIDE 3

3

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

5

Centers on convex hull boundary

  • Previous arguments do not apply when point is
  • n boundary of hull.
  • f(p) cannot be a maximum on a hull vertex.
  • If circle hits one site, f(p) can increase by

moving to one of the two sides of the hull edge.

  • f(p) can be at local maxima if two sites are hit,

since outside of hull is illegal.

  • Conclusion: maxima of f(p) can occur at

intersection of Voronoi edges and hull boundary.

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

6

Largest empty circle algorithm

1. Compute Voronoi Diagram of sites VD(S). 2. Compute convex hull CH(S). 3. For each Voronoi vertex v do:

  • If v is inside CH(S) then
  • Compute radius of circle centered on v, update

max 4. For each Voronoi edge e do:

  • Compute p = e ∩ ∂CH(S)
  • Compute radius of circle centered on p, update

max

  • Return max
slide-4
SLIDE 4

4

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

7

Algorithm complexity

  • Naïve implementation: O(n2) time.
  • Efficient implementation:

Step 3 – preprocess CH(S) for point inclusion queries costing O(logn) time each. Step 4 – find intersection by binary search, discrimination based on vertex-edge sidededness tests: O(logn) time each. Total O(nlogn) time for entire algorithm.

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

8

Polyhedral terrain reconstruction

slide-5
SLIDE 5

5

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

9

Fat triangulations

  • There are many ways to triangulate a point set.
  • Good heuristic: maximize minimal angle.

10 980 990 36

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

10

Lexicographical order of triangulations

  • Let t be the number of triangles in

triangulation T (constant for fixed point set S).

  • Let α1,α2,…,α3t be the angles of the triangles,

sorted by increasing order.

  • Definition: Triangulation T > T’ if there exists

an index i ≤ 3t such that αj=αj’ for all j < i and αi>αi’.

  • Theorem: the Delaunay triangulation DT is

maximal, that is DT ≥ T, for any T of S.

slide-6
SLIDE 6

6

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

11

Sketch of proof

  • The edge flip operation on an ‘illegal edge’ of

the triangulation results in T’ > T.

  • An edge is illegal iff the enclosing circle

contains one of the quadrilateral points.

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

12

Sketch of proof, continued

  • From definition of Delaunay graph as the dual
  • f the Voronoi diagram:

there is an edge between p and q iff there exists a closed disc with p and q on its boundary and no

  • ther site in its interior.

Three points p,q,r are the vertices of the same face

  • f the Delaunay graph iff the circle through them

contains no other point.

  • The delaunay triangulation is obtained from

repeated edge flipping until no more improvements are possible.

slide-7
SLIDE 7

7

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

13

Euclidean Minimum Spanning Tree

  • The Minimum Spanning Tree (MST) of a

graph G=(V,E) is a tree that covers V with minimal total weight of the edges.

  • Consider the complete graph on a set of points

S, with edge weights equal to the Euclidean

  • distance. The MST of this graph is called the

EMST of S.

  • Motivation: minimal cost of a (telephone,

cable, …) network that reaches every target.

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

14

Kruskal’s algorithm

  • The greedy approach to growing the tree:

Sort the edges by their weight: e1,e2,… Initialize tree T to be empty, i = 1. While T is not spanning do: If T + ei is acyclic then T = T + ei i = i + 1

  • The algorithm can be implemented in

O(|E|log|E|) time.

  • In our case, |E| = n(n-1)/2.
slide-8
SLIDE 8

8

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

15

Relation between EMST and DG

  • Theorem: EMST(S) is a subset of the Delaunay

graph DG(S).

  • Proof:

Assume edge e=(p,q) in EMST(S) but not in DG(S). No circle with p, q on boundary is empty. Circle with e as diameter is not empty (r inside). Remove e from EMST(S), put either (p,r) or (q,r) instead to obtain shorter tree contradiction.

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

16

Efficient EMST algorithm

  • Compute the Delaunay graph of S.
  • Compute the EMST using Kruskal’s algorithm
  • n the edges of DG.
  • Complexity: O(nlogn).
slide-9
SLIDE 9

9

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

17

Euclidean Traveling Salesman Problem

  • TSP problem on graphs: visit every vertex and

return to origin with minimum total cost.

  • ETSP problem: similar, except no graph edges

specified – every shortcut is possible.

  • Problem is NP-complete. Known 2-

approximation: use the MST as the path, running on all edges twice.

  • Improvement – make detours where vertex

already visited.

  • The Christofides heuristc: 1.5 approximation.

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

18

Graphs related to Delaunay graph

  • The boundary of the convex hull is a subgraph
  • f the Delaunay graph.
  • Definition: the Gabriel Graph (GG) has an

edge (p,q) iff the circle with (p,q) as diameter is empty of points in S.

  • Definition: the Relative Neighborhood Graph

(RNG) has an edge (p,q) iff d(p,q) ≤ minr≠p,q{d(p,r),d(q,r)}

i.e. lune defined by intersection two discs is empty.

slide-10
SLIDE 10

10

Yaron Ostrovsky-Berman, Computational Geometry, Spring 2005

19

Relation between graphs

  • Definition: the Nearest Neighbor Graph

(NNG) has a directed edge pq iff q is the nearest neighbor of p.

DG(S) ∂CH(S) GG(S) RNG(S) EMST(S)