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.
Higher-Order Voronoi Diagrams of Polygonal Objects. Dissertation
1. Ph.D. Defense
Higher-Order
Voronoi Diagrams
of Polygonal Objects
Maksym Zavershynskyi
Supervisor: Prof. Evanthia Papadopoulou
Date: Lugano, 24 November 2014
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. 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. Voronoi Diagram of Line Segments
Voronoi Diagram of Line Segments
The distance to a line segment is measured as the minimum distance.
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. Motivation
Motivation?
1.It is a fascinating combinatorial problem to study!
2.It is motivated by applications
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. 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. 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. 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
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. 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. 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. 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. 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. 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:
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. 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. 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. 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. 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
27. The Idea of the Sweepline Algorithm
The Idea
As the horizontal line moves down we maintain k x-monotone curves.
x
s
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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Select Random Sample
Select Random Sample
Select a random sample of constant size such that it is a “good predictor” of all sites
?
?
?
?
?
? ?
?
?
?
?
?
?
? ?
?
?
?
?
?
? ?
?
?
? ?
? ?
?
?
?
?
? ?
?
?
?
?
?
?
47. Divide
Divide Step
Construct order-β Voronoi diagram of using randomized iterative algorithm, where
?
?
?
?
?
?
48. Divide
Divide Step
Construct order-β Voronoi diagram of using randomized iterative algorithm, where
Construct order-(β+1) Voronoi diagram of
?
?
?
?
?
?
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. 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. 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. 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. 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.
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. 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:
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. 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
61. Disconnected Regions
Back
Disconnected Regions
An order-k Voronoi region may disconnect
to bounded faces.
For
!#$%'())*)+'#+,-,.')/'0'1+*$%2$-.$*32'
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. 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';='
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
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. 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
73. Clarkson’s Algorithm For Points
Back
Clarkson’s Algorithm for Points
planes that correspond to
extremal positions of k-sets
74. Clarkson’s Algorithm For Points
Back
Clarkson’s Algorithm for Points
planes that correspond to
extremal positions of k-sets
75. Clarkson’s Algorithm For Points
Back
Clarkson’s Algorithm for Points
normals
planes that correspond to
extremal positions of k-sets
76. Clarkson’s Algorithm For Points
Back
Clarkson’s Algorithm for Points
normals
planes that correspond to
extremal positions of k-sets
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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 .
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. 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. Sweepline Algorithm
Back
Sweepline Algorithm
• Consider k-level Ak
• Lower envelope is 1-level
Ak
96. Sweepline Algorithm
Back
Sweepline Algorithm
• Consider k-level Ak
• Lower envelope is 1-level
Wave
Breakpoint
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. 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. Sweepline Algorithm
Back
Sweepline Algorithm
• Occur when the line hits a new line segment.
• We insert the corresponding wave-curve and
update all levels.
102. Sweepline Algorithm
Back
Sweepline Algorithm
• Occur when 3 wave-curves intersect at
a common point
a
b
c
103. Sweepline Algorithm
Back
Sweepline Algorithm
• Occur when 3 wave-curves intersect at
a common point
a
b
c
104. Sweepline Algorithm
Back
Sweepline Algorithm
• Occur when 3 wave-curves intersect at
a common point
a
b
c
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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Sweepline Algorithm
Back
Sweepline Algorithm
• Time complexity
• Space complexity
O(k2n log n)
O(kn)