Higher-Order Voronoi Diagrams of Polygonal Objects. Dissertation

Post on 18-Jul-2015

185 views 1 download

Tags:

Transcript of Higher-Order Voronoi Diagrams of Polygonal Objects. Dissertation

Ph.D. Defense

Maksym Zavershynskyi

Supervisor: Prof. Evanthia PapadopoulouDate: Lugano, 24 November 2014

Higher-OrderVoronoi Diagramsof Polygonal Objects

Voronoi Diagram

Voronoi DiagramNearest neighbor Voronoi diagram of sites S is the partitioning of the plane into regions, such that every point within a fixed region has the same nearest site.

Higher-Order Voronoi Diagram

Higher-Order Voronoi DiagramOrder-k Voronoi diagram of sites S is the partitioning of the plane into regions, such that every point within a fixed region has the same closest k sites.

Complexity

Lee’82

Voronoi Diagram of Line Segments

Voronoi Diagram of Line SegmentsThe distance to a line segment is measured as the minimum distance.

Higher-Order Voronoi Diagram of Line Segments

Higher-Order Voronoi Diagram of Line SegmentsThe higher-order Voronoi diagram of points is the only concrete higher-order Voronoi diagram that has been studied so far!

2-order Voronoi diagram of line segments

Motivation

Motivation?

1.It is a fascinating combinatorial problem to study!

2.It is motivated by applications

Timeline

Higher-Order Voronoi Diagrams Timeline

1975 - Introduced by Shamos and Hoey

1975 1985 1995 2005 2014

1982 - Structural bound and first algorithm by Lee

1985-2000 - Around 15 Algorithms Discovered 2006 - Farthest Line Segment Voronoi

Diagram Studied by Aurenhammer et al.

2011 - Farthest Polygon Voronoi Diagram Studied by Cheong et al.

2010-2014 Our Research!

Algorithms for Higher-Order Voronoi Diagrams

Lee

Aggarwal et al.

Rosenberger

Edelsbrunner

Chazelle and Edelsbrunner

Chazelle and Edelsbrunner

Boissonat et al.

Algorithms for Higher-Order Voronoi Diagrams

Algorithms for Higher-Order Voronoi Diagrams

Aurenhammer

Aurenhammer and Schwarzkopf

Mulmuley

Clarkson

Agarwal et al.

Chan

Ramos

Chan

Algorithms for Higher-Order Voronoi Diagrams

Almost !

Outline

Contributions of this Dissertation

1.Higher-Order Voronoi Diagrams of Line Segments

2.Higher-Order Voronoi Diagrams of a Planar Straight-Line Graph

3.Sweepline Algorithm

4.Algorithms for Higher-Order Abstract Voronoi Diagrams

Higher-OrderVoronoi Diagramsof Line Segments

Higher-Order Voronoi Diagram of Line Segments

Higher-Order Voronoi Diagram of Line SegmentsOrder-k Voronoi diagram of sites S is the partitioning of the plane into regions, such that every point within a fixed region has the same closest k sites.

Disconnected Regions

Disconnected RegionsA single order-k Voronoi region can disconnect into Ω(n) faces, k>1.

2-order Voronoi diagram of line segments

This does not happen for points!

1.In the case of points the faces are convex polygons:

In the case of line segments not convex and not polygons:

2.In the case of points we have k-set theory

In the case of line segments we have to use more general structures

3.In the case of points

In the case of line segments

Points vs Line Segments

Points vs Line Segments

Structural Complexity

Despite all these difficulties we proved that the structural complexity of the order-k Voronoi diagram of disjoint line segments is

same as for the points!

Kirkpatrick’79The structural complexity of the order-1 Voronoi diagram is:

The structural complexity of the order-(n-1) Voronoi diagram is:

Intersecting Line Segments

Intersecting Line Segments

We proved that the structural complexity of the higher-order Voronoi diagram of intersecting line segments is

Aurenhammer et al.’06

We have extended our results to Lp metrics, 1≤p≤∞

Intersecting Line Segments

In Lp Metrics

For disjoint line segments in L1 and L∞ we proved tighter bounds:

Higher-OrderVoronoi Diagramsof a Planar Straight-Line Graph

Planar Straight-Line Graph

Planar Straight-Line Graph

Planar Straight-Line Graph

Planar Straight-Line Graph

s1 s2

b(s1, s2)

b(s1, s2)

2-dimensional bisectors

s1

s2s3

s4

b(s1, s4)b(s2, s4)b(s3, s4)b(s1, s4)

b(s2, s4), b(s3, s4)

non-transversal intersections

