Title: Applications of Arrangements in Computational Geometry
1Applications of Arrangements in Computational
Geometry
- Supervisor Prof. Micha Sharir
- Esther Ezra
2Problems
Triangles in R2 Fat objects in R2 ,R3
- Union of geometric objects
- Counting and representing intersections among
triangles in R3 - Minimum Hausdorff distance under translation
- Medial axis and union of balls
3Union of triangles in R2Known results
- Special cases Union size
Ref - Fat triangles O(n loglog n)
MPSSW-94 - Pseudodiscs O(n)
KLPS-86 - General triangles
- Algorithm Running time Ref
- RIC O(n log n T1) AH-01
- DC O(n2)
EHS-02
Performs well in practice
4Output-sensitive union construction
- Given a collection T ?1,, ?n of n triangles
in the plane, such that there exists a subset S
?T (unknown to us), - of ? ltlt n triangles, such that
- ?? ?S ? ?? ?T ? ,
- construct efficiently the union of the triangles
in T.
5Output Sensitivity Example I
? 2
6Output Sensitivity Example II
Only 4 triangles determine the boundary of the
union
? 6
7Computing the union
- Constructing the arrangement of the triangles
too slow! O(n2) - Output-sensitive algorithm
- (number of edges on the boundary)?
- unlikely to exist!
- 3SUM HOLE-IN-UNION
- The best known solutions to problems from the
3SUM-hard family require ?(n2) time in the worst
case.
8Our Result
- We show that when there exists a subset S ?T of
? ltlt n triangles, such that ?? ?S ? ?? ?T ? ,
the union can be constructed in subquadratic
time. - We use the Disjoint-Cover (DC) algorithmEzra,
Halperin, Sharir 2002
9The DC algorithm General idea
- Suppose we are given the set V of all vertices
of the arrangement A(T), that are contained in
the interior of the union. - Run a greedy algorithm that inserts the triangles
into the union by their weights.The weight of a
triangle ? ? TThe number of (uncovered)
vertices inside the triangle.
10Disjoint-Cover (DC) algorithm
- Suppose we have inserted (?1,,?j).
- For each remaining triangle ?, we temporarily set
S? to be the set of all vertices of V in the
interior of ? that are not covered by ? iltj ?i . - Set W(?) S? for each remaining triangle.
- Set ?j1 to be the triangle with the maximum
weight. - Update the union to include ?j1 .
- Proceed until all triangles have been chosen.
11Preprocessing stage Example step1
Temporary initial weights W(?1)7 W(?2)5 W(?3)
3 W(?4)0
?3
?1
?4
?2
DC Chooses ?1
12Preprocessing stage Examplestep2
Temporary current weights W(?2)3 W(?3)1 w(?4)0
?3
?1
?4
?2
DC chooses ?2
13Preprocessing stage Examplestep3
Temporary current weights W(?3)1 w(?4)0
?3
?1
?4
?2
DC chooses ?3
14Preprocessing stage Examplestep4 (final)
Temporary current weights w(?4)0
Final weights W(?1)7 W(?2)3 W(?3)1 w(?4)0
?3
?1
?4
?2
(?1, ?2, ?3, ?4)
DC chooses ?4
15The residual cost of the DC algorithm
- How many vertices at positive-depth (in V) are
constructed by the DC algorithm?
16Set Cover in Hypergraphs
- H(V,E) V V E T
- A set cover a subset of E whose union covers V.
- The DC algorithm is a greedy algorithm for
finding a set cover.
17Finding a set cover
- There are ? triangles that cover V.
- The (greedy) DC algorithm will find a cover of
size O(? logn). - The residual cost of the DC algorithm is
O(?2log2n) .
18The approximate DC algorithm
- We replace V with a (small) random subset R? V
. - R r ?(?t log n)
- We resample R at every iteration of the DC
algorithm.
t is a parameter of the quality of the sampling
19Approximate weights
- Approximate weight of ? number of uncovered
vertices of R inside ?. -
- The algorithm proceeds as above, using
approximate weights to determine the insertion
order.
20Analysis General idea
- The approximate weights of the heavy triangles
(W(?) gt , ? V) reflect their actual
weights. - The approximate DC algorithm chooses at the j-th
iteration a triangle whose real weight does not
differ significantly from the largest real weight
at this step.
21The residual cost of the approximate DC algorithm
- Theorem
- Let T ?1,,?n be a given collection of n
- triangles in the plane, such that ? of them
- determine the union of the triangles in T.
- Let ? V, and r ?(?t log n) .
- Then the residual cost of the approximate DC
algorithm is - O(?2 log2t ?/t) , with high probability.
-
All remaining uncovered vertices
The first q O(? log t) heavy triangles.
22Implementation
- Sampling R compact representation
- Computing the insertion orderrange-searching
machinery - The actual construction
q times
q O(? log t) is the number of the first
triangles leaving lt ?/t uncovered vertices.
23The actual construction of the union
- Divide the process into two stages
- Construct the union of all the first q (heavy)
triangles. - Insert all the remaining triangles (covering ?
?/t positive-depth vertices).
24U is the union of the first q triangles.
t1, t2, t3 are the remaining triangles.
25Running time
- Careful implementation of all steps (using
range-searching, and other techniques) yields an
efficient (subquadratic) algorithm.
26New and improved solution!
- Use a variant of the method of Bronnimann and
Goodrich for finding a set cover in a set system
of finite VC-dimension - Our set system (V, T)
27Hitting Set in Hypergraphs
- Dual set system (T, V)
- V Tv v ? V
- Tv consists of all the triangles in T that
contain v in their interior. - A hitting set a subset of H ? T , s.t. H has a
nonempty intersection with every subset in V. - A hitting set H for (T,V) is a set cover for
(V,T), - U H U T
28Finding a Hitting Set (Bronnimann and Goodrich)
- Assign weights to the triangles in T.Initially,
all weights are 1. - Net finder Construct a (1 / 2?)-net N for
(T,V) .( guess of a hitting set for (T, V) ). - Verifier If the there exits a subset Tv that is
not hit by N, double the weights of the
triangles in Tv. Goto 2.Else N is a hitting
set for (T,V)
29Performance of the algorithm
- A hitting set of size O(? log ?) is found after
O(? log (n/?)) iterations.
30Ideal Setting Problem
- The algorithm requires the knowledge of V.
- Variant of the algorithm Consider a random
subset R? V instead. - R r ?(t log n)
- Lemma A subset H that covers R, covers most of
the vertices of V , with high probability - The number of remaining uncovered vertices ? ?/t
31Simple Implementation
If ? O(n4/3), construct the entire
arrangement, and report the union
O(? log (n/?)) times
- Sampling R ?O(t n2 / ?)
- Net-finder ? O(n)
- Verifier ? O(n)
- The actual construction similar procedure as
before ? O(n? ? / t) - Overall running time ? O(n4/3 n?)
32Extensions
- Implementation generic and simple.
-
- The algorithm can be easily extended to other
simple geometric objects in R2 ? O(n4/3
n?)Simplices in R3 (details) - ? O(n2 ?).
33Current research
- Simpler efficient alternative approaches?
- RIC fails!
- Extensions to simple three-dimensional objects.
Seems possible after the simplification of the
sampling procedure
34Union of Fat objects (R2)known results
- Input Union size Ref
- Fat triangles O(n loglog n)
MPSSW-94 - Pseudodiscs O(n)
KLPS-86 - a-fat (convex) O(n1e)
ES-97 - (a,ß)-covered (simple) O(?s2(n) log2n loglog n)
Efrat-99
35Union of Fat objects (R3)known results
- Input Union size Ref
- k convex polyhedra (R3) O(k3 nk log k)
AST-97 - with total n faces.
- The case of Minkowski sums O(nk log k)
AS-97 - Minkowski sums of n O(n2e)
AS-00 - p.d. triangles with a ball (R3)
- n nearly congruent cubes O(n2e)
PSS-03 - (arbitrarily aligned in R3)
- n ?-round objects (R3) O(n2e)
AEKS-03
36Proposed research
- Study the complexity of the union of fat
polyhedra. - Simplest cases
- n arbitrary cubes in R3. O(n2e) ?
- n regular simplices in R3 (near congruent or of
arbitrary size) . O(n2e) ? - Higher dimensions?
37Counting and representing intersections among
triangles in R3
38Matching Problems
- A, B ? Rd
- The one-directional Hausdorff distance from A to
B - h(A,B) max a?A min b? B ?(a,b)
- The bidirectional Hausdorff distance from A to B
- H(A,B) max(h(A,B), h(B,A))
39Minimum Hausdorff distance under translation
- We wish to compute
- D(A,B) min t H(A, B?t)
- t is a vector in Rd, and B?t bt b ? B .
- Problem
- Compute D(A,B) , where A, B are finite point sets
in Rd .
A
A
B
B? t
D(A,B)
40Known results Bidirectional
- Input running time Ref
- Points in R2 (L2) O(n3 log n)
HKS-93 - Points in R2 (L?) O(n2 log2n)
CK-92 - Points on a line O(n log n)
Rote-91 - approximation running time Ref
- O(1) O(n)
Alt-97 - (use reference point)
- PTAS (1e) O(n/ e2 log n) Schirra-88
Alternatively, use parametric search
41Known results Lower bound
- (algorithm dependent)
- Points in R2 (L? ,L2) O(n3)
Rucklidge-96
42Known results One directional Points in R2
(L2)
- Cardoze-Schulman-98
- Integer values O(bn log n logO(1)s)
- Approximation of (1e) to the threshold problem
- Given d, identify all translations t, s.t.
- h(A, B?t ) lt d(1e)
- Running time O(b n/eO(d) log (n/ e) logO(1)(s/
ed))
Error probability of 1/nb
The diameter of the data set
43Proposed research
44Medial axis of a union of balls
- Definition
- The locus of all points inside the union that
have more than one nearest boundary point
45Motivation
46?-shape
47Known results
- Attali Monatanvert (R2 and R3)
- Let U be a union of balls, and let V denote its
vertex set. Then the medial axis of U consists of - The singular faces of the ?-shape of U.
- The subset of the Voronoi diagram Vor(V) whose
closest point on ?U is a vertex of V.
48Known results
- Amenta Kulluri (Rd)
- Let U be a union of balls, and let V denote its
vertex set. Then the medial axis of U consists of - The singular faces of the ?-shape of U.
- The subset of the Voronoi diagram Vor(V) which
intersects the regular components of the ?-shape
of U
49Proposed research
- Establish a tight bound on the size of the medial
axis M of a union of balls in R3 - n2 ? M ? n4
Best known lower bound
The number of vertices on U is O(n2), and the
size of their Voronoi diagram is at most quadratic
50Union of Balls in R3known results
- Input Union size Ref
- Unit balls, all ?(n2)
BD-99 - containing the origin
51Our result
- A construction that yields ?(n2) vertices on the
boundary of union, when the centers are located
on two perpendicular axes. - Naïve equi-distant placement
- of centers does not work!
52Every circle (an intersection of two consecutive
balls) contributes ?(n) vertices to the union.