Problem Given two sets of points R and B R ² where R n and B m Find the smallest circle containing all of R and as few points as possible from B ID: 707441
Download Presentation The PPT/PDF document "Bichromatic Separating Circles" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Bichromatic
Separating CirclesSlide2
Problem
Given two sets of points,
R
and
B
∈
R
² where |
R
| =
n
and |
B
| =
m
:
Find the smallest circle containing all of
R
and as few points as possible from
BSlide3
Example
Smallest enclosing circle
Smallest separating circleSlide4
Possible Applications
Communications jamming
Minimizing civilian casualties
Data set separationSlide5
Previous Work
Fisk - Pure separability in O(
nm
) time
O’Rourke et al. - Pure separability in O(
n+m) time using linear programmingLinear Programming methods taken from MeggidoSlide6
Previous Work
Hurtado
et al. – Color grouping within axis parallel rectangles and strips
Aronov
et al. – Separating red and blue sets using a lineSlide7
Possible Separating Circles
If it contains 3 points from
R
the answer is the smallest enclosing circle for
R
Must contain at least two points from RSlide8
No Less Than Two Red Points
Single red point on boundary - contradictionSlide9
Two Red Points
Two red points lying on the boundary of a circle
Farthest two red points since all red points must be contained in the circleSlide10
Farthest Neighbor
Voronoi
Diagram
An edge is the locus of all points that have the same two farthest points from
R
Can be thought of as a tree with the root being the center of the minimum enclosing circle of RSlide11
Finding the Boundary
Center circle on farthest Neighbor
Voronoi
edge
Find event point for each point in
B
Event point is defined as when a blue point enters or exits the circleSlide12
Finding the Boundary
Two red points and the edge of FVD that they defineSlide13
Finding the Boundary
Finding the event pointsSlide14
Finding the BoundarySlide15
The Algorithm
Compute the FVD for
R
For each of the O(
n
) edges of the diagram, we perform an event point sweepFind event points for all blue pointsSort in order of increasing distance from the red pointsCalculate # of blue points within the circleOnly need to increment/decrement after first countConstant time updateSlide16
Running Time/Space Analysis (Smallest Circle)
Computing the FVD for
R
takes O(
n
logn) time and uses O(n) spaceFor each of the O(n) edges of the diagram, we perform the sweepThis uses O(m) space and O(
mlogm) timeThus, overall we use O(n+m) space and O(nmlogm + nlogn) timeSlide17
Event Points
Sweep algorithm analyzes all event points
Each edge may have
O(m)
event points
As the circle grows, it will eventually enclose all blue points in the
halfspaceSlide18
Event Points
Each edge may have
O(m)
event pointsSlide19
Event Points
Each edge may have
O(m)
event pointsSlide20
Event Points
Intersection of
halfspaces
Place
O(m)
points within this region
All of those points will cause event points for each of the edgesSlide21
Exit Event Points
Size
of enclosing circle increases along path from root to leaf
Not necessary to analyze all event points
Only
analyze exit eventsSlide22
Exit Event Points
Each edge of
FVD(
R)
defines an exit region
Exit regions are disjoint
<=
m exit eventsSlide23
Counting Blue Points
Sweeping allowed count to be found in constant time
Use circular range countingSlide24
Running Time/Space Analysis (Smallest Circle) Second Algorithm
Find edge of
FVD(
R)
defining the exit region for each point in
BO(nm) timePerform O(m) circular range counting queriesO*(m1.5)
time and space* notation hides a polylogarithmic factorFaster than the sweeping algorithm if n=ω(√m) Slide25
Bound on the Number of Smallest Circles
There are
n
separating circles in the worst case
Lower boundSlide26
Bound on the Number of Smallest Circles
There are
n
separating circles in the worst case
Lower boundSlide27
Bound on the Number of Smallest Circles
There are
n
separating circles in the worst case
Upper bound
Center of smallest enclosing circle
Root to leaf path increases circle size, so smallest separating circles can only exist on disjoint root to leaf pathsSlide28
Largest Separating Circle
Use largest separating circle algorithm for purely separable sets as a subroutine
Remove all points from
B
that are inside circles with the minimum number of blue points encountered during the sweepSlide29
Largest Separating Circle
Subroutine takes
O((
n+m
)log(
n+m)) timeOverall running time O(m(n+m)log(n+m))