Augmenting the Definition of a Voronoi Region

Augmenting the Definition of a Voronoi Region

Order-k subset H of S:

Type-1:

Type-2: and there is a proper order-k disk such that

p - is the representative of

An order-k disk - the disk of minimum radius that intersects at least k line segments.

- segments intersected by

Augmenting the Definition of a Voronoi Region

Augmenting the Definition of a Voronoi Region

Type-1 order-k Voronoi region:

Type-2 order-k Voronoi region:

Order-k Voronoi Diagram of a Planar Straight-Line Graph

Order-k Voronoi Diagram of a PSLG

s1

s2

s3

s4s5s6

s7

s8

V1({s5, s6}a, S)

V1({s1, s6, s7}d, S)

V1({s1, s2}f , S) V1({s2, s3}g , S)

V1({s3, s4}b, S)

V1({s5}, S) V1({s4}, S)

V1({s3}, S)

V1({s2}, S)

V1({s1}, S)

V1({s6}, S)

V1({s7}, S)

V1({s8}, S)

V1({s4, s5}c, S)V1({s7, s8}e, S)

ab

c

d

e

f gV2({s1, s2}, S)

V2({s6, s5}, S) V2({s3, s4}, S)

V2({s3, s8}, S)

V2({s2, s8}, S)

V2({s4, s5}, S)

V2({s7, s5}, S)

V2({s7, s8}, S)

V2({s3, s4, s5}c, S)

V2({s4, s5, s8}c, S)

V2({s5, s7, s8}e, S)

V2({s2, s7}, S)

V2({s1, s6, s7}d, S)

V2({s2, s3, s8}g , S)

V2({s1, s7}, S)

V2({s6, s7}, S)

s1

s2

s3

s4s5s6

s7

s8

ab

c

d

e

fg

Structural Complexity

Structural Complexity

We proved that the structural complexity is

We have extended the iterative algorithm to construct the order-k Voronoi

diagram of a PSLG, with the following time complexity:

Publications

Publications

• Papadopoulou, E. and Zavershynskyi, M. The higher-order Voronoi diagram of line segments. To appear in Algorithmica journal.

• Papadopoulou, E. and Zavershynskyi, M. [2012] On higher-order Voronoi diagrams of line segments, in Chao, K.-M., Hsu, T.-s., Lee, D.-T. (eds), ISAAC, Vol. 7676 of LNCS, Springer, pp. 177-186

•Extended abstract: Papadopoulou, E. and Zavershynskyi, M. [2012] On higher-order Voronoi diagrams of line segments. EuroCG 2012, pp. 232-236

Sweepline Algorithmfor Higher-Order Voronoi Diagramsof Line Segments

The Idea of the Sweepline Algorithm

The IdeaAs the horizontal line moves down we maintain k x-monotone curves.

x

s

Time and Space Complexity

Time and Space Complexity

•Time complexity:

•Space complexity:

•Can be used to construct all order-i Voronoi diagrams, for i≤k

•Can be used for on-the-fly computations

•Memory efficient

•Easy to implement

Sweepline Algorithm for a Planar Straight-Line Graph

Sweepline Algorithm for PSLG

A0

A1

A2

•Can be generalized to construct the order-k Voronoi diagram of a planar straight-line graph•The body of the algorithm is essentially the same as of disjoint line segments•However, the discrete event points that change the topology of the arrangement during the sweeping are harder to process

Publications

Publications

•Zavershynskyi, M. and Papadopoulou, E. A sweepline algorithm for higher-order Voronoi diagrams of line segments. To be submitted to a journal.

•Zavershynskyi, M. and Papadopoulou, E. [2013] A sweepline algorithm for higher-order Voronoi diargams, ISVD, IEEE, pp. 16-22

•Extended abstract: Zavershynskyi, M. and Papadopoulou, E. [2013] A sweepline algorithm for higher-order Voronoi diagrams. EuroCG 2013, pp. 233-236

Algorithms forHigher-OrderAbstract Voronoi Diagrams

Voronoi Diagram

Abstract Voronoi Diagrams•Does not use the geometry of sites or distance functions•All we know is the set of bisectors

Klein’89, Klein et al.’09

Voronoi Diagram

Abstract Voronoi Diagrams•Does not use the geometry of sites or distance functions•All we know is the set of bisectors

Klein’89, Klein et al.’09

Voronoi Diagram

Abstract Voronoi Diagrams•Does not use the geometry of sites or distance functions•All we know is the set of bisectors

Klein’89, Klein et al.’09

Voronoi Diagram

Abstract Voronoi Diagrams•Does not use the geometry of sites or distance functions•All we know is the set of bisectors

