Upload
maksym-zavershynskyi
View
185
Download
1
Tags:
Embed Size (px)
Citation preview
Ph.D. Defense
Maksym Zavershynskyi
Supervisor: Prof. Evanthia PapadopoulouDate: Lugano, 24 November 2014
Higher-OrderVoronoi Diagramsof Polygonal Objects
Voronoi Diagram
Voronoi DiagramNearest neighbor Voronoi diagram of sites S is the partitioning of the plane into regions, such that every point within a fixed region has the same nearest site.
Higher-Order Voronoi Diagram
Higher-Order Voronoi DiagramOrder-k Voronoi diagram of sites S is the partitioning of the plane into regions, such that every point within a fixed region has the same closest k sites.
Complexity
Lee’82
Voronoi Diagram of Line Segments
Voronoi Diagram of Line SegmentsThe distance to a line segment is measured as the minimum distance.
Higher-Order Voronoi Diagram of Line Segments
Higher-Order Voronoi Diagram of Line SegmentsThe higher-order Voronoi diagram of points is the only concrete higher-order Voronoi diagram that has been studied so far!
2-order Voronoi diagram of line segments
Motivation
Motivation?
1.It is a fascinating combinatorial problem to study!
2.It is motivated by applications
Timeline
Higher-Order Voronoi Diagrams Timeline
1975 - Introduced by Shamos and Hoey
1975 1985 1995 2005 2014
1982 - Structural bound and first algorithm by Lee
1985-2000 - Around 15 Algorithms Discovered 2006 - Farthest Line Segment Voronoi
Diagram Studied by Aurenhammer et al.
2011 - Farthest Polygon Voronoi Diagram Studied by Cheong et al.
2010-2014 Our Research!
Algorithms for Higher-Order Voronoi Diagrams
Lee
Aggarwal et al.
Rosenberger
Edelsbrunner
Chazelle and Edelsbrunner
Chazelle and Edelsbrunner
Boissonat et al.
Algorithms for Higher-Order Voronoi Diagrams
Algorithms for Higher-Order Voronoi Diagrams
Aurenhammer
Aurenhammer and Schwarzkopf
Mulmuley
Clarkson
Agarwal et al.
Chan
Ramos
Chan
Algorithms for Higher-Order Voronoi Diagrams
Almost !
Outline
Contributions of this Dissertation
1.Higher-Order Voronoi Diagrams of Line Segments
2.Higher-Order Voronoi Diagrams of a Planar Straight-Line Graph
3.Sweepline Algorithm
4.Algorithms for Higher-Order Abstract Voronoi Diagrams
Higher-OrderVoronoi Diagramsof Line Segments
Higher-Order Voronoi Diagram of Line Segments
Higher-Order Voronoi Diagram of Line SegmentsOrder-k Voronoi diagram of sites S is the partitioning of the plane into regions, such that every point within a fixed region has the same closest k sites.
Disconnected Regions
Disconnected RegionsA single order-k Voronoi region can disconnect into Ω(n) faces, k>1.
2-order Voronoi diagram of line segments
This does not happen for points!
1.In the case of points the faces are convex polygons:
In the case of line segments not convex and not polygons:
2.In the case of points we have k-set theory
In the case of line segments we have to use more general structures
3.In the case of points
In the case of line segments
Points vs Line Segments
Points vs Line Segments
Structural Complexity
Despite all these difficulties we proved that the structural complexity of the order-k Voronoi diagram of disjoint line segments is
same as for the points!
Kirkpatrick’79The structural complexity of the order-1 Voronoi diagram is:
The structural complexity of the order-(n-1) Voronoi diagram is:
Intersecting Line Segments
Intersecting Line Segments
We proved that the structural complexity of the higher-order Voronoi diagram of intersecting line segments is
Aurenhammer et al.’06
We have extended our results to Lp metrics, 1≤p≤∞
Intersecting Line Segments
In Lp Metrics
For disjoint line segments in L1 and L∞ we proved tighter bounds:
Higher-OrderVoronoi Diagramsof a Planar Straight-Line Graph
Planar Straight-Line Graph
Planar Straight-Line Graph
Planar Straight-Line Graph
Planar Straight-Line Graph
s1 s2
b(s1, s2)
b(s1, s2)
2-dimensional bisectors
s1
s2s3
s4
b(s1, s4)b(s2, s4)b(s3, s4)b(s1, s4)
b(s2, s4), b(s3, s4)
non-transversal intersections
Augmenting the Definition of a Voronoi Region
Augmenting the Definition of a Voronoi Region
Order-k subset H of S:
Type-1:
Type-2: and there is a proper order-k disk such that
p - is the representative of
An order-k disk - the disk of minimum radius that intersects at least k line segments.
- segments intersected by
Augmenting the Definition of a Voronoi Region
Augmenting the Definition of a Voronoi Region
Type-1 order-k Voronoi region:
Type-2 order-k Voronoi region:
Order-k Voronoi Diagram of a Planar Straight-Line Graph
Order-k Voronoi Diagram of a PSLG
s1
s2
s3
s4s5s6
s7
s8
V1({s5, s6}a, S)
V1({s1, s6, s7}d, S)
V1({s1, s2}f , S) V1({s2, s3}g , S)
V1({s3, s4}b, S)
V1({s5}, S) V1({s4}, S)
V1({s3}, S)
V1({s2}, S)
V1({s1}, S)
V1({s6}, S)
V1({s7}, S)
V1({s8}, S)
V1({s4, s5}c, S)V1({s7, s8}e, S)
ab
c
d
e
f gV2({s1, s2}, S)
V2({s6, s5}, S) V2({s3, s4}, S)
V2({s3, s8}, S)
V2({s2, s8}, S)
V2({s4, s5}, S)
V2({s7, s5}, S)
V2({s7, s8}, S)
V2({s3, s4, s5}c, S)
V2({s4, s5, s8}c, S)
V2({s5, s7, s8}e, S)
V2({s2, s7}, S)
V2({s1, s6, s7}d, S)
V2({s2, s3, s8}g , S)
V2({s1, s7}, S)
V2({s6, s7}, S)
s1
s2
s3
s4s5s6
s7
s8
ab
c
d
e
fg
Structural Complexity
Structural Complexity
We proved that the structural complexity is
We have extended the iterative algorithm to construct the order-k Voronoi
diagram of a PSLG, with the following time complexity:
Publications
Publications
• Papadopoulou, E. and Zavershynskyi, M. The higher-order Voronoi diagram of line segments. To appear in Algorithmica journal.
• Papadopoulou, E. and Zavershynskyi, M. [2012] On higher-order Voronoi diagrams of line segments, in Chao, K.-M., Hsu, T.-s., Lee, D.-T. (eds), ISAAC, Vol. 7676 of LNCS, Springer, pp. 177-186
•Extended abstract: Papadopoulou, E. and Zavershynskyi, M. [2012] On higher-order Voronoi diagrams of line segments. EuroCG 2012, pp. 232-236
Sweepline Algorithmfor Higher-Order Voronoi Diagramsof Line Segments
The Idea of the Sweepline Algorithm
The IdeaAs the horizontal line moves down we maintain k x-monotone curves.
�
x
s
Time and Space Complexity
Time and Space Complexity
•Time complexity:
•Space complexity:
•Can be used to construct all order-i Voronoi diagrams, for i≤k
•Can be used for on-the-fly computations
•Memory efficient
•Easy to implement
Sweepline Algorithm for a Planar Straight-Line Graph
Sweepline Algorithm for PSLG
A0
A1
A2
�
•Can be generalized to construct the order-k Voronoi diagram of a planar straight-line graph•The body of the algorithm is essentially the same as of disjoint line segments•However, the discrete event points that change the topology of the arrangement during the sweeping are harder to process
Publications
Publications
•Zavershynskyi, M. and Papadopoulou, E. A sweepline algorithm for higher-order Voronoi diagrams of line segments. To be submitted to a journal.
•Zavershynskyi, M. and Papadopoulou, E. [2013] A sweepline algorithm for higher-order Voronoi diargams, ISVD, IEEE, pp. 16-22
•Extended abstract: Zavershynskyi, M. and Papadopoulou, E. [2013] A sweepline algorithm for higher-order Voronoi diagrams. EuroCG 2013, pp. 233-236
Algorithms forHigher-OrderAbstract Voronoi Diagrams
Voronoi Diagram
Abstract Voronoi Diagrams•Does not use the geometry of sites or distance functions•All we know is the set of bisectors
Klein’89, Klein et al.’09
Voronoi Diagram
Abstract Voronoi Diagrams•Does not use the geometry of sites or distance functions•All we know is the set of bisectors
Klein’89, Klein et al.’09
Voronoi Diagram
Abstract Voronoi Diagrams•Does not use the geometry of sites or distance functions•All we know is the set of bisectors
Klein’89, Klein et al.’09
Voronoi Diagram
Abstract Voronoi Diagrams•Does not use the geometry of sites or distance functions•All we know is the set of bisectors
?
?
Klein’89, Klein et al.’09
Abstract Voronoi Diagrams
Abstract Voronoi DiagramsVoronoi Region:
Voronoi Diagram:
For any
(A1) Each region is path-wise connected
(A2) Each point on the plane belongs to the closure of some Voronoi region
Klein’89, Klein et al.’09
Higher-Order Abstract Voronoi Diagrams
Higher-Order Abstract Voronoi DiagramsOrder-k Voronoi Region:
Order-k Voronoi Diagram:
For any
(A3) No first-order Voronoi region is empty
(A4) Each curve is unbounded. After a stereographic projection to the sphere, it can be
completed to be a closed Jordan curve through the north pole
(A5) Any two curves and have only finitely many intersection points, and these
intersections are transversalBohler et al.’14
Structural Complexity
Structural ComplexityThe number of faces:
Construction algorithms available for:
•order-1 abstract Voronoi diagram
•order-(n-1) abstract Voronoi diagram
Open problem:
Incremental construction algorithm for higher-order abstract
Voronoi diagrams based on Clarkson-Shor technique.
Bohler et al.’14
Klein et al.’91
Mehlhorn et al.’01
Mehlhorn et al.’91
Concrete Voronoi Diagrams that Satisfy the Axioms
Concrete Voronoi Diagrams that Satisfy the Axioms
1. Disjoint line segments in Lp metric 1≤p≤∞
2. Disjoint convex polygons
3.Additively weighted points
4.Power diagrams
etc
Aurenhammer et al.’13
Structural Complexity
Our Three Construction Algorithms
1.Randomized Iterative Algorithm
2.Random Walk Algorithm
3.Randomized Divide and Conquer Algorithm
(A6) A bisector has points of vertical tangency
Randomized Iterative Algorithm
Randomized Iterative Algorithm•Expected time complexity:
•Space complexity:
•Can be used to construct all order-i Voronoi diagrams, for i≤k
•Simple
•Easy to implement
Random Walk Algorithm
Random Walk Algorithm
Influence region of a site
Influence region of site s is the union of all order-k Voronoi regions induced by the site s
Chazelle&Edelsbrunner’87
Random Walk Algorithm
Random Walk Algorithm
Influence region of a site
•We can construct the influence region of a site using Har-Peled’s random walk algorithm.
•This takes expected time per site.O(n2α(n) log n)
Har-Peled’00
Random Walk Algorithm
Random Walk Algorithm•Based on the idea of Chazelle&Edelsbrunner
•Uses Har-Peled’s random walk method
•Easy to implement (Har-Peled’s implementation is available)
•Expected time complexity:
less than 6 for any practical number
Divide and Conquer in Abstract Setting
Divide and Conquer in Abstract SettingHow do we perform divide and conquer when the sites are abstract?
?
??
?
?
??
?
?
??
?
?? ?
?
?
?
?
???
??
? ?
?? ?
?
?
?
? ?
?
??
???
Select Random Sample
Select Random SampleSelect a random sample of constant size such that it is a “good predictor” of all sites
?
??
?
?
??
?
?
??
?
?? ?
?
?
?
?
???
??
? ?
?? ?
?
?
?
? ?
?
??
???
Divide
Divide StepConstruct order-β Voronoi diagram of using randomized iterative algorithm, where
?
?
??
??
Divide
Divide StepConstruct order-β Voronoi diagram of using randomized iterative algorithm, whereConstruct order-(β+1) Voronoi diagram of
?
?
??
??
Weak Conflict
The Trick is to Find a Conflict Relation!•The notion of conflict comes from the Clarkson-Shor technique
•Site weakly conflicts if
?
?
Conquer
Conquer Step•Consider only those sites that are in weak conflict with the trapezoid•Recursively solve the problem•If the problem is small enough solve it with random walk algorithm
??
?
? ??
?
?
The Conflicts “Bracket” the Abstract Sites
The Conflicts “Bracket” the Abstract Sites•Upper bound the number of weak conflicts per trapezoid - is used to bound the size of the recursive input•Lower bound the number of strong conflicts per trapezoid - is used to bound the depth of the recursion
Weak conflict Strong conflict
?
?
?
?
Randomized Divide and Conquer Algorithm
Randomized Divide and Conquer Algorithm
•Establishes connection between two mathematical abstractions:
higher-order abstract Voronoi diagrams and Clarkson-Shor framework
•Time complexity:
for any constant
•Uses two other algorithms for subroutines
Publications
Publications
•Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. A randomized divide and conquer algorithm for higher-order abstract Voronoi diagrams. To be submitted to a journal.
•Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. [2014] A randomized divide and conquer algorithm for higher-order abstract Voronoi diagrams. To appear in the conference proceedings, ISAAC 2014.
•Abstract: Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. [2014] Randomized algorithms for higher-order abstract Voronoi diagrams. Booklet of abstracts of EuroGIGA conference in Berlin.
Conclusions
Conclusions
•higher-order Voronoi diagram of disjoint line segments
•higher-order Voronoi diagram of intersecting line segments
•higher-order Voronoi diagram of line segments in Lp metrics
for disjoint line segments in L1/L∞ :
We have extended the definitions to planar straight-line graph and studied structural
and combinatorial properties:
We have studied properties of:
Conclusions
•Iterative algorithm for line segments and PSLG:
•Sweepline algorithm for line segments and PSLG:
•Randomized iterative algorithm for higher-order abstract Voronoi diagrams:
•Random walk algorithm for higher-order abstract Voronoi diagrams:
•Randomized divide and conquer algorithm for higher-order abstract Voronoi diagrams:
We have developed construction algorithms:
Date: Lugano, 24 November 2014
Thanks!
(1) Papadopoulou, E. and Zavershynskyi, M. The higher-order Voronoi diagram of line segments. To appear in Algorithmica journal.(2) Papadopoulou, E. and Zavershynskyi, M. [2012] On higher-order Voronoi diagrams of line segments, in Chao, K.-M., Hsu, T.-s., Lee, D.-T. (eds), ISAAC, Vol. 7676 of LNCS, Springer, pp. 177-186
•Extended abstract: Papadopoulou, E. and Zavershynskyi, M. [2012] On higher-order Voronoi diagrams of line segments. EuroCG 2012, pp. 232-236
(3) Zavershynskyi, M. and Papadopoulou, E. A sweepline algorithm for higher-order Voronoi diagrams of line segments. To be submitted to a journal.(4) Zavershynskyi, M. and Papadopoulou, E. [2013] A sweepline algorithm for higher-order Voronoi diargams, ISVD, IEEE, pp. 16-22
•Extended abstract: Zavershynskyi, M. and Papadopoulou, E. [2013] A sweepline algorithm for higher-order Voronoi diagrams. EuroCG 2013, pp. 233-236
(5) Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. A randomized divide and conquer algorithm for higher-order abstract Voronoi diagrams. To be submitted to a journal.(6) Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. [2014] A randomized divide and conquer algorithm for higher-order abstract Voronoi diagrams. To appear in the conference proceedings, ISAAC 2014.
•Abstract: Bohler, C., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. [2014] Randomized algorithms for higher-order abstract Voronoi diagrams. Booklet of abstracts of EuroGIGA conference in Berlin.
(7) Bohler, C., Cheilaris, P., Klein, R., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. On the complexity of higher- order abstract Voronoi diagrams. Submitted to CGTA journal, first round of the revision.(8) Bohler, C., Cheilaris, P., Klein, R., Liu, C.-H., Papadopoulou, E. and Zavershynskyi, M. [2014] On the complexity of higher-order abstract Voronoi diagrams, in Fomin, F.V., Freivalds, R., Kwiatkowska, M.Z. and Peleg, D. (eds), ICALP (1), Vol. 7965 of LNCS, pp. 208-219
Our publications
Backup Slides
Disconnected Regions
Complexity Analysis for Line Segments
Vertices in PSLG
Iterative Algorithm for PSLG
Sweepline Algorithm
Randomized Divide and Conquer Algorithm in Abstract Setting
Clarkson’s Algorithm for Points
Disconnected Regions
Disconnected Regions
Disconnected Regions
Back
An order-k Voronoi region may disconnect to bounded faces. For
!"#$"%&'()")*)+'#+,"-,.')/'0'1+*$%2$-.$*32'
Disconnected Regions
Disconnected Regions
Back
An order-k Voronoi region may disconnect to unbounded faces. For
!"#$"%&'()")*)+'#+,"-,.')/'0'1+*$%2$-.$*32'4'5$*$",1+6+*-'789"$*:,..$"'$3',1';<=>'
k
n-k
Disconnected Regions
Disconnected Regions
Back
An order-k Voronoi region may disconnect to unbounded faces. For
F1
F2
F3
F4
!"#$"%&'()")*)+'#+,"-,.')/'0'1+*$%2$-.$*32'4'5$*$",1+6+*-'789"$*:,..$"'$3',1';<=>'
?+*$%2$-.$*32'@,*'A$'9*3,*-1$#B'
Complexity Analysis for Line Segments
Structural Complexity Analysis for Line SegmentsBack
1.First we calculate the number of faces:
2.Second we calculate the total number of unbounded faces:
3.Finally we bound the number of unbounded faces:
... and prove the bound
Structural Complexity Analysis for Line Segments
Vertices in PSLG
Vertices in PSLG
Vertices in PSLG
Back
! Type-2 Voronoi regions create configurations that are non-standard in an order-k Voronoi diagram of disjoint sites.
! As k increases type-2 Voronoi regions spread their influence on neighboring regions.
16 Evanthia Papadopoulou, Maksym Zavershynskyi
p
1 2
V1(p)
V1(1) V1(2)
p
1 2
V2(p)
V2(p, 1) V2(p, 2)
V2(1, 2)
p
1 2
Vi(p)
Vi(p, 1) Vi(p, 2)
Vi(p, 1, 2)
p
1 2
Vi(p, 1) Vi(p, 2)
Vi(p, 1, 2)
Fig. 9: For brevity we denote Voronoi region of the representative p as V (p). (a) A Voronoivertex of an order-1 Voronoi diagram. The disk depicts the distance to the farthest site; (b)A Voronoi vertex of an order-2 Voronoi diagram; (c) A Voronoi vertex of an order-i Voronoidiagram, 2 < i ≤ |I(p)|. At order-|I(p)| Voronoi region Vi(p) becomes type-1; (d) A Voronoivertex of an order-|I(p)|+ 1 Voronoi diagram.
It shows how the region and its incident Voronoi vertex evolve as the orderof the diagram increases until the region becomes a type-1 region and itsincident vertex an ordinary Voronoi vertex of degree 3. Note that despitethe weak general position assumption, Voronoi vertices incident to a type-2Voronoi region may have degree higher than three (see e.g., Fig. 9b,c). Inmore detail, in Fig. 9a a Voronoi vertex v is incident to one type-2 Voronoiregion Vi(Hp, S) and two type-1 Voronoi regions Vi(Q,S) and Vi(R,S). As weincrease i, it may be seen as the type-2 Voronoi region “spreads” its influenceon neihgboring regions and more neighboring regions become type-2. In theorder-(i + 1) Voronoi diagram, v will be incident to type-2 Voronoi regionsVi+1(Hp, S), Vi+1(Hp ∪Q,S) and Vi+1(Hp ∪R,S) and type-1 Voronoi regionVi+1(Q∪R,S) (see Fig. 9b). Fig. 10a illustrates an example of a vertex incidentto 3 type-2 Voronoi regions with representatives p, r and q. Notice that asorder increases Voronoi region of q becomes type-1 and in the next order isbeen split between two type-2 Voronoi regions of representatives r and p, Fig.10b. Eventually this process may create a Voronoi vertex incident up to sixedges, defined by three bisectors.
p
qr
V (q)V (r)
V (p)
V (p, I(q))
V (r, I(q))
V (r)
V (p)
p
qr
V (p, I(q))
V (r, I(q))V (q, I(r))
V (p, I(r))
V (p)
p
qr
Fig. 10: (a) A Voronoi vertex incident to three type-2 regions; (b) In the order-j Voronoidiagram, j = |I(q)| + 1, the Voronoi region with representative q is split into two regions;(c) In the order-r Voronoi diargam, r = |I(r)|+ 1, the Voronoi region with representative ris split into two regions.
Vertices in PSLG
Vertices in PSLG
Back
! Voronoi vertex has degree between 3 and 6.
! Voronoi vertex can be an intersection point of only 2 bisectors that define 4 edges.
16 Evanthia Papadopoulou, Maksym Zavershynskyi
p
1 2
V1(p)
V1(1) V1(2)
p
1 2
V2(p)
V2(p, 1) V2(p, 2)
V2(1, 2)
p
1 2
Vi(p)
Vi(p, 1) Vi(p, 2)
Vi(p, 1, 2)
p
1 2
Vi(p, 1) Vi(p, 2)
Vi(p, 1, 2)
Fig. 9: For brevity we denote Voronoi region of the representative p as V (p). (a) A Voronoivertex of an order-1 Voronoi diagram. The disk depicts the distance to the farthest site; (b)A Voronoi vertex of an order-2 Voronoi diagram; (c) A Voronoi vertex of an order-i Voronoidiagram, 2 < i ≤ |I(p)|. At order-|I(p)| Voronoi region Vi(p) becomes type-1; (d) A Voronoivertex of an order-|I(p)|+ 1 Voronoi diagram.
It shows how the region and its incident Voronoi vertex evolve as the orderof the diagram increases until the region becomes a type-1 region and itsincident vertex an ordinary Voronoi vertex of degree 3. Note that despitethe weak general position assumption, Voronoi vertices incident to a type-2Voronoi region may have degree higher than three (see e.g., Fig. 9b,c). Inmore detail, in Fig. 9a a Voronoi vertex v is incident to one type-2 Voronoiregion Vi(Hp, S) and two type-1 Voronoi regions Vi(Q,S) and Vi(R,S). As weincrease i, it may be seen as the type-2 Voronoi region “spreads” its influenceon neihgboring regions and more neighboring regions become type-2. In theorder-(i + 1) Voronoi diagram, v will be incident to type-2 Voronoi regionsVi+1(Hp, S), Vi+1(Hp ∪Q,S) and Vi+1(Hp ∪R,S) and type-1 Voronoi regionVi+1(Q∪R,S) (see Fig. 9b). Fig. 10a illustrates an example of a vertex incidentto 3 type-2 Voronoi regions with representatives p, r and q. Notice that asorder increases Voronoi region of q becomes type-1 and in the next order isbeen split between two type-2 Voronoi regions of representatives r and p, Fig.10b. Eventually this process may create a Voronoi vertex incident up to sixedges, defined by three bisectors.
p
qr
V (q)V (r)
V (p)
V (p, I(q))
V (r, I(q))
V (r)
V (p)
p
qr
V (p, I(q))
V (r, I(q))V (q, I(r))
V (p, I(r))
V (p)
p
qr
Fig. 10: (a) A Voronoi vertex incident to three type-2 regions; (b) In the order-j Voronoidiagram, j = |I(q)| + 1, the Voronoi region with representative q is split into two regions;(c) In the order-r Voronoi diargam, r = |I(r)|+ 1, the Voronoi region with representative ris split into two regions.
Iterative Algorithm for PSLG
Iterative Algorithm for PSLG
Iterative Algorithm for PSLG
Back
•Construct order-1 Voronoi diagram•For i=1,...,k-1 do✴Partition each Type-1 face of order-i Voronoi diagram✴Remove unnecessary edges
s1
s2
s3
s4
s5
s6
s7
s8
a
b
c
d
e
f
g
V1({s4, s5}c, SF )
V1({s5}, SF )
V1({s6}, SF )V1({s1}, SF )
V1({s2}, SF )
V1({s3}, SF )V3({s2, s3, s8}, S)
V3({s3, s4, s8}, S)V3({s3, s4, s5}, S)
V3({s4, s5, s6}, S)
V3({s1, s5, s6, s7}d, S)
V3({s5, s6, s7}, S)
V3({s1, s6, s7}, S)V3({s1, s2, s6, s7}d, S)
V3({s1, s2, s3, s8}g , S)V3({s1, s2, s8}, S)
V3({s1, s2, s7}, S)
V3({s2, s7, s8}, S)
V3({s1, s7, s8}, S)
V3({s3, s7, s8}, S)V3({s4, s5, s8}, S)
V3({s4, s5, s7}, S)
V3({s5, s7, s8}, S)
V3({s6, s7, s8}, S)
V3({s4, s5, s7, s8}e, S)
V3({s3, s4, s5, s8}c, S)
s1
s2
s3
s4
s5
s6
s7
s8
a
b
c
d
e
f
gV3({s4, s5, s7, s8}c, S)
order-2 order-3
Clarkson’s Algorithm for Points
Clarkson’s Algorithm For Points
Clarkson’s Algorithm for Points
Back
projection
Clarkson’s Algorithm For Points
Clarkson’s Algorithm for Points
Back
planes that correspond to extremal positions of k-sets
Clarkson’s Algorithm For Points
Clarkson’s Algorithm for Points
Back
planes that correspond to extremal positions of k-sets
Clarkson’s Algorithm For Points
Clarkson’s Algorithm for Points
Back
planes that correspond to extremal positions of k-sets
normals
Clarkson’s Algorithm For Points
Clarkson’s Algorithm for Points
Back
planes that correspond to extremal positions of k-sets
normals
Clarkson’s Algorithm For Points
Clarkson’s Algorithm for Points
Back
planes that correspond to extremal positions of k-sets
normals
triangulation of the cone
Clarkson’s Algorithm For Points
Clarkson’s Algorithm for Points
Back
normals
points that belong to the union of the halfplanes - analog of weak conflictpoints that belong to the intersection of the halfplanes - analog of strong conflict
Randomized Divide and Conquer Algorithm for Higher-Order Abstract Voronoi Diagrams
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
Vertical decomposition of :
1.Consider
2. Shoot vertical rays from each vertex and vertical tangent point.
Vk(S)
Vk(S)
Vk(S) ∪ Vk+1(S)
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
Vertical decomposition of :
1.Consider
2. Shoot vertical rays from each vertex and vertical tangent point.
Vk(S)
Vk(S) ∪ Vk+1(S)
Vk(S) ∪ Vk+1(S)
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
Vertical decomposition of :
1.Consider
2. Shoot vertical rays from each vertex and vertical tangent point.
Vk(S)
Vk(S) ∪ Vk+1(S)
Vk(S) ∪ Vk+1(S)
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
Draw random sample such that it is a good predictor of .
R
S
Trapezoid is defined by at most elements of Rd
e.g.: d = 5s1
s2
s3
s4
p - dominatorp�
�
[Clarkson’87]
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
Site strongly conflicts with if
d = 5s1
s2
s3
s4
p - dominatorp�
s � � ⊂ D(s, p)
D(s, p)
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
Site weakly conflicts with if
d = 5s1
s2
s3
s4
p - dominatorp�
s �
D(s, p)
�∩D(s, p) �= ∅
Lemma 1
For a random sample , with probability at least
1) number of strong conflicts with is
2) number of weak conflicts with is
for each trapezoid in vert. decomposition of
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
�
R 1/2
S
≤ α|S|S
≥ |S|/(r − 5)
r = |R|,α = O(log r),β = O(log r/ log log r)
Allows to efficiently “bracket” the space!
[Clarkson’87]
Vβ(R)
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
r = |R|,α = O(log r),β = O(log r/ log log r)[Clarkson’87]
- set of sitesS
Vk(S) - order-k diagramv - vertex
v
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
r = |R|,α = O(log r),β = O(log r/ log log r)[Clarkson’87]
- set of sitesS
- random sampleR ⊂ S
where each in vert. decomp. of has strong conflicts
Vβ(R)
Vk(S) - order-k diagram
�
≥ k
v - vertex
v
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
r = |R|,α = O(log r),β = O(log r/ log log r)[Clarkson’87]
- set of sitesS
- random sampleR ⊂ S
where each in vert. decomp. of has strong conflicts
Vβ(R)
Vk(S) - order-k diagram
�
v - vertex
S� ⊂ S- sites in weak conflictVk(S
�)then is vertex ofv
v
Allows to perform divide-n-conquer!
≥ k
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
Construction of can be reduced to finding all the vertices of .
Vk(S)
Vk(S)
[Clarkson’87]
Randomized Divide and Conquer Algorithm in Abstract Setting
Randomized Divide and Conquer in Abstract Setting
Back
If then use random walk algorithm.
Else choose “suitable” random sample .
• Construct and the decomposition, using iterative algorithm.
• For each trapezoid in the decomposition recursively compute vertices in .
R
|S| ≤ k(r − 5)
Vβ(R)
�Vk(S
�)
where - the sites in weak conflict with .S� ⊂ S �[Clarkson’87]
Sweepline Algorithm for Higher-Order Voronoi Diagrams of Line Segments
Sweepline Algorithm
Sweepline Algorithm
Back
• Consider horizontal line l
• Wave-curve w(s) is the locus of points equidistant from l to s
Sweepline Algorithm
Sweepline Algorithm
Back
• Let be the set of line segments that intersect the upper halfplane.
• Consider an arrangement of wave-curves
S�
w(s), s ∈ S�
Sweepline Algorithm
Sweepline Algorithm
Back
• Consider k-level Ak
• Lower envelope is 1-level
Ak
Sweepline Algorithm
Sweepline Algorithm
Back
• Consider k-level Ak
• Lower envelope is 1-level
Breakpoint
Wave
Sweepline Algorithm
Sweepline Algorithm
Back
• While the horizontal line moves down, the breakpoints of Ak and Ak+1 levels move along the edges of the order-k Voronoi diagram.
�
x
s
Sweepline Algorithm
Sweepline Algorithm
Back
• Compute the discrete event points that change the topological structure of k-level while line l moves down.
• We store the adjacency relations!
Site Events Circle Events
Sweepline Algorithm
Sweepline Algorithm
Back
• Occur when the line hits a new line segment.
• We insert the corresponding wave-curve and update all levels.
Sweepline Algorithm
Sweepline Algorithm
Back
a1, am1. . . ,
b1, bm2. . . ,
c1, cm3
. . . ,
. . . ,
d1, dm4
A1 :
A2 :
A3 :
A4 :
A1
A2
A3
A4
. . . ,
. . . ,
. . . ,
. . . ,
ai,
bj ,
cr,
ds,
Adjacency relations:
x
Sweepline Algorithm
Sweepline Algorithm
Back
a1, am1. . . ,
b1, bm2. . . ,
c1, cm3
. . . ,
. . . ,
d1, dm4
A1 :
A2 :
A3 :
A4 :
A1
A2
A3
. . . ,
. . . ,
. . . ,
. . . ,
ai,
bj ,
cr,
ai, , ai,
bj , bj ,
cr, cr,
ds, ds,
Adjacency relations:
x, x,
x, x,
x, x,
x
A4
A5 : x, xds,
Sweepline Algorithm
Sweepline Algorithm
Back
• Occur when 3 wave-curves intersect at a common point
a
bc
Sweepline Algorithm
Sweepline Algorithm
Back
• Occur when 3 wave-curves intersect at a common point
a
bc
Sweepline Algorithm
Sweepline Algorithm
Back
• Occur when 3 wave-curves intersect at a common point
a
b
c
Sweepline Algorithm
Sweepline Algorithm
Back
a
bc Ai :
Ai+1 :
Ai+2 :
a, b,
c,
c
b, a, b
c, a
Adjacency relations:
Sweepline Algorithm
Sweepline Algorithm
Back
a
b
c
Ai :
Ai+1 :
Ai+2 :
a,
b,
c,
c
b, a, b
c, a
Adjacency relations:
Sweepline Algorithm
Sweepline Algorithm
Back
• Precompute the circle events of all triples of the consecutive waves.
• A new triple appears - create the circle event
• An old triple disappears - remove the circle event
Sweepline Algorithm
Sweepline Algorithm
Back
Sweepline Algorithm
Sweepline Algorithm
Back
• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram
Sweepline Algorithm
Sweepline Algorithm
Back
• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram
• We need to keep track of k-level!
Sweepline Algorithm
Sweepline Algorithm
Back
• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram
• We need to keep track of k-level!
• A new wave may be introduced to k-level:
Sweepline Algorithm
Sweepline Algorithm
Back
• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram
• We need to keep track of k-level!
• A new wave may be introduced to k-level:
• By Site Events
Sweepline Algorithm
Sweepline Algorithm
Back
• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram
• We need to keep track of k-level!
• A new wave may be introduced to k-level:
• By Site Events
• From (k-1)-level and (k-2)-level by Circle Events
Sweepline Algorithm
Sweepline Algorithm
Back
• The breakpoints of k-level and (k+1)-level move along the edges of the order-k Voronoi diagram
• We need to keep track of k-level!
• A new wave may be introduced to k-level:
• By Site Events
• From (k-1)-level and (k-2)-level by Circle Events
• We need to maintain ≤k-level!
Sweepline Algorithm
Sweepline Algorithm
Back
• Event queue:
• Queue: Site Events, sorted by y-coordinate.
• Balanced Binary Tree: Circle Events, sorted by y-coordinate of the bottom-most point of the circle.
• Levels 1,...,k:
• Balanced Binary Tree for each level:Sequence of waves that constitute the level.
Sweepline Algorithm
Sweepline Algorithm
Back
• The complexity of the ≤k-level in arrangement of Jordan curves [Sharir&Agarwal’95, Clarkson’87]
• Complexity of the lower envelope [Fortune’87]
• Therefore the complexity of the ≤k-level is:
g≤k(n) = O�k2g1(n/k)
�
g1(n) = O(n)
g≤k(n) = O(kn)
Sweepline Algorithm
Sweepline Algorithm
Back
• Event Queue:
• Site Events
• Circle EventsEach Circle Event corresponds to a triple of consecutive waves in ≤k-level
O(n)
O(kn)
Sweepline Algorithm
Sweepline Algorithm
Back
• Site Event
• For each i-level, i = 1,...,k
• Find insertion point
• Update adjacency relations at the point
• For all Site Events:
O(log |Ai|) ≤ O(log (i(n− i))) ≤ O(log n)
O(nk)O(log n) = O(nk log n)
Sweepline Algorithm
Sweepline Algorithm
Back
• Every processed Circle Event corresponds to some order-i Voronoi vertex, i = 1,...,k
• Therefore total number of processed Circle Events is the total complexity of order-i Voronoi diagrams, i = 1,...,k
k�
i=1
i(n− i) = O�k2n�
Sweepline Algorithm
Sweepline Algorithm
Back
• Circle Event
• Remove Circle Event from the queue
• Update adjacency relations relations on 3 levels:
• For all Circle Events:
O�logO
�k2n��
= O(log n)
3O(log n) = O(log n)
O(k2n)O(log n) = O(k2n log n)
Sweepline Algorithm
Sweepline Algorithm
Back
• Time complexity
• Space complexity
O(k2n log n)
O(kn)