Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ph.D. Defense 
Higher-Order 
Voronoi Diagrams 
of Polygonal Objects 
Maksym Zavershynskyi 
Supervisor: Prof. Evanthia Papa...
Voronoi Diagram 
Voronoi Diagram 
Nearest neighbor Voronoi diagram of sites S is the partitioning of the plane into region...
Higher-Order Voronoi Diagram 
Higher-Order Voronoi Diagram 
Order-k Voronoi diagram of sites S is the partitioning of the ...
Voronoi Diagram of Line Segments 
Voronoi Diagram of Line Segments 
The distance to a line segment is measured as the mini...
Higher-Order Voronoi Diagram of Line Segments 
Higher-Order Voronoi Diagram 
of Line Segments 
The higher-order Voronoi di...
Motivation 
Motivation? 
1.It is a fascinating combinatorial problem to study! 
2.It is motivated by applications
Timeline 
Higher-Order Voronoi Diagrams Timeline 
2010-2014 Our Research! 
1975 1985 1995 2005 2014 
1975 - Introduced 
by...
Algorithms for Higher-Order Voronoi Diagrams 
Algorithms for Higher-Order Voronoi Diagrams 
Lee 
Aggarwal et al. 
Rosenber...
Algorithms for Higher-Order Voronoi Diagrams 
Algorithms for Higher-Order Voronoi Diagrams 
Aurenhammer 
Aurenhammer and S...
Outline 
Contributions of this Dissertation 
1.Higher-Order Voronoi Diagrams of Line Segments 
2.Higher-Order Voronoi Diag...
Higher-Order 
Voronoi Diagrams 
of Line Segments
Higher-Order Voronoi Diagram of Line Segments 
Higher-Order Voronoi Diagram of Line Segments 
Order-k Voronoi diagram of s...
Disconnected Regions 
Disconnected Regions 
A single order-k Voronoi region can disconnect into Ω(n) faces, k>1. 
2-order ...
Points vs Line Segments 
1.In the case of points the faces are convex polygons: 
In the case of line segments not convex a...
Structural Complexity 
Despite all these difficulties we proved that the 
structural complexity of the order-k Voronoi 
di...
The structural complexity of the order-1 Voronoi diagram is: Kirkpatrick’79 
The structural complexity of the order-(n-1) ...
We have extended our results to Lp metrics, 1≤p≤∞ 
Intersecting Line Segments 
In Lp Metrics 
For disjoint line segments i...
Higher-Order 
Voronoi Diagrams 
of a Planar Straight- 
Line Graph
Planar Straight-Line Graph 
Planar Straight-Line Graph
Planar Straight-Line Graph 
Planar Straight-Line Graph 
b(s1, s2) 
s1 s2 
b(s1, s2) 
2-dimensional bisectors 
s1 
s2 
s3 
...
Augmenting the Definition of a Voronoi Region 
Augmenting the Definition of a Voronoi Region 
An order-k disk - the disk o...
Augmenting the Definition of a Voronoi Region 
Augmenting the Definition of a Voronoi Region 
Type-1 order-k Voronoi regio...
Order-k Voronoi Diagram of a Planar Straight-Line Graph 
Order-k Voronoi Diagram of a PSLG 
V1({s7, s8}e, S) V1({s4, s5}c,...
Structural Complexity 
Structural Complexity 
We proved that the structural complexity is 
We have extended the iterative ...
Publications 
Publications 
• Papadopoulou, E. and Zavershynskyi, M. 
The higher-order Voronoi diagram of line segments. 
...
Sweepline Algorithm 
for Higher-Order 
Voronoi Diagrams 
of Line Segments
The Idea of the Sweepline Algorithm 
The Idea 
As 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...
Sweepline Algorithm for a Planar Straight-Line Graph 
Sweepline Algorithm for PSLG 
•Can be generalized to construct the o...
Publications 
Publications 
•Zavershynskyi, M. and Papadopoulou, E. 
A sweepline algorithm for higher-order Voronoi diagra...
Algorithms for 
Higher-Order 
Abstract 
Voronoi Diagrams
Voronoi Diagram 
Abstract Voronoi Diagrams 
•Does not use the geometry of sites or distance functions 
•All we know is the...
Voronoi Diagram 
Abstract Voronoi Diagrams 
•Does not use the geometry of sites or distance functions 
•All we know is the...
Voronoi Diagram 
Abstract Voronoi Diagrams 
•Does not use the geometry of sites or distance functions 
•All we know is the...
Voronoi Diagram 
Abstract Voronoi Diagrams 
•Does not use the geometry of sites or distance functions 
•All we know is the...
Abstract Voronoi Diagrams 
Abstract Voronoi Diagrams 
Voronoi Region: 
Voronoi Diagram: 
For any 
(A1) Each region is path...
Higher-Order Abstract Voronoi Diagrams 
Higher-Order Abstract Voronoi Diagrams 
Order-k Voronoi Region: 
Order-k Voronoi D...
Structural Complexity 
Structural Complexity 
The number of faces: 
Construction algorithms available for: 
•order-1 abstr...
Concrete Voronoi Diagrams that Satisfy the Axioms 
Concrete Voronoi Diagrams that Satisfy 
the Axioms 
1. Disjoint line se...
Structural Complexity 
Our Three Construction Algorithms 
1.Randomized Iterative Algorithm 
2.Random Walk Algorithm 
3.Ran...
Randomized Iterative Algorithm 
Randomized Iterative Algorithm 
•Expected time complexity: 
•Space complexity: 
•Can be us...
Random Walk Algorithm 
Random Walk Algorithm 
Influence region of site s is the union of all order-k Voronoi regions induc...
Random Walk Algorithm 
Random Walk Algorithm 
•We can construct the influence region of a site using Har-Peled’s random wa...
Random Walk Algorithm 
Random Walk Algorithm 
•Based on the idea of ChazelleEdelsbrunner 
•Uses Har-Peled’s random walk me...
Divide and Conquer in Abstract Setting 
Divide and Conquer in Abstract Setting 
How do we perform divide and conquer when ...
Select Random Sample 
Select Random Sample 
Select a random sample of constant size such that it is a “good predictor” of ...
Divide 
Divide Step 
Construct order-β Voronoi diagram of using randomized iterative algorithm, where 
? 
? 
? 
? 
? 
?
Divide 
Divide Step 
Construct order-β Voronoi diagram of using randomized iterative algorithm, where 
Construct order-(β+...
Weak Conflict 
The Trick is to Find a Conflict Relation! 
•The notion of conflict comes from the Clarkson-Shor technique 
...
Conquer 
Conquer Step 
•Consider only those sites that are in weak conflict with the trapezoid 
•Recursively solve the pro...
The Conflicts “Bracket” the Abstract Sites 
The Conflicts “Bracket” the Abstract Sites 
•Upper bound the number of weak co...
Randomized Divide and Conquer Algorithm 
Randomized Divide and Conquer Algorithm 
•Establishes connection between two math...
Publications 
Publications 
•Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. 
A randomized divide and conqu...
Conclusions
Conclusions 
We have studied properties of: 
•higher-order Voronoi diagram of disjoint line segments 
•higher-order Vorono...
Conclusions 
We have developed construction algorithms: 
•Iterative algorithm for line segments and PSLG: 
•Sweepline algo...
Thanks! 
Date: Lugano, 24 November 2014
Our publications 
(1) Papadopoulou, E. and Zavershynskyi, M. The higher-order Voronoi diagram of line segments. To appear ...
Backup Slides 
Disconnected Regions 
Complexity Analysis for Line Segments 
Vertices in PSLG 
Iterative Algorithm for PSLG...
Disconnected 
Regions
Disconnected Regions 
Back 
Disconnected Regions 
An order-k Voronoi region may disconnect 
to bounded faces. 
For 
!#$%'(...
Disconnected Regions 
Back 
Disconnected Regions 
An order-k Voronoi region may disconnect 
to unbounded faces. 
For 
!#$%...
Disconnected Regions 
Back 
Disconnected Regions 
An order-k Voronoi region may disconnect 
to unbounded faces. 
For F1 
F...
Complexity 
Analysis for Line 
Segments
Structural Back Complexity Analysis for Line Segments 
Structural Complexity Analysis for Line Segments 
1.First we calcul...
Vertices in PSLG
Vertices in PSLG 
Back 
Vertices in PSLG 
! Type-2 Voronoi regions create configurations that are non-standard 
in an orde...
Vertices in PSLG 
Back 
Vertices in PSLG 
! Voronoi vertex has degree between 3 and 6. 
! Voronoi vertex can be an interse...
Iterative Algorithm 
for PSLG
Iterative Algorithm for PSLG 
Back 
Iterative Algorithm for PSLG 
•Construct order-1 Voronoi diagram 
•For i=1,...,k-1 do ...
Clarkson’s 
Algorithm for Points
Clarkson’s Algorithm For Points 
Back 
Clarkson’s Algorithm for Points 
projection
Clarkson’s Algorithm For Points 
Back 
Clarkson’s Algorithm for Points 
planes that correspond to 
extremal positions of k...
Clarkson’s Algorithm For Points 
Back 
Clarkson’s Algorithm for Points 
planes that correspond to 
extremal positions of k...
Clarkson’s Algorithm For Points 
Back 
Clarkson’s Algorithm for Points 
normals 
planes that correspond to 
extremal posit...
Clarkson’s Algorithm For Points 
Back 
Clarkson’s Algorithm for Points 
normals 
planes that correspond to 
extremal posit...
Clarkson’s Algorithm For Points 
Back 
Clarkson’s Algorithm for Points 
normals 
triangulation 
of the cone 
planes that c...
Clarkson’s Algorithm For Points 
Back 
Clarkson’s Algorithm for Points 
normals 
points that belong to the union of the ha...
Randomized Divide 
and Conquer 
Algorithm for 
Higher-Order 
Abstract Voronoi 
Diagrams
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
Vert...
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
Vert...
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
Vert...
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
Draw...
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
Site...
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
Site...
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
Lemm...
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
S - ...
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
S - ...
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
S - ...
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
Cons...
Randomized Divide and Conquer Algorithm in Abstract Setting 
Back 
Randomized Divide and Conquer in Abstract Setting 
If |...
Sweepline 
Algorithm for 
Higher-Order 
Voronoi Diagrams 
of Line Segments
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Consider horizontal line l 
• Wave-curve w(s) is the locus of points equ...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Let S 
be the set of line segments that intersect the 
upper halfplane. ...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Consider k-level Ak 
• Lower envelope is 1-level 
Ak
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Consider k-level Ak 
• Lower envelope is 1-level 
Wave 
Breakpoint
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• While the horizontal line moves down, the 
breakpoints of Ak and Ak+1 le...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Compute the discrete event points that change the 
topological structure...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Occur when the line hits a new line segment. 
• We insert the correspond...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
Adjacency relations: 
d1, dm4 
. . . , 
. . . , 
. . . , 
. . . , 
ds, 
c1...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
Adjacency relations: 
cr, 
d1, dm4 
. . . , 
. . . , 
. . . , 
. . . , 
x,...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Occur when 3 wave-curves intersect at 
a common point 
a 
b 
c
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Occur when 3 wave-curves intersect at 
a common point 
a 
b 
c
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Occur when 3 wave-curves intersect at 
a common point 
a 
b 
c
Sweepline Algorithm 
Back 
Sweepline Algorithm 
a 
b 
Adjacency relations: 
Ai+2 : 
Ai+1 : 
c Ai : 
b, a, c, 
b 
a, b, 
c ...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
a 
b 
c 
Adjacency relations: 
Ai+2 : 
Ai+1 : 
Ai : 
c, a 
b, 
c, 
b, a, b...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Precompute the circle events of all triples of the 
consecutive waves. 
...
Sweepline Algorithm 
Back 
Sweepline Algorithm
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• The breakpoints of k-level and (k+1)-level move 
along the edges of the ...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• The breakpoints of k-level and (k+1)-level move 
along the edges of the ...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• The breakpoints of k-level and (k+1)-level move 
along the edges of the ...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• The breakpoints of k-level and (k+1)-level move 
along the edges of the ...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• The breakpoints of k-level and (k+1)-level move 
along the edges of the ...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• The breakpoints of k-level and (k+1)-level move 
along the edges of the ...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Event queue: 
• Queue: 
Site Events, sorted by y-coordinate. 
• Balanced...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• The complexity of the ≤k-level in arrangement 
of Jordan curves [SharirA...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Event Queue: 
• Site Events 
O(n) 
• Circle Events 
Each Circle Event co...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Site Event 
• For each i-level, i = 1,...,k 
• Find insertion point 
• U...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Every processed Circle Event corresponds to 
some order-i Voronoi vertex...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Circle Event 
• Remove Circle Event from the queue 
O 
 
logO 
 
k2n 
• ...
Sweepline Algorithm 
Back 
Sweepline Algorithm 
• Time complexity 
• Space complexity 
O(k2n log n) 
O(kn)
Upcoming SlideShare
Loading in …5
×

Higher-Order Voronoi Diagrams of Polygonal Objects. Dissertation

870 views

Published on

Higher-order Voronoi diagrams are fundamental geometric structures which encode the k-nearest neighbor information. Thus, they aid in computations that require proximity information beyond the nearest neighbor. They are related to various favorite structures in computational geometry and are a fascinating combinatorial problem to study.
While higher-order Voronoi diagrams of points have been studied a lot, they have not been considered for other types of sites. Points lack dimensionality which makes them unable to represent various real-life instances. Points are the simplest kind of geometric object and therefore higher-order Voronoi diagrams of points can be considered as the corner case of all higher-order Voronoi diagrams.

The goal of this dissertation is to move away from the corner and bring the higher-order Voronoi diagram to more general geometric instances. We focus on certain polygonal objects as they provide flexibility and are able to represent real-life instances. Before this dissertation, higher-order Voronoi diagrams of polygonal objects had been studied only for the nearest neighbor and farthest Voronoi diagrams. In this dissertation we investigate structural and combinatorial properties and discover that the dimensionality of geometric objects manifests itself in numerous ways which do not exist in the case of points. We prove that the structural complexity of the order-k Voronoi diagram of non-crossing line segments is O(k(n−k)), as in the case of points. We study disjoint line segments, intersecting line segments, line segments forming a planar straight-line graph and extend the results to the Lp metric, 1≤p≤∞. We also establish the connection between two mathematical abstractions: abstract Voronoi diagrams and the Clarkson-Shor framework.

We design several construction algorithms that cover the case of non-point sites. While computational geometry provides several approaches to study the structural complexity that give tight realizable bounds, developing an effective construction algorithm is still a challenging problem even for points. Most of the construction algorithms are designed to work with points as they utilize their simplicity and relations with data-structures that work specifically for points. We extend the iterative and the sweepline approaches that are quite efficient in constructing all order-i Voronoi diagrams, for i≤k and we also give three randomized construction algorithms for abstract higher-order Voronoi diagrams that deal specifically with the construction of the order-k Voronoi diagrams.

Published in: Science
  • Be the first to comment

  • Be the first to like this

Higher-Order Voronoi Diagrams of Polygonal Objects. Dissertation

  1. 1. Ph.D. Defense Higher-Order Voronoi Diagrams of Polygonal Objects Maksym Zavershynskyi Supervisor: Prof. Evanthia Papadopoulou Date: Lugano, 24 November 2014
  2. 2. Voronoi Diagram Voronoi Diagram Nearest 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.
  3. 3. Higher-Order Voronoi Diagram Higher-Order Voronoi Diagram Order-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
  4. 4. Voronoi Diagram of Line Segments Voronoi Diagram of Line Segments The distance to a line segment is measured as the minimum distance.
  5. 5. Higher-Order Voronoi Diagram of Line Segments Higher-Order Voronoi Diagram of Line Segments The 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
  6. 6. Motivation Motivation? 1.It is a fascinating combinatorial problem to study! 2.It is motivated by applications
  7. 7. Timeline Higher-Order Voronoi Diagrams Timeline 2010-2014 Our Research! 1975 1985 1995 2005 2014 1975 - Introduced by Shamos and Hoey 1985-2000 - Around 15 Algorithms 1982 - Structural bound and first algorithm by Lee Discovered 2006 - Farthest Line Segment Voronoi Diagram Studied by Aurenhammer et al. 2011 - Farthest Polygon Voronoi Diagram Studied by Cheong et al.
  8. 8. Algorithms for Higher-Order Voronoi Diagrams Algorithms for Higher-Order Voronoi Diagrams Lee Aggarwal et al. Rosenberger Edelsbrunner Chazelle and Edelsbrunner Chazelle and Edelsbrunner Boissonat et al.
  9. 9. Algorithms for Higher-Order Voronoi Diagrams Algorithms for Higher-Order Voronoi Diagrams Aurenhammer Aurenhammer and Schwarzkopf Mulmuley Clarkson Agarwal et al. Chan Ramos Chan Almost !
  10. 10. 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
  11. 11. Higher-Order Voronoi Diagrams of Line Segments
  12. 12. Higher-Order Voronoi Diagram of Line Segments Higher-Order Voronoi Diagram of Line Segments Order-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.
  13. 13. Disconnected Regions Disconnected Regions A 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!
  14. 14. Points vs Line Segments 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 Points vs Line Segments 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
  15. 15. 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!
  16. 16. The structural complexity of the order-1 Voronoi diagram is: Kirkpatrick’79 The structural complexity of the order-(n-1) Voronoi diagram is: Intersecting Line Segments Intersecting Line Segments Aurenhammer et al.’06 We proved that the structural complexity of the higher-order Voronoi diagram of intersecting line segments is
  17. 17. 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:
  18. 18. Higher-Order Voronoi Diagrams of a Planar Straight- Line Graph
  19. 19. Planar Straight-Line Graph Planar Straight-Line Graph
  20. 20. Planar Straight-Line Graph Planar Straight-Line Graph b(s1, s2) s1 s2 b(s1, s2) 2-dimensional bisectors s1 s2 s3 s4 b(s1, s4) b(s2, s4) b(s2, s4), b(s3, s4) b(s1, s4) b(s3, s4) non-transversal intersections
  21. 21. Augmenting the Definition of a Voronoi Region Augmenting the Definition of a Voronoi Region An order-k disk - the disk of minimum radius that intersects at least k line segments. - segments intersected by 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
  22. 22. 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:
  23. 23. Order-k Voronoi Diagram of a Planar Straight-Line Graph Order-k Voronoi Diagram of a PSLG V1({s7, s8}e, S) V1({s4, s5}c, S) s1 V1({s5}, S) V1({s4}, S) s2 V1({s3, s4}b, S) s4 s3 s5 s6 s7 s8 V1({s5, s6}a, S) V1({s6}, S) V1({s1, s6, s7}d, S) V1({s3}, S) V1({s1, s2}f, S) V1({s2, s3}g, S) V1({s2}, S) V1({s1}, S) V1({s7}, S) V1({s8}, S) a b c d e f g V2({s6, s5}, S) V2({s3, s4}, S) V2({s7, s5}, S) V2({s5, s7, s8}e, S) V2({s6, s7}, S) V2({s7, s8}, S) V2({s1, s6, s7}d, S) V2({s1, s2}, S) V2({s4, s5}, S) V2({s3, s8}, S) V2({s2, s8}, S) V2({s3, s4, s5}c, S) V2({s4, s5, s8}c, S) V2({s2, s7}, S) V2({s2, s3, s8}g, S) V2({s1, s7}, S) s1 s2 s3 s4 s5 s6 s7 s8 a b c d e f g
  24. 24. 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:
  25. 25. 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
  26. 26. Sweepline Algorithm for Higher-Order Voronoi Diagrams of Line Segments
  27. 27. The Idea of the Sweepline Algorithm The Idea As the horizontal line moves down we maintain k x-monotone curves. x s
  28. 28. 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
  29. 29. Sweepline Algorithm for a Planar Straight-Line Graph Sweepline Algorithm for PSLG •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 A2 A1 A0
  30. 30. 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
  31. 31. Algorithms for Higher-Order Abstract Voronoi Diagrams
  32. 32. 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
  33. 33. 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
  34. 34. 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
  35. 35. 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
  36. 36. Abstract Voronoi Diagrams Abstract Voronoi Diagrams Voronoi 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
  37. 37. Higher-Order Abstract Voronoi Diagrams Higher-Order Abstract Voronoi Diagrams Order-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 transversal Bohler et al.’14
  38. 38. Structural Complexity Structural Complexity The 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
  39. 39. 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
  40. 40. 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
  41. 41. 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
  42. 42. Random Walk Algorithm Random Walk Algorithm Influence region of site s is the union of all order-k Voronoi regions induced by the site s Influence region of a site ChazelleEdelsbrunner’87
  43. 43. Random Walk Algorithm Random Walk Algorithm •We can construct the influence region of a site using Har-Peled’s random walk algorithm. •This takes O ( n 2 α ( n ) l o g n ) expected time per site. Influence region of a site Har-Peled’00
  44. 44. Random Walk Algorithm Random Walk Algorithm •Based on the idea of ChazelleEdelsbrunner •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
  45. 45. Divide and Conquer in Abstract Setting Divide and Conquer in Abstract Setting How do we perform divide and conquer when the sites are abstract? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  46. 46. Select Random Sample Select Random Sample Select a random sample of constant size such that it is a “good predictor” of all sites ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  47. 47. Divide Divide Step Construct order-β Voronoi diagram of using randomized iterative algorithm, where ? ? ? ? ? ?
  48. 48. Divide Divide Step Construct order-β Voronoi diagram of using randomized iterative algorithm, where Construct order-(β+1) Voronoi diagram of ? ? ? ? ? ?
  49. 49. Weak Conflict The Trick is to Find a Conflict Relation! •The notion of conflict comes from the Clarkson-Shor technique •Site weakly conflicts if ? ?
  50. 50. 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 ? ? ? ? ? ? ? ?
  51. 51. 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
  52. 52. 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
  53. 53. 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.
  54. 54. Conclusions
  55. 55. Conclusions We have studied properties of: •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:
  56. 56. Conclusions We have developed construction algorithms: •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:
  57. 57. Thanks! Date: Lugano, 24 November 2014
  58. 58. Our publications (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
  59. 59. 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
  60. 60. Disconnected Regions
  61. 61. Disconnected Regions Back Disconnected Regions An order-k Voronoi region may disconnect to bounded faces. For !#$%'())*)+'#+,-,.')/'0'1+*$%2$-.$*32'
  62. 62. Disconnected Regions Back Disconnected Regions 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
  63. 63. Disconnected Regions Back Disconnected Regions An order-k Voronoi region may disconnect to unbounded faces. For F1 F2 F3 F4 ?+*$%2$-.$*32'@,*'A$'9*3,*-1$#B' !#$%'())*)+'#+,-,.')/'0'1+*$%2$-.$*32' 4'5$*$,1+6+*-'789$*:,..$'$3',1';='
  64. 64. Complexity Analysis for Line Segments
  65. 65. Structural Back Complexity Analysis for Line Segments Structural Complexity Analysis for Line Segments 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
  66. 66. Vertices in PSLG
  67. 67. Vertices in PSLG Back Vertices in PSLG ! 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. Evanthia Papadopoulou, Maksym Zavershynskyi p V1(p) V1(1) V1(2) 1 2 p V2(p) V2(p, 1) V2(p, 2) V2(1, 2) 1 2 p Vi(p) Vi(p, 1) Vi(p, 2) Vi(p, 1, 2) 1 2 p Vi(p, 1) Vi(p, 2) Vi(p, 1, 2) 1 2 Fig. 9: For brevity we denote Voronoi region of the representative p as V (p). (a) A Voronoi
  68. 68. Vertices in PSLG Back Vertices in PSLG ! Voronoi vertex has degree between 3 and 6. ! Voronoi vertex can be an intersection point of only 2 bisectors that define 4 edges. Evanthia Papadopoulou, Maksym Zavershynskyi p V1(p) V1(1) V1(2) 1 2 p V2(p) V2(p, 1) V2(p, 2) V2(1, 2) 1 2 p Vi(p) Vi(p, 1) Vi(p, 2) Vi(p, 1, 2) 1 2 p Vi(p, 1) Vi(p, 2) Vi(p, 1, 2) 1 2 Fig. 9: For brevity we denote Voronoi region of the representative p as V (p). (a) A Voronoi
  69. 69. Iterative Algorithm for PSLG
  70. 70. Iterative Algorithm for PSLG Back Iterative Algorithm for PSLG •Construct order-1 Voronoi diagram •For i=1,...,k-1 do ✴Partition each Type-1 face of order-i Voronoi diagram ✴Remove unnecessary edges V1({s3}, SF ) V1({s2}, SF ) s1 g s2 s3 s4 s5 s6 s7 s8 a b c e d f V1({s4, s5}c, SF ) V1({s5}, SF ) V1({s6}, SF ) V1({s1}, SF ) V3({s3, s4, s8}, S) V3({s3, s7, s8}, S) V3({s4, s5, s7, s8}c, S) g V3({s2, s3, s8}, S) V3({s3, s4, s5}, S) V3({s4, s5, s7, s8}e, S) V3({s5, s7, s8}, S) V3({s4, s5, s6}, S) V3({s5, s6, s7}, S) V3({s1, s5, s6, s7}d, S) V3({s1, s7, s8}, S) V3({s1, s6, s7}, S) V3({s2, s7, s8}, S) V3({s1, s2, s3, s8}g, S) V3({s1, s2, s8}, S) V3({s1, s2, s7}, S) V3({s1, s2, s6, s7}d, S) V3({s4, s5, s8}, S) V3({s4, s5, s7}, S) V3({s6, s7, s8}, S) V3({s3, s4, s5, s8}c, S) s1 s2 s3 s4 s5 s6 s7 s8 a b c d e f order-2 order-3
  71. 71. Clarkson’s Algorithm for Points
  72. 72. Clarkson’s Algorithm For Points Back Clarkson’s Algorithm for Points projection
  73. 73. Clarkson’s Algorithm For Points Back Clarkson’s Algorithm for Points planes that correspond to extremal positions of k-sets
  74. 74. Clarkson’s Algorithm For Points Back Clarkson’s Algorithm for Points planes that correspond to extremal positions of k-sets
  75. 75. Clarkson’s Algorithm For Points Back Clarkson’s Algorithm for Points normals planes that correspond to extremal positions of k-sets
  76. 76. Clarkson’s Algorithm For Points Back Clarkson’s Algorithm for Points normals planes that correspond to extremal positions of k-sets
  77. 77. Clarkson’s Algorithm For Points Back Clarkson’s Algorithm for Points normals triangulation of the cone planes that correspond to extremal positions of k-sets
  78. 78. Clarkson’s Algorithm For Points Back Clarkson’s Algorithm for Points normals points that belong to the union of the halfplanes - analog of weak conflict points that belong to the intersection of the halfplanes - analog of strong conflict
  79. 79. Randomized Divide and Conquer Algorithm for Higher-Order Abstract Voronoi Diagrams
  80. 80. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting Vertical decomposition of Vk(S) : 1.Consider 2. Shoot vertical rays from each vertex and vertical tangent point. Vk(S) Vk(S) ∪ Vk+1(S)
  81. 81. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting Vertical decomposition of Vk(S) : 1.Consider Vk(S) ∪ Vk+1(S) 2. Shoot vertical rays from each vertex and vertical tangent point. Vk(S) ∪ Vk+1(S)
  82. 82. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting Vertical decomposition of Vk(S) : 1.Consider Vk(S) ∪ Vk+1(S) 2. Shoot vertical rays from each vertex and vertical tangent point. Vk(S) ∪ Vk+1(S)
  83. 83. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting Draw random sample R such that it is a good predictor of S . Trapezoid is defined by at most d elements of R s1 s2 e.g.: d = 5 s3 p p - dominator s4 [Clarkson’87]
  84. 84. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting Site strongly conflicts with if s ⊂ D(s, p) d = 5 s1 s2 s3 p p - dominator s4 D(s, p)
  85. 85. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting Site weakly conflicts with if d = 5 s s1 s2 D(s, p) s3 p p - dominator s4 ∩D(s, p)= ∅
  86. 86. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting 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 R 1/2 ≥ |S|/(r − 5) S S ≤ α|S| Allows to efficiently “bracket” the space! r = |R|,α = O(log r),β = O(log r/ log log r) [Clarkson’87] Vβ(R)
  87. 87. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting S - set of sites Vk(S) - order-k diagram v - vertex v r = |R|,α = [Clarkson’87] O(log r), β = O(log r/ log log r)
  88. 88. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting S - set of sites Vk(S) - order-k diagram v - vertex R ⊂ S - random sample where each in vert. decomp. of has Vβ(R) strong conflicts ≥ k v r = |R|,α = [Clarkson’87] O(log r), β = O(log r/ log log r)
  89. 89. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting S - set of sites Vk(S) - order-k diagram v - vertex R ⊂ S - random sample where each in vert. decomp. of has Vβ(R) strong conflicts ≥ k S ⊂ S- sites in weak conflict then v is vertex of Vk(S) v Allows to perform divide-n-conquer! r = |R|,α = [Clarkson’87] O(log r), β = O(log r/ log log r)
  90. 90. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting Construction of can be reduced to finding all the vertices of . Vk(S) Vk(S) [Clarkson’87]
  91. 91. Randomized Divide and Conquer Algorithm in Abstract Setting Back Randomized Divide and Conquer in Abstract Setting If |S| ≤ k(r − 5) then use random walk algorithm. Else choose “suitable” random sample R . • Construct Vβ(R) and the decomposition, using iterative algorithm. • For each trapezoid in the decomposition recursively compute vertices in . Vk(S) where - the [Clarkson’87] S ⊂ S sites in weak conflict with .
  92. 92. Sweepline Algorithm for Higher-Order Voronoi Diagrams of Line Segments
  93. 93. Sweepline Algorithm Back Sweepline Algorithm • Consider horizontal line l • Wave-curve w(s) is the locus of points equidistant from l to s
  94. 94. Sweepline Algorithm Back Sweepline Algorithm • Let S be the set of line segments that intersect the upper halfplane. • Consider an arrangement of wave-curves w(s), s ∈ S
  95. 95. Sweepline Algorithm Back Sweepline Algorithm • Consider k-level Ak • Lower envelope is 1-level Ak
  96. 96. Sweepline Algorithm Back Sweepline Algorithm • Consider k-level Ak • Lower envelope is 1-level Wave Breakpoint
  97. 97. Sweepline Algorithm Back Sweepline Algorithm • 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
  98. 98. Sweepline Algorithm Back Sweepline Algorithm • 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
  99. 99. Sweepline Algorithm Back Sweepline Algorithm • Occur when the line hits a new line segment. • We insert the corresponding wave-curve and update all levels.
  100. 100. Sweepline Algorithm Back Sweepline Algorithm Adjacency relations: d1, dm4 . . . , . . . , . . . , . . . , ds, c1, cr, cm3 b1, . . . , bm2 . . . , bj , a1, . . . , am1 A4 : A3 : A2 : A1 : A4 A3 A2 A1 . . . , ai, x
  101. 101. Sweepline Algorithm Back Sweepline Algorithm Adjacency relations: cr, d1, dm4 . . . , . . . , . . . , . . . , x, x, ds, ds, c1, cm3 cr, x, x, cr, bj , b1, . . . , bm2 . . . , x, x, bj , bj , a1, . . . , am1 A4 : A3 : A2 : A1 : A3 A2 A1 . . . , ai, ai, x , ai, A4 A5 : x,ds,x
  102. 102. Sweepline Algorithm Back Sweepline Algorithm • Occur when 3 wave-curves intersect at a common point a b c
  103. 103. Sweepline Algorithm Back Sweepline Algorithm • Occur when 3 wave-curves intersect at a common point a b c
  104. 104. Sweepline Algorithm Back Sweepline Algorithm • Occur when 3 wave-curves intersect at a common point a b c
  105. 105. Sweepline Algorithm Back Sweepline Algorithm a b Adjacency relations: Ai+2 : Ai+1 : c Ai : b, a, c, b a, b, c c, a
  106. 106. Sweepline Algorithm Back Sweepline Algorithm a b c Adjacency relations: Ai+2 : Ai+1 : Ai : c, a b, c, b, a, b a, c
  107. 107. Sweepline Algorithm Back Sweepline Algorithm • 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
  108. 108. Sweepline Algorithm Back Sweepline Algorithm
  109. 109. Sweepline Algorithm Back Sweepline Algorithm • The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram
  110. 110. Sweepline Algorithm Back Sweepline Algorithm • 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!
  111. 111. Sweepline Algorithm Back Sweepline Algorithm • 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:
  112. 112. Sweepline Algorithm Back Sweepline Algorithm • 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
  113. 113. Sweepline Algorithm Back Sweepline Algorithm • 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
  114. 114. Sweepline Algorithm Back Sweepline Algorithm • 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!
  115. 115. Sweepline Algorithm Back Sweepline Algorithm • 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.
  116. 116. Sweepline Algorithm Back Sweepline Algorithm • The complexity of the ≤k-level in arrangement of Jordan curves [SharirAgarwal’95, Clarkson’87] g≤k(n) = O k2g1(n/k) • Complexity of the lower envelope [Fortune’87] g1(n) = O(n) • Therefore the complexity of the ≤k-level is: g≤k(n) = O(kn)
  117. 117. Sweepline Algorithm Back Sweepline Algorithm • Event Queue: • Site Events O(n) • Circle Events Each Circle Event corresponds to a triple of consecutive waves in ≤k-level O(kn)
  118. 118. Sweepline Algorithm Back Sweepline Algorithm • Site Event • For each i-level, i = 1,...,k • Find insertion point • Update adjacency relations at the point O(log |Ai|) ≤ O(log (i(n − i))) ≤ O(log n) • For all Site Events: O(nk)O(log n) = O(nk log n)
  119. 119. Sweepline Algorithm Back Sweepline Algorithm • 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
  120. 120. Sweepline Algorithm Back Sweepline Algorithm • Circle Event • Remove Circle Event from the queue O logO k2n • Update adjacency relations relations on 3 levels: • For all Circle Events: = O(log n) 3O(log n) = O(log n) O(k2n)O(log n) = O(k2n log n)
  121. 121. Sweepline Algorithm Back Sweepline Algorithm • Time complexity • Space complexity O(k2n log n) O(kn)

×