?

?

Klein’89, Klein et al.’09

Abstract Voronoi Diagrams

Abstract Voronoi DiagramsVoronoi Region:

Voronoi Diagram:

For any

(A1) Each region is path-wise connected

(A2) Each point on the plane belongs to the closure of some Voronoi region

Klein’89, Klein et al.’09

Higher-Order Abstract Voronoi Diagrams

Higher-Order Abstract Voronoi DiagramsOrder-k Voronoi Region:

Order-k Voronoi Diagram:

For any

(A3) No first-order Voronoi region is empty

(A4) Each curve is unbounded. After a stereographic projection to the sphere, it can be

completed to be a closed Jordan curve through the north pole

(A5) Any two curves and have only finitely many intersection points, and these

intersections are transversalBohler et al.’14

Structural Complexity

Structural ComplexityThe number of faces:

Construction algorithms available for:

•order-1 abstract Voronoi diagram

•order-(n-1) abstract Voronoi diagram

Open problem:

Incremental construction algorithm for higher-order abstract

Voronoi diagrams based on Clarkson-Shor technique.

Bohler et al.’14

Klein et al.’91

Mehlhorn et al.’01

Mehlhorn et al.’91

Concrete Voronoi Diagrams that Satisfy the Axioms

Concrete Voronoi Diagrams that Satisfy the Axioms

1. Disjoint line segments in Lp metric 1≤p≤∞

2. Disjoint convex polygons

3.Additively weighted points

4.Power diagrams

etc

Aurenhammer et al.’13

Structural Complexity

Our Three Construction Algorithms

1.Randomized Iterative Algorithm

2.Random Walk Algorithm

3.Randomized Divide and Conquer Algorithm

(A6) A bisector has points of vertical tangency

Randomized Iterative Algorithm

Randomized Iterative Algorithm•Expected time complexity:

•Space complexity:

•Can be used to construct all order-i Voronoi diagrams, for i≤k

•Simple

•Easy to implement

Random Walk Algorithm

Random Walk Algorithm

Influence region of a site

Influence region of site s is the union of all order-k Voronoi regions induced by the site s

Chazelle&Edelsbrunner’87

Random Walk Algorithm

Random Walk Algorithm

Influence region of a site

•We can construct the influence region of a site using Har-Peled’s random walk algorithm.

•This takes expected time per site.O(n2α(n) log n)

Har-Peled’00

Random Walk Algorithm

Random Walk Algorithm•Based on the idea of Chazelle&Edelsbrunner

•Uses Har-Peled’s random walk method

•Easy to implement (Har-Peled’s implementation is available)

•Expected time complexity:

less than 6 for any practical number

Divide and Conquer in Abstract Setting

Divide and Conquer in Abstract SettingHow do we perform divide and conquer when the sites are abstract?

?

??

?

?

??

?

?

??

?

?? ?

?

?

?

?

???

??

? ?

?? ?

?

?

?

? ?

?

??

???

Select Random Sample

Select Random SampleSelect a random sample of constant size such that it is a “good predictor” of all sites

?

??

?

?

??

?

?

??

?

?? ?

?

?

?

?

???

??

? ?

?? ?

?

?

?

? ?

?

??

???

Divide

Divide StepConstruct order-β Voronoi diagram of using randomized iterative algorithm, where

?

?

??

??

Divide

Divide StepConstruct order-β Voronoi diagram of using randomized iterative algorithm, whereConstruct order-(β+1) Voronoi diagram of

?

?

??

??

Weak Conflict

The Trick is to Find a Conflict Relation!•The notion of conflict comes from the Clarkson-Shor technique

•Site weakly conflicts if

?

?

Conquer

Conquer Step•Consider only those sites that are in weak conflict with the trapezoid•Recursively solve the problem•If the problem is small enough solve it with random walk algorithm

??

?

? ??

?

?

The Conflicts “Bracket” the Abstract Sites

The Conflicts “Bracket” the Abstract Sites•Upper bound the number of weak conflicts per trapezoid - is used to bound the size of the recursive input•Lower bound the number of strong conflicts per trapezoid - is used to bound the depth of the recursion

Weak conflict Strong conflict

?

?

?

?

Randomized Divide and Conquer Algorithm

Randomized Divide and Conquer Algorithm

•Establishes connection between two mathematical abstractions:

higher-order abstract Voronoi diagrams and Clarkson-Shor framework

•Time complexity:

for any constant

•Uses two other algorithms for subroutines

Publications

Publications

•Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. A randomized divide and conquer algorithm for higher-order abstract Voronoi diagrams. To be submitted to a journal.

•Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. [2014] A randomized divide and conquer algorithm for higher-order abstract Voronoi diagrams. To appear in the conference proceedings, ISAAC 2014.

•Abstract: Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. [2014] Randomized algorithms for higher-order abstract Voronoi diagrams. Booklet of abstracts of EuroGIGA conference in Berlin.

Conclusions

Conclusions

•higher-order Voronoi diagram of disjoint line segments

•higher-order Voronoi diagram of intersecting line segments

•higher-order Voronoi diagram of line segments in Lp metrics

for disjoint line segments in L1/L∞ :

We have extended the definitions to planar straight-line graph and studied structural

and combinatorial properties:

We have studied properties of:

Conclusions

•Iterative algorithm for line segments and PSLG:

•Sweepline algorithm for line segments and PSLG:

•Randomized iterative algorithm for higher-order abstract Voronoi diagrams:

•Random walk algorithm for higher-order abstract Voronoi diagrams:

•Randomized divide and conquer algorithm for higher-order abstract Voronoi diagrams:

We have developed construction algorithms:

Date: Lugano, 24 November 2014

Thanks!

(1) Papadopoulou, E. and Zavershynskyi, M. The higher-order Voronoi diagram of line segments. To appear in Algorithmica journal.(2) Papadopoulou, E. and Zavershynskyi, M. [2012] On higher-order Voronoi diagrams of line segments, in Chao, K.-M., Hsu, T.-s., Lee, D.-T. (eds), ISAAC, Vol. 7676 of LNCS, Springer, pp. 177-186

•Extended abstract: Papadopoulou, E. and Zavershynskyi, M. [2012] On higher-order Voronoi diagrams of line segments. EuroCG 2012, pp. 232-236

(3) Zavershynskyi, M. and Papadopoulou, E. A sweepline algorithm for higher-order Voronoi diagrams of line segments. To be submitted to a journal.(4) Zavershynskyi, M. and Papadopoulou, E. [2013] A sweepline algorithm for higher-order Voronoi diargams, ISVD, IEEE, pp. 16-22

•Extended abstract: Zavershynskyi, M. and Papadopoulou, E. [2013] A sweepline algorithm for higher-order Voronoi diagrams. EuroCG 2013, pp. 233-236

(5) Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. A randomized divide and conquer algorithm for higher-order abstract Voronoi diagrams. To be submitted to a journal.(6) Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. [2014] A randomized divide and conquer algorithm for higher-order abstract Voronoi diagrams. To appear in the conference proceedings, ISAAC 2014.

•Abstract: Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. [2014] Randomized algorithms for higher-order abstract Voronoi diagrams. Booklet of abstracts of EuroGIGA conference in Berlin.

(7) Bohler, C., Cheilaris, P., Klein, R., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. On the complexity of higher- order abstract Voronoi diagrams. Submitted to CGTA journal, first round of the revision.(8) Bohler, C., Cheilaris, P., Klein, R., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. [2014] On the complexity of higher-order abstract Voronoi diagrams, in Fomin, F.V., Freivalds, R., Kwiatkowska, M.Z. and Peleg, D. (eds), ICALP (1), Vol. 7965 of LNCS, pp. 208-219

Our publications

Backup Slides

Disconnected Regions

Complexity Analysis for Line Segments

Vertices in PSLG

Iterative Algorithm for PSLG

Sweepline Algorithm

Randomized Divide and Conquer Algorithm in Abstract Setting

Clarkson’s Algorithm for Points

Disconnected Regions

Disconnected Regions

Disconnected Regions

Back

An order-k Voronoi region may disconnect to bounded faces. For

!"#$"%&'()")*)+'#+,"-,.')/'0'1+*$%2$-.$*32'

Disconnected Regions

Disconnected Regions

Back

An order-k Voronoi region may disconnect to unbounded faces. For

!"#$"%&'()")*)+'#+,"-,.')/'0'1+*$%2$-.$*32'4'5$*$",1+6+*-'789"$*:,..$"'$3',1';<=>'

k

n-k

Disconnected Regions

Disconnected Regions

Back

An order-k Voronoi region may disconnect to unbounded faces. For

F1

F2

F3

F4

!"#$"%&'()")*)+'#+,"-,.')/'0'1+*$%2$-.$*32'4'5$*$",1+6+*-'789"$*:,..$"'$3',1';<=>'

?+*$%2$-.$*32'@,*'A$'9*3,*-1$#B'

Complexity Analysis for Line Segments

Structural Complexity Analysis for Line SegmentsBack

1.First we calculate the number of faces:

