Successfully reported this slideshow.
Upcoming SlideShare
×

# 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
• Full Name
Comment goes here.

Are you sure you want to Yes No
• 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
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)