2.Second we calculate the total number of unbounded faces:

3.Finally we bound the number of unbounded faces:

... and prove the bound

Structural Complexity Analysis for Line Segments

Vertices in PSLG

Vertices in PSLG

Vertices in PSLG

Back

!  Type-2 Voronoi regions create configurations that are non-standard in an order-k Voronoi diagram of disjoint sites.

!  As k increases type-2 Voronoi regions spread their influence on neighboring regions.

16 Evanthia Papadopoulou, Maksym Zavershynskyi

p

1 2

V1(p)

V1(1) V1(2)

p

1 2

V2(p)

V2(p, 1) V2(p, 2)

V2(1, 2)

p

1 2

Vi(p)

Vi(p, 1) Vi(p, 2)

Vi(p, 1, 2)

p

1 2

Vi(p, 1) Vi(p, 2)

Vi(p, 1, 2)

Fig. 9: For brevity we denote Voronoi region of the representative p as V (p). (a) A Voronoivertex of an order-1 Voronoi diagram. The disk depicts the distance to the farthest site; (b)A Voronoi vertex of an order-2 Voronoi diagram; (c) A Voronoi vertex of an order-i Voronoidiagram, 2 < i ≤ |I(p)|. At order-|I(p)| Voronoi region Vi(p) becomes type-1; (d) A Voronoivertex of an order-|I(p)|+ 1 Voronoi diagram.

It shows how the region and its incident Voronoi vertex evolve as the orderof the diagram increases until the region becomes a type-1 region and itsincident vertex an ordinary Voronoi vertex of degree 3. Note that despitethe weak general position assumption, Voronoi vertices incident to a type-2Voronoi region may have degree higher than three (see e.g., Fig. 9b,c). Inmore detail, in Fig. 9a a Voronoi vertex v is incident to one type-2 Voronoiregion Vi(Hp, S) and two type-1 Voronoi regions Vi(Q,S) and Vi(R,S). As weincrease i, it may be seen as the type-2 Voronoi region “spreads” its influenceon neihgboring regions and more neighboring regions become type-2. In theorder-(i + 1) Voronoi diagram, v will be incident to type-2 Voronoi regionsVi+1(Hp, S), Vi+1(Hp ∪Q,S) and Vi+1(Hp ∪R,S) and type-1 Voronoi regionVi+1(Q∪R,S) (see Fig. 9b). Fig. 10a illustrates an example of a vertex incidentto 3 type-2 Voronoi regions with representatives p, r and q. Notice that asorder increases Voronoi region of q becomes type-1 and in the next order isbeen split between two type-2 Voronoi regions of representatives r and p, Fig.10b. Eventually this process may create a Voronoi vertex incident up to sixedges, defined by three bisectors.

p

qr

V (q)V (r)

V (p)

V (p, I(q))

V (r, I(q))

V (r)

V (p)

p

qr

V (p, I(q))

V (r, I(q))V (q, I(r))

V (p, I(r))

V (p)

p

qr

Fig. 10: (a) A Voronoi vertex incident to three type-2 regions; (b) In the order-j Voronoidiagram, j = |I(q)| + 1, the Voronoi region with representative q is split into two regions;(c) In the order-r Voronoi diargam, r = |I(r)|+ 1, the Voronoi region with representative ris split into two regions.

Vertices in PSLG

Vertices in PSLG

Back

!  Voronoi vertex has degree between 3 and 6.

!  Voronoi vertex can be an intersection point of only 2 bisectors that define 4 edges.

16 Evanthia Papadopoulou, Maksym Zavershynskyi

p

1 2

V1(p)

V1(1) V1(2)

p

1 2

V2(p)

V2(p, 1) V2(p, 2)

V2(1, 2)

p

1 2

Vi(p)

Vi(p, 1) Vi(p, 2)

Vi(p, 1, 2)

p

1 2

Vi(p, 1) Vi(p, 2)

Vi(p, 1, 2)

Fig. 9: For brevity we denote Voronoi region of the representative p as V (p). (a) A Voronoivertex of an order-1 Voronoi diagram. The disk depicts the distance to the farthest site; (b)A Voronoi vertex of an order-2 Voronoi diagram; (c) A Voronoi vertex of an order-i Voronoidiagram, 2 < i ≤ |I(p)|. At order-|I(p)| Voronoi region Vi(p) becomes type-1; (d) A Voronoivertex of an order-|I(p)|+ 1 Voronoi diagram.

It shows how the region and its incident Voronoi vertex evolve as the orderof the diagram increases until the region becomes a type-1 region and itsincident vertex an ordinary Voronoi vertex of degree 3. Note that despitethe weak general position assumption, Voronoi vertices incident to a type-2Voronoi region may have degree higher than three (see e.g., Fig. 9b,c). Inmore detail, in Fig. 9a a Voronoi vertex v is incident to one type-2 Voronoiregion Vi(Hp, S) and two type-1 Voronoi regions Vi(Q,S) and Vi(R,S). As weincrease i, it may be seen as the type-2 Voronoi region “spreads” its influenceon neihgboring regions and more neighboring regions become type-2. In theorder-(i + 1) Voronoi diagram, v will be incident to type-2 Voronoi regionsVi+1(Hp, S), Vi+1(Hp ∪Q,S) and Vi+1(Hp ∪R,S) and type-1 Voronoi regionVi+1(Q∪R,S) (see Fig. 9b). Fig. 10a illustrates an example of a vertex incidentto 3 type-2 Voronoi regions with representatives p, r and q. Notice that asorder increases Voronoi region of q becomes type-1 and in the next order isbeen split between two type-2 Voronoi regions of representatives r and p, Fig.10b. Eventually this process may create a Voronoi vertex incident up to sixedges, defined by three bisectors.

p

qr

V (q)V (r)

V (p)

V (p, I(q))

V (r, I(q))

V (r)

V (p)

p

qr

V (p, I(q))

V (r, I(q))V (q, I(r))

V (p, I(r))

V (p)

p

qr

Fig. 10: (a) A Voronoi vertex incident to three type-2 regions; (b) In the order-j Voronoidiagram, j = |I(q)| + 1, the Voronoi region with representative q is split into two regions;(c) In the order-r Voronoi diargam, r = |I(r)|+ 1, the Voronoi region with representative ris split into two regions.

Iterative Algorithm for PSLG

Iterative Algorithm for PSLG

Iterative Algorithm for PSLG

Back

•Construct order-1 Voronoi diagram•For i=1,...,k-1 do✴Partition each Type-1 face of order-i Voronoi diagram✴Remove unnecessary edges

s1

s2

s3

s4

s5

s6

s7

s8

a

b

c

d

e

f

g

V1({s4, s5}c, SF )

V1({s5}, SF )

V1({s6}, SF )V1({s1}, SF )

V1({s2}, SF )

V1({s3}, SF )V3({s2, s3, s8}, S)

V3({s3, s4, s8}, S)V3({s3, s4, s5}, S)

V3({s4, s5, s6}, S)

V3({s1, s5, s6, s7}d, S)

V3({s5, s6, s7}, S)

V3({s1, s6, s7}, S)V3({s1, s2, s6, s7}d, S)

V3({s1, s2, s3, s8}g , S)V3({s1, s2, s8}, S)

V3({s1, s2, s7}, S)

V3({s2, s7, s8}, S)

V3({s1, s7, s8}, S)

V3({s3, s7, s8}, S)V3({s4, s5, s8}, S)

V3({s4, s5, s7}, S)

V3({s5, s7, s8}, S)

V3({s6, s7, s8}, S)

V3({s4, s5, s7, s8}e, S)

V3({s3, s4, s5, s8}c, S)

s1

s2

s3

s4

s5

s6

s7

s8

a

b

c

d

e

f

gV3({s4, s5, s7, s8}c, S)

order-2 order-3

Clarkson’s Algorithm for Points

Clarkson’s Algorithm For Points

Clarkson’s Algorithm for Points

Back

projection

Clarkson’s Algorithm For Points

Clarkson’s Algorithm for Points

Back

planes that correspond to extremal positions of k-sets

Clarkson’s Algorithm For Points

Clarkson’s Algorithm for Points

Back

planes that correspond to extremal positions of k-sets

Clarkson’s Algorithm For Points

Clarkson’s Algorithm for Points

Back

planes that correspond to extremal positions of k-sets

normals

Clarkson’s Algorithm For Points

Clarkson’s Algorithm for Points

Back

planes that correspond to extremal positions of k-sets

normals

Clarkson’s Algorithm For Points

Clarkson’s Algorithm for Points

Back

planes that correspond to extremal positions of k-sets

normals

triangulation of the cone

Clarkson’s Algorithm For Points

Clarkson’s Algorithm for Points

Back

normals

points that belong to the union of the halfplanes - analog of weak conflictpoints that belong to the intersection of the halfplanes - analog of strong conflict

Randomized Divide and Conquer Algorithm for Higher-Order Abstract Voronoi Diagrams

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

Vertical decomposition of :

1.Consider

2. Shoot vertical rays from each vertex and vertical tangent point.

Vk(S)

Vk(S)

Vk(S) ∪ Vk+1(S)

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

Vertical decomposition of :

1.Consider

2. Shoot vertical rays from each vertex and vertical tangent point.

Vk(S)

Vk(S) ∪ Vk+1(S)

Vk(S) ∪ Vk+1(S)

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

Vertical decomposition of :

1.Consider

2. Shoot vertical rays from each vertex and vertical tangent point.

Vk(S)

Vk(S) ∪ Vk+1(S)

Vk(S) ∪ Vk+1(S)

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

Draw random sample such that it is a good predictor of .

R

S

Trapezoid is defined by at most elements of Rd

e.g.: d = 5s1

s2

s3

s4

p - dominatorp�

[Clarkson’87]

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

Site strongly conflicts with if

d = 5s1

s2

s3

s4

p - dominatorp�

s � � ⊂ D(s, p)

D(s, p)

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

Site weakly conflicts with if

d = 5s1

s2

s3

s4

p - dominatorp�

s �

D(s, p)

�∩D(s, p) �= ∅

Lemma 1

For a random sample , with probability at least

1) number of strong conflicts with is

2) number of weak conflicts with is

for each trapezoid in vert. decomposition of

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

R 1/2

S

≤ α|S|S

≥ |S|/(r − 5)

r = |R|,α = O(log r),β = O(log r/ log log r)

Allows to efficiently “bracket” the space!

[Clarkson’87]

Vβ(R)

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

r = |R|,α = O(log r),β = O(log r/ log log r)[Clarkson’87]

- set of sitesS

Vk(S) - order-k diagramv - vertex

v

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

r = |R|,α = O(log r),β = O(log r/ log log r)[Clarkson’87]

- set of sitesS

- random sampleR ⊂ S

where each in vert. decomp. of has strong conflicts

Vβ(R)

Vk(S) - order-k diagram

≥ k

v - vertex

v

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

r = |R|,α = O(log r),β = O(log r/ log log r)[Clarkson’87]

- set of sitesS

- random sampleR ⊂ S

where each in vert. decomp. of has strong conflicts

Vβ(R)

Vk(S) - order-k diagram

v - vertex

S� ⊂ S- sites in weak conflictVk(S

�)then is vertex ofv

v

Allows to perform divide-n-conquer!

≥ k

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

Construction of can be reduced to finding all the vertices of .

Vk(S)

Vk(S)

[Clarkson’87]

Randomized Divide and Conquer Algorithm in Abstract Setting

Randomized Divide and Conquer in Abstract Setting

Back

If then use random walk algorithm.

Else choose “suitable” random sample .

• Construct and the decomposition, using iterative algorithm.

• For each trapezoid in the decomposition recursively compute vertices in .

R

|S| ≤ k(r − 5)

Vβ(R)

�Vk(S

�)

where - the sites in weak conflict with .S� ⊂ S �[Clarkson’87]

Sweepline Algorithm for Higher-Order Voronoi Diagrams of Line Segments

Sweepline Algorithm

Sweepline Algorithm

Back

• Consider horizontal line l

• Wave-curve w(s) is the locus of points equidistant from l to s

Sweepline Algorithm

Sweepline Algorithm

Back

• Let be the set of line segments that intersect the upper halfplane.

• Consider an arrangement of wave-curves

S�

w(s), s ∈ S�

Sweepline Algorithm

Sweepline Algorithm

Back

• Consider k-level Ak

• Lower envelope is 1-level

Ak

Sweepline Algorithm

Sweepline Algorithm

Back

• Consider k-level Ak

• Lower envelope is 1-level

Breakpoint

Wave

Sweepline Algorithm

Sweepline Algorithm

Back

• While the horizontal line moves down, the breakpoints of Ak and Ak+1 levels move along the edges of the order-k Voronoi diagram.

x

s

Sweepline Algorithm

Sweepline Algorithm

Back

• Compute the discrete event points that change the topological structure of k-level while line l moves down.

• We store the adjacency relations!

Site Events Circle Events

Sweepline Algorithm

Sweepline Algorithm

Back

• Occur when the line hits a new line segment.

• We insert the corresponding wave-curve and update all levels.

Sweepline Algorithm

Sweepline Algorithm

Back

a1, am1. . . ,

b1, bm2. . . ,

c1, cm3

. . . ,

. . . ,

d1, dm4

A1 :

A2 :

A3 :

A4 :

A1

A2

A3

A4

. . . ,

. . . ,

. . . ,

. . . ,

ai,

bj ,

cr,

ds,

Adjacency relations:

x

Sweepline Algorithm

Sweepline Algorithm

Back

a1, am1. . . ,

b1, bm2. . . ,

c1, cm3

. . . ,

. . . ,

d1, dm4

A1 :

A2 :

A3 :

A4 :

A1

A2

A3

. . . ,

. . . ,

. . . ,

. . . ,

ai,

bj ,

cr,

ai, , ai,

bj , bj ,

cr, cr,

ds, ds,

Adjacency relations:

x, x,

x, x,

x, x,

x

A4

A5 : x, xds,

Sweepline Algorithm

Sweepline Algorithm

Back

• Occur when 3 wave-curves intersect at a common point

a

bc

Sweepline Algorithm

Sweepline Algorithm

Back

• Occur when 3 wave-curves intersect at a common point

a

bc

Sweepline Algorithm

Sweepline Algorithm

Back

• Occur when 3 wave-curves intersect at a common point

a

b

c

Sweepline Algorithm

Sweepline Algorithm

Back

a

bc Ai :

Ai+1 :

Ai+2 :

a, b,

c,

c

b, a, b

c, a

Adjacency relations:

Sweepline Algorithm

Sweepline Algorithm

Back

a

b

c

Ai :

Ai+1 :

Ai+2 :

a,

b,

c,

c

b, a, b

c, a

Adjacency relations:

Sweepline Algorithm

Sweepline Algorithm

Back

• Precompute the circle events of all triples of the consecutive waves.

• A new triple appears - create the circle event

• An old triple disappears - remove the circle event

Sweepline Algorithm

Sweepline Algorithm

Back

Sweepline Algorithm

Sweepline Algorithm

Back

• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram

Sweepline Algorithm

Sweepline Algorithm

Back

• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram

• We need to keep track of k-level!

Sweepline Algorithm

Sweepline Algorithm

Back

• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram

• We need to keep track of k-level!

• A new wave may be introduced to k-level:

Sweepline Algorithm

Sweepline Algorithm

Back

• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram

• We need to keep track of k-level!

• A new wave may be introduced to k-level:

• By Site Events

Sweepline Algorithm

Sweepline Algorithm

Back

• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram

• We need to keep track of k-level!

• A new wave may be introduced to k-level:

• By Site Events

• From (k-1)-level and (k-2)-level by Circle Events

Sweepline Algorithm

Sweepline Algorithm

Back

• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram

• We need to keep track of k-level!

• A new wave may be introduced to k-level:

• By Site Events

• From (k-1)-level and (k-2)-level by Circle Events

• We need to maintain ≤k-level!

Sweepline Algorithm

Sweepline Algorithm

Back

• Event queue:

• Queue: Site Events, sorted by y-coordinate.

• Balanced Binary Tree: Circle Events, sorted by y-coordinate of the bottom-most point of the circle.

• Levels 1,...,k:

• Balanced Binary Tree for each level:Sequence of waves that constitute the level.

Sweepline Algorithm

Sweepline Algorithm

Back

• The complexity of the ≤k-level in arrangement of Jordan curves [Sharir&Agarwal’95, Clarkson’87]

• Complexity of the lower envelope [Fortune’87]

• Therefore the complexity of the ≤k-level is:

g≤k(n) = O�k2g1(n/k)

g1(n) = O(n)

g≤k(n) = O(kn)

Sweepline Algorithm

Sweepline Algorithm

Back

• Event Queue:

• Site Events

• Circle EventsEach Circle Event corresponds to a triple of consecutive waves in ≤k-level

O(n)

O(kn)

Sweepline Algorithm

Sweepline Algorithm

Back

• Site Event

• For each i-level, i = 1,...,k

• Find insertion point

• Update adjacency relations at the point

• For all Site Events:

O(log |Ai|) ≤ O(log (i(n− i))) ≤ O(log n)

O(nk)O(log n) = O(nk log n)

Sweepline Algorithm

Sweepline Algorithm

Back

• Every processed Circle Event corresponds to some order-i Voronoi vertex, i = 1,...,k

• Therefore total number of processed Circle Events is the total complexity of order-i Voronoi diagrams, i = 1,...,k

k�

i=1

i(n− i) = O�k2n�

Sweepline Algorithm

Sweepline Algorithm

Back

• Circle Event

• Remove Circle Event from the queue

• Update adjacency relations relations on 3 levels:

• For all Circle Events:

O�logO

�k2n��

= O(log n)

3O(log n) = O(log n)

O(k2n)O(log n) = O(k2n log n)

Sweepline Algorithm

Sweepline Algorithm

Back

• Time complexity

• Space complexity

O(k2n log n)

O(kn)