Approxiamtion Schemes For Partitioning Convex Decomposition and Surface Approximation-Conference
Approxiamtion Schemes For Partitioning Convex Decomposition and Surface Approximation-Conference
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy
Surface Approximation∗
Sayan Bandyapadhyay† Santanu Bhowmick‡ Kasturi Varadarajan§
Department of Computer Science,
University of Iowa,
Iowa City, USA
The approximation scheme is now a straightforward A set D of diagonals of polygon P is said to be con-
application: guess a separator, recurse on the subpoly- forming if no two diagonals in D cross.1 The diago-
gons. The recursion bottoms out when we reach a sub- nals in a conforming set D naturally induce a partition
polygon for which the optimal convex decomposition has of P into a set of polygons {P1 , P2 , . . . , Pt }. If each
a small size. This base case can be detected and solved polygon Pj is convex, then the set of polygons is said
in quasi-polynomial time by an exhaustive search. to be a diagonal-based convex decomposition. When it
Our result builds on the recent breakthrough due to is clear from the context, we will sometimes refer to a
Adamaszek and Wiese [1, 2]. They presented a QPTAS diagonal-based convex decomposition as simply a con-
for independent set of weighted axis parallel rectangles vex decomposition. The size of a convex decomposition
[1], and subsequently extended their approach to poly- is the number of polygons in it. The convex decomposi-
gons with polylogarithmic many vertices [2]. Har-peled tion problem, which we address in this section, is that of
[22] simplified and generalized their result to polygons of computing a convex decomposition of the given polygon
arbitrary complexity. Mustafa et al. [36] also describe a P that minimizes the size.
simplification, other generalizations, and an application For a conforming set D of diagonals in a polygon P
to obtain a QPTAS for computing a minimum weight and a convex decomposition C of P , we say that C re-
set cover using pseudo-disks. spects D if there is a conforming set D0 of diagonals such
For our problem, these results [2, 22, 36] imply that D ⊆ D0 and D0 induces C. For an equivalent way of
a separator that intersects a small number of convex thinking about this notion, notice that D induces a par-
polygons in the optimal decomposition and partitions tition of P into a set of sub-polygons {P1 , P2 , . . . , Pt }.
the remaining convex polygons evenly. However, such a If we can compute a convex decomposition of each of
separator may pass through the holes of polygon, and the sub-polygons such that the union of these convex
its intersection with the polygon may not be a set of decompositions is C, then C respects D. To check if C
diagonals. How do we convert the separator into a set respects D, it suffices to check that that there is no di-
of diagonals that still partitions nicely? And how do we agonal d ∈ D and polygon C ∈ C such that d intersects
convert the optimal decomposition into a near-optimal the interior of C.
decomposition that respects this diagonal set? These
are the key questions we address in our work, which 2.1 A Separator. Let K(P ) denote the number of
Section 2 describes. convex polygons in an optimal diagonal-based convex
For the surface approximation problem, we present, decomposition of P . Our algorithm for convex decom-
in Section 3, a quasi-polynomial time algorithm that position is based on the following lemma, which infor-
computes a surface whose complexity is within a multi- mally says that we can guess a conforming set of diag-
plicative constant factor of the complexity of the opti- onals that acts as a good separator.
mal surface. The main contribution is a reduction from
the surface approximation problem to a planar problem Lemma 2.1. Let P be a polygon (possibly with holes)
of computing a disjoint set cover of minimum cardinal- that has n vertices, let K = K(P ), and 0 < δ < 1 be a
ity using triangles from a certain family B. We design parameter. If K ≥ c log(1/δ) δ3 , where c is a sufficiently
2
a QPTAS for this disjoint set cover problem using the large constant, we can compute, in nO(1/δ ) time, a
separator based approach. For an arbitrary family of family D = {D1 , D2 , . . . , Dt } of conforming sets of
triangles, we do not know how to guarantee an O(1) diagonals of P with the following property: there exists a
approximation for the disjoint cover problem in quasi- 1 ≤ i ≤ t such that the diagonals in Di partition P into
polynomial time. We therefore design the family B in
Ps(a) K(Pj ) ≤ (2/3+δ)K,
polygons P1 , P2 , . . . , Ps , so that
a way that is compatible with the separator based ap- for each 1 ≤ j ≤ s, and (b) j=1 K(Pj ) ≤ (1 + δ)K.
proach. In this way, we get a quasi-polynomial time
O(1)-factor approximation algorithm for the surface ap- The rest of the section is devoted to the proof of
proximation problem. the lemma, which proceeds in three major steps. Fix
an optimal diagonal-based convex decomposition of P ,
2 Convex Decomposition
1 Diagonals d and d0 do not cross if either (a) they do not
Recall that we are given a polygon P with zero or more
intersect, or (b) they intersect in a single point, which is a common
polygonal holes. A diagonal in such a polygon is a line endpoint of both.
most 2K/3, and (b) the number of polygons in C whose vertical edges include ones of the form pup (resp. pdp ),
interiors are intersected by Σ is at most δK/30. This where p is an endpoint of a segment in S. The left and
step is similar to the constructions in [2, 22, 36], but we right edges of B, which will also be edges of the planar
need to review some particulars of these constructions to graph, are included in the vertical category as well. The
identify information that will be needed in subsequent number of vertices, edges, and faces of the trapezoidal
steps. Notice that Σ may actually intersect the holes of decomposition is O(r log r).
the polygon P . Notice that a nonvertical edge lying on the bound-
In the second step, we show how to convert Σ into a ary of B does not intersect any convex polygon in C.
conforming set of diagonals D such that as far as being a Any other nonvertical edge intersects the interior of only
separator for C is concerned, D behaves like a proxy for the convex polygon whose representative segment it lies
Σ. As a result of this process, the number of diagonals in on. No nonvertical edge intersects the interior of any
D may be significantly larger than the number of edges hole of P . A vertical edge, on the other hand, can inter-
in Σ. Nevertheless, D is an easily computed function of sect the interior of several convex polygons in C as well
Σ. as the interiors of several holes. Note however, that a
In the third step, we exploit the separator properties vertical edge intersects the interior of a convex polygon
of D to compute, from C, a suitable convex decompo- in C if and only if it intersects the relative interior of the
sition of P that respects the diagonals in D. This new corresponding representative segment. By well known
convex decomposition will demonstrate that D is a con- results on epsilon nets and on cuttings (see for instance
forming set whose existence is asserted by the lemma. [3, 34]), there exists a choice of R, such that the number
With this overview, we are ready to describe the three of convex polygons in C (representative segments in S)
steps. intersected by any vertical edge in the trapezoidal de-
composition of R is at most c1 K/r, for some constant
Step 1: We have already fixed an optimal diagonal- c1 > 0. We will assume henceforth that R satisfies this
based convex decomposition of P , with C = {C1 , . . . , property.
CK } being the set of resulting convex polygons. With- Let n(e) denote the number of convex polygons
out loss of generality, assume that no two vertices of P whose interiors are intersected by edge e of the trape-
lie on a vertical line. For each convex polygon Ci , let zoidal decomposition.
si denote the line segment connecting the leftmost and Recall that the trapezoidal decomposition of R is
rightmost points of Ci . We call si the representative a planar graph with O(r log r) vertices, edges, and
segment of Ci . Notice that si is either an edge of P or faces. The articles [2, 22, 36] study separators which
a diagonal of P . Let S = {s1 , s2 , . . . , sK }. See parts (a)are simple polygonal cycles whose edges are the edges
and (b) of Figure 1. of the planar graph. In particular, the arguments of
Let us fix an axis parallel box B that contains P . [2, 22, 36] imply that there is a simple
√ polygonal cycle
Let us pick a random subset R ⊆ S of size dr log re ≤ K, Σ in the plane, constituted of O( r log r) edges of the
where r is a parameter that we fix below. We compute trapezoidal decomposition, such that (a) the number
the trapezoidal decomposition, restricted to B, of the of representative segments (convex polygons) in the
segments in R. (See Figure 1(c).) That is, from each interior of Σ is at most 2K/3, and (b) the number
endpoint p of a segment in R, we shoot a vertical ray of representative segments (convex polygons) in the
upwards (resp. downwards) till it hits either one of exterior of Σ is at most 2K/3. See Figure 1(d). Let
the other segments in R or the boundary of B. We C int (resp. C ext ) denote the subset consisting of those
refer to the point that the ray hits as up (resp. dp ). polygons of C in the interior (resp. exterior) of Σ.
The vertical segments thus generated partition B into Abusing notation, we say e ∈ Σ to mean that e is an
faces, each of which is a trapezoid. The trapezoidal edge of the trapezoidal P decomposition√that is contained
decomposition can be viewed as a planar graph whose in Σ. We have that e∈Σ n(e) ≤ O( r log r) c1rK . We
faces correspond to the trapezoids. The vertices of this will choose r large enough so that
planar graph are the endpoints of segments in R, the
vertices of B, and the points of the form up or dp . There
are two types of edges – non-vertical and vertical. An X
edge that is contained within a segment s ∈ R is a (2.1) 30 n(e) ≤ δK.
e∈Σ
(a) Polygon P (with a hole) along with its optimal con- (b) The representative segment si of each polygon
vex decomposition C, the latter denoted using dashed Ci ∈ C is shown. Segments shown using solid lines
lines. are the ones chosen in the sample R.
a i
c
e f
(c) Trapezoidal decomposition, shown in dotted lines, (d) The separator Σ and the polygon P .
of the segments in R. The separator Σ is the dashed
polygonal cycle a-b-c-d-e-f -g-h-i.
This can be ensured by, say, setting r = c/δ 3 for using the vertices of P that lie in the relative interior of
sufficiently large constant c. Then Σ would be consti- the component. See Figure 2. This partitions Σ∩P into
tuted of O(1/δ 2 ) edges of the trapezoidal decomposi- fragments, which are polygonal chains.2 An endpoint of
tion. Each vertex of such an edge is specified by a tuple such a chain is either a vertex of P or a point q that lies
consisting of O(1) features of the input polygon – note in the interior of an edge f of the polygon. Let Σ0 denote
that a vertex of the form of up or dp is specified by p and the resulting collection of fragments. Each fragment
a representative segment, which is a diagonal or edge of σ contains at most two vertical edges (because each
the input polygon. Thus Σ can be specified by O(1/δ 2 ) vertical edge of the above trapezoidal decomposition has
such tuples. This implies that there is an algorithm,
2
that, given P , computes in nO(1/δ ) time a family of 2 To elaborate, let γ be a component of Σ ∩ P . Since Σ is a
2
nO(1/δ ) cycles that contains a Σ satisfying (2.1).
simple polygonal cycle, γ is a non-self-intersecting path or cycle.
Suppose that γ is a path. Thus, it is the image of [0, 1] under
Step 2: We delete from Σ the portions that lie in the a continuous injective map f : [0, 1] → R2 . Suppose that the
interiors of the holes (this includes the unbounded hole vertices of P that lie in the relative interior of γ are the points
outside P as well). That is, we consider Σ ∩ P . We f (x1 ), f (x2 ), . . . , f (xt ), where 0 < x1 < x2 < · · · < xt < 1.
Letting x0 = 0 and xt+1 = 1, the image under f of the interval
further partition each connected component of Σ ∩ P
[xi , xi+1 ] is a fragment, for each 0 ≤ i ≤ t.
Figure 2: (a) The separator Σ which may pass through polygon holes, which are shaded. (b) The fragments in
Σ ∩ P.
a vertex of P as one of its endpoints, and a fragment For each σ ∈ Σ0 , we compute the shortest path σ
does not have any vertex of P in its relative interior) in P between the endpoints of σ that is homotopic to
and at most one nonvertical edge (which would be part σ. This can be done efficiently [23, 18, 9, 7]. Let us
of some representative segment, and made up of one or denote by n(σ, C) the number of connected components
more edges of the trapezoidal decomposition that are of σ ∩ (interior C), for any C ∈ C. Then we have
contiguous on that segment). For a convex polygon n(σ, C) ≤ n(σ, C) for any polygon C ∈ C. In particular,
C ∈ C, let n(σ, C) denote the number of connected if the interior of C is not intersected P
by σ then it is not
components of σ ∩ (interior C). The quantity n(σ, C) intersected by σ as well. Let n(σ) = C∈C n(σ, C).
is either 0, 1, or 2 – we can get two components if σ Let Σ = {σ | σ ∈ Σ0 }. The fragments in Σ satisfy
actually hasPtwo vertical edges that both intersect C. the following properties:
Let n(σ) = C∈C n(σ, C). P P
We slightly modify fragment σ so that both its 1. σ∈Σ n(σ) ≤ e∈Σ n(e) ≤ δK/30.
endpoints are vertices of P : if an endpoint of σ is a point
p on the interior of edge f of the polygon P , we extend 2. Each fragment σ ∈ Σ begins and ends at a vertex
σ by adding the segment from p to the left endpoint of of P and contains no vertex of P in its relative
f . See Figure 3. Note that n(σ, C) remains unchanged interior.
as a consequence of this. The set Σ0 of fragments now
3. No fragment in Σ intersects the interior of any
satisfies the following properties:
convex polygon in C int ∪ C ext .
P P
1. σ∈Σ0 n(σ) ≤ e∈Σ n(e) ≤ δK/30.
4. The fragments in Σ partition P into connected
2. Each fragment σ ∈ Σ0 begins and ends at a vertex components with the property that no component
of P and contains no vertex of P in its relative contains a polygon from C int as well as a polygon
interior. from C ext .
3. No fragment in Σ0 intersects the interior of any 5. Each fragment σ ∈ Σ is not self-intersecting.
convex polygon in C int ∪ C ext . However, the two endpoints of a fragment may be
the same point.
4. The fragments in Σ0 partition P into connected
components with the property that no component 6. No two fragments in Σ cross.
contains a polygon from C int as well as a polygon
from C ext . (That is, a component may contain Note that each fragment σ, being a shortest homo-
polygons from C int , or polygons from C ext , but not topic path, is constituted of a sequence of diagonals and
polygons from both C int and C ext .) edges from P . So we define D(Σ) as the set of diago-
nals corresponding to the fragments in Σ. (A diagonal
5. Each fragment σ ∈ Σ0 is not self-intersecting.
in D(Σ) can be present in more than one fragment of
However, the two endpoints of a fragment may be
Σ.) See Figure 3.
the same point.
The last two fragment properties of Σ imply that
6. No two fragments in Σ0 cross. D(Σ) is a conforming set of diagonals. Notice that the
Figure 3: (a) Modifying each fragment so that endpoints are polygon vertices. (b) The diagonals resulting from
replacing each fragment by a shortest homotopic path.
number of diagonals in D(Σ) can be much greater than polygon in C new is intersected by a diagonal in D(Σ).
the number of edges in Σ. However, D(Σ) is uniquely For each convex polygon C ∈ C bad , consider the subset
and efficiently computed given Σ. Since Σ comes from D(C) ⊆ D(Σ) of diagonals that intersect the interior of
2
a family of nO(1/δ ) cycles that can be computed in C. Let V (C) denote those vertices of C that do not lie
2
nO(1/δ ) time given P , D(Σ) comes from a family of on any diagonal in D(Σ). Define the following relation
2
nO(1/δ ) diagonal subsets that can be computed in on V (C): u and v are related if the line segment joining
2
nO(1/δ ) time given P . them does not intersect any diagonal in D(C). It is
easy to see that this is an equivalence relation. Let
Step 3: For a diagonal d ∈ D(Σ), let n(d, C) = 1 if d V1 , V2 , . . . , Vm be the equivalence classes. It is easy to
see that m ≤ |D(C)| + 1. We add Conv(Vi ) to C new
intersectsPthe interior of C ∈ C, and 0 otherwise. Let
n(d) = C∈C n(d, C). P The first property of Σ can be if Conv(Vi ) is a 2-dimensional object, that is, not a
restated as saying that d∈D(Σ) n(d) ≤ δK/30. line segment or a point. See Figure 4. The number
new
The diagonals in D(Σ) partition P into a set of of convex polygons contributed by C to C is at
smaller polygons {P1 , P2 , . . . , Ps }. We now show how most 1 + D(C), so the number of convex polygons in
new bad
P
to obtain, from C, convex decompositions of these P C overall is at most C∈C bad (1 + D(C)) ≤ |C | +
smaller polygons that obey the size bounds claimed d∈D(Σ) n(d) ≤ δK/15.
in the lemma. We will think of these new convex For each polygon Pj in the partition of P induced by
decompositions as a new convex decomposition of P D(Σ), consider the portion that is outside the polygons
int
that respects the set D(Σ) of diagonals. The new convex of C , C ext , and C new . This portion is a set of
decomposition will have the convex polygons in C int and polygons. We triangulate each such polygon, and add
new
C ext – the interiors of these polygons do not intersect the the resulting triangles to C . See Figure 5. Note that
diagonals in D(Σ). Let C bad = C \ {C int ∪ C ext }. From triangulating a polygon with m vertices results in at
the properties of Σ, it follows that |C bad | ≤ δK/30. We most 3m triangles, even if the polygon has holes. This
new
show below that we can obtain a convex decomposition completes the construction of C .
of size at most δK for the portion of P that is covered by We need to bound the number of triangles added in
bad
the polygons in C . This convex decomposition will this step, summed over all Pj . To this end, let λ denote
respect the set D(Σ). Since smaller polygon Pj does the sum of the number of vertices of all the polygons
int ext
not contain polygons from both C and C , it follows we triangulate. To bound λ, we observe that each
bad
int ext
that K(Pj ) ≤ max{|C |, |C |} + δK ≤ (2/3 + δ)K. It C ∈ C “contributes” at most
P 8D(C) vertex-polygon
also follows that features to λ. Thus, λ ≤ 8 C∈C bad D(C) ≤ 8δK/30.
X So the number of triangles we add to C new is at most
K(Pj ) ≤ |C int | + |C ext | + δK ≤ (1 + δ)K. 3λ ≤ 24δK/30.
j Thus, |C new | ≤ 24δK δK
30 + 15 ≤ δK. We now have the
desired convex decomposition of P that respects D(Σ):
We describe the construction of C new , the new
C int ∪ C ext ∪ C new . This completes the proof of Lemma
convex decomposition of the portion of P that is covered
2.1.
by the polygons in C bad . This C new respects the
diagonals in D(Σ), that is, the interior of no convex
Figure 4: (a) A convex polygon C ∈ C bad , and the diagonals in D(Σ) that intersect it. (b) The convex polygons
added to C new from C.
Figure 5: (a) An illustration of a polygon P , an optimal decomposition C using (dashed) diagonals, and the two
diagonals in D(Σ) (bold). (b) The three polygons in C bad contribute a total of four convex polygons to C new ; in
addition, we triangulate the shaded polygons and add the triangles to C new .
2.2 Algorithmic Aspects. We now use Lemma 2.1 to describe a non-deterministic algorithm first. Assum-
to develop a QPTAS for the convex decomposition ing it makes the right separator choices, we can analyze
problem. For this purpose, we need a good exact the approximation guarantee. Subsequently, we make
algorithm to serve as the base case for our recursive the algorithm deterministic and bound its running time.
algorithm. Suppose P 0 is an n-vertex polygon, and the
optimal decomposition for it has K = K(P 0 ) convex Nondeterministic Algorithm. Our algorithm
polygons P10 , . . . , Pk0 . We argue that the number of decompose(P 0 ) takes as input a polygon P 0 and returns
diagonals added is at most 3K −6. To see this, construct a convex decomposition of P 0 . It uses a parameter
a graph where there is a vertex for each Pi0 , and an edge 0 < δ < 34 − 23 that we specify later. Let λ = c log(1/δ)
δ3 ,
for each diagonal between the (vertices corresponding to the threshold in Lemma 2.1. Since P 0 will be a
the) two convex polygons it is incident to. This graph subpolygon of P , the number of its vertices is at most
is clearly planar. Furthermore, since the Pi0 are convex, n. Our overall algorithm simply invokes decompose(P ).
the graph has no parallel edges. As such, the number The algorithm decompose(P 0 ) works as follows:
of edges, and hence diagonals, is at most 3K − 6.
Thus, given an n-vertex polygon P 0 and a k ≥ 0, we 1. We check if P 0 has a decomposition with at most
can check if P 0 admits a convex decomposition of size at λ convex polygons. If so, we return the optimal
most k in nO(k) time. We only need to try all conforming decomposition. This is the base case of our algo-
subsets of at most 3k − 6 diagonals. In the same time rithm. This computation can be done as described
bound, we can find an optimal convex decomposition, above in nO(λ) time. Henceforth, we assume that
assuming it has size at most k. K(P 0 ) > λ.
We now describe our QPTAS. It will be convenient
2. Compute the family D = {D1 , D2 , . . . , Dt } of sets
P10 , P20 , . . . , Ps0 . Return case, we try all possible separators Di ∈ D instead
of nondeterministically
Ss guessing one – we return the
s
[ smallest sized set j=1 decompose(Pj0 ), over all i for
decompose(Pj0 ). which none of the recursive calls decompose(Pj0 ) returns
j=1
I. If no such i exists, decompose(P 0 ) returns I.
With these changes, decompose(P ) is now a deter-
Approximation Ratio. We define the level of a poly- ministic algorithm that returns a decomposition of size
gon P 0 to be the integer i > 0 such that λ(4/3)i−1 < at most (1 + δ)α K(P ). Its running time is
K(P 0 ) ≤ λ(4/3)i . If K(P 0 ) ≤ λ, we define its level to
be 0. Thus if decompose(P 0 ) is solved via the base case,
2
α 3
nO(1/δ ) · nO(λ) = nO((log n+log 1/δ)/δ ) .
then the level of P 0 is 0. The following lemma bounds
the quality of approximation of our non-deterministic
Plugging δ = ε/2α, the approximation guarantee
algorithm. 4
is (1 + ε) and the running time is nO((log n/ε) ) . We
Lemma 2.2. Assume that δ < 34 − 23 . There is an can thus conclude with our main result for convex
instantiation of the non-deterministic choices for which decomposition:
decompose(P 0 ) returns a convex decomposition with at
most (1 + δ)` K(P 0 ) polygons, where ` is the level of P 0 . Theorem 2.1. There is an algorithm that, given 4a
polygon P and an ε > 0, runs in time nO((log n/ε) )
Proof. The proof is by induction on `. The base case and returns a diagonal-based convex decomposition of P
is when ` = 0, and here the statement follows from the with at most (1 + ε)K(P ) polygons, where K(P ) is the
base case of the algorithm. So assume that ` > 1, and number of polygons in an optimal diagonal-based convex
that the statement holds for instances with level at most decomposition of P . Here n stands for the number of
` − 1. vertices in P .
Suppose that the algorithm non-deterministcally
picks the Di ∈ D that satisfies the guarantees of Lemma 3 Surface Approximation
2.1 for P 0 . Let P10 , P20 , . . . , Ps0 be the subpolygons that Recall that in the surface approximation problem, we
result from partitioning P 0 with Di . are given a set S̄ of n points in R3 sampled from (the
Since K(Pj0 ) ≤ (2/3 + δ)K(P 0 ) ≤ (3/4)K(P 0 ), it graph of) a bi-variate function f (x, y), and another
follows that the level of each Pj0 is at most ` − 1. Thus, parameter µ > 0. The graph of f is the surface we
for each j, there are nondeterministic choices for which wish to approximate. The goal, which we describe in
decompose(Pj0 ) returns a decomposition of Pj0 with at detail below, is to find a piece-wise linear function of
most (1 + δ)`−1 K(Pj0 ) polygons. Thus, the size of the minimum complexity that approximates f to within µ.
decomposition of P 0 returned by decompose(P 0 ) is at A piece-wise linear function g(x, y) is specified by
most fixing a triangulation of the xy plane, and specifying
X the value of g on each vertex of the triangulation. The
(1 + δ)`−1 K(Pj0 ) ≤ (1 + δ)` K(P 0 ). value of g on the remaining points in the plane are
j
obtained by linear interpolation.3 The graph of g is
2 a piece-wise linear surface, also known as a polyhedral
terrain. We define the complexity of g to be the number
Deterministic Algorithm. Since a triangulation of of faces of this surface. Equivalently, the complexity of
P , the original input polygon, uses at most 3n − 6 g is the number of triangles in the base triangulation
triangles, the level of P is at most α = log4/3 (3n − 6). that specifies it.
It follows that with decompose(P ), for suitable non- We say that a piece-wise linear function g approxi-
deterministic separator choices, returns a decomposition mates f (x, y) if ∀p̄ = (x, y, z) ∈ S̄, |g(x, y) − z| ≤ µ. In
with at most (1 + δ)α times the size of the optimal
disjoint cover. Furthermore, the depth of the recursion 3 To avoid dealing with triangles that go off to infinity, we
with such seperator choices is at most α. should restrict the domain of g to be a sufficiently large bounding
To get a deterministic algorithm, we make the box that contains S̄ in its interior. For convenience, we do not
following natural changes to decompose(P 0 ). If a call explicitly mention this bounding box in the sequel.
r r r
q q q
p p p
Figure 6: (a) An arbitrary triangle 4 and the set R = 4 ∩ S ∈ F. The dashed polygon is Conv(R). (b) Three
points p, q, r on Conv(R) and the corresponding hexagon Hpqr formed by the edges of Conv(R) incident on p, q, r.
(c) Triangulation of Hpqr results in the addition of at most 4 triangles to B, which cover the points in R.
Lemma 3.2. Let 4 be any valid triangle. There exist a is a disjoint cover of S. Then we can efficiently com-
set B(4) ⊆ B of at most four triangles, such that (a) pute a piecewise linear function of complexity O(|B 0 |)
B(4) is a disjoint cover of S ∩ 4, and (b) each of the that approximates f .
triangles in B(4) is contained in 4.
Proof. Let R =S ∩4. If Conv(R) is 0- or 1-dimensional, Proof. For (a), let T 0 denote the set of triangles
S in the
we have added the degenerate triangle Conv(R) itself base triangulation that defines g. The set 4∈T 0 B(4)
to B, and the lemma holds with B(4) = {Conv(R)}. has the properties claimed. Part (b) follows from
Assume henceforth that Conv(R) is 2-dimensional. Lemma 3.1(b). 2
Let h1 , h2 , h3 be the half-planes defined by the 3
edges of 4, such that h1 ∩ h2 ∩ h3 = 4. Let pi be 3.2 Computing a Disjoint Cover. We now de-
the point in R that is closest to the line bounding hi scribe a quasi-polynomial time algorithm for computing
– if there is a tie, we break it arbitrarily. Consider a disjoint cover for S using a subset of the basis B. The
the hexagon Hp1 p2 p3 formed by extending the edges cover returned will have a cardinality that is at most
of Conv(R) incident to the pi . Our procedure for O(1) times the cardinality of an optimal such cover. By
generating the basis would have generated the hexagon Lemma 3.3, we thus obtain a quasi-polynomial time al-
Hp1 p2 p3 while considering R. It is not hard to see, as gorithm for surface approximation with an approxima-
we explain below, that Hp1 p2 p3 ⊆ 4. The set of at tion guarantee of O(1).
most 4 triangles that we obtain by triangulating Hp1 p2 p3
are added to B. This set B(4) of triangles has the The Separator. We need the following separator com-
properties claimed. putation, which is very similar to the constructions in
We now show that Hp1 p2 p3 ⊆ 4. Let Wi be [2, 22, 36] and Step 1 of the separator theorem for con-
the wedge whose apex is at pi and whose bounding vex decomposition. Our separators will be closed, sim-
rays are the ones containing the two edges of Conv(R) ple, polygonal curves. For an edge e on such a curve C,
incident at pi . Since pi is the point in Conv(R) that and for a pairwise-disjoint subset D ⊆ B, let n(e, D) de-
is closest to the line bounding hi , it follows that the note the number of triangles in D whose relative
P interior
two rays bounding the edge Wi do not contain any is intersected by e, and let n(C, D) denote e n(e, D),
point outside hi . That is, Wi ⊆ hi . This implies that where the summation is over all edges e of C.
Hp1 p2 p3 = W1 ∩ W2 ∩ W3 ⊆ h1 ∩ h2 ∩ h3 = 4. 2
Lemma 3.4. Given B, and 0 < δ < 1, we can compute
We now observe that the surface approximation 2
in time nO(1/δ ) a family C = {C1 , C2 , . . . , Ct } of closed,
problem is equivalent, up to constant approximation
simple, polygonal curves, each with O(1/δ 2 ) vertices,
factors, to the problem of finding a minimum cardinality
with the following property: for any pair-wise disjoint
disjoint cover using a subset of the basis B.
subset D ⊆ B such that K := |D| ≥ λ := c logδ31/δ , there
Lemma 3.3. (a) Suppose g is a piecewise linear func- is a Cj ∈ C such that (a) n(Cj , D) ≤ δK/10;2K (b) the
tion of complexity K that approximates f . There is a number of triangles of D inside C j is at most 3 ; and
(c)
subset of at most 4K basis triangles that is a disjoint 2K the number of triangles of D outside C j is at most
0
cover of S. (b) Suppose we have a subset B ⊆ B that 3 .
solution produced by this non-deterministic algorithm, Since |D10 | ≤ (2/3 + δ)K 0 ≤ 3K 0 /4, the level
0 0
for suitable separator choices, we discuss how it can be of (Sj1 , Bj1 ) is at most i − 1. By the inductive
0 0
made deterministic. hypothesis, compcover(Sj1 , Bj1 ) returns a solution of
The procedure compcover(S 0 , B 0 ) works as follows: size at most (1 + δ)i−1 |D10 |. By the same reasoning,
0 0
compcover(Sj2 , Bj2 ) returns a solution of size at most
1. By exhaustive search, we check if there is a i−1 0
pairwise-disjoint subset of B 0 with at most λ = (1 + δ) |D2 |. It follows0 that the size of the solution
log 1/δ 0 returned by compcover(S , B 0 ) is at most
c δ3 triangles that covers S . If so, we return
such a subset with minimum cardinality. This is (1 + δ)i−1 (|D10 | + |D20 |) ≤ (1 + δ)i K 0 .
the base case of our algorithm. Henceforth, we as-
sume that a minimal disjoint cover needs at least It remains to construct the sets D10 and D20 . Let
λ = δ3c log 1/δ
triangles. Dbad denote the set of those triangles in D0 whose
0
To get a deterministic algorithm, we make the fol- It would be interesting to see if the argument can be
lowing natural changes. If a call to compcover( S 0 , B 0 ) is made to go through for certain criteria.
at a recursion depth that is greater than dlog4/3 ne (with We hope that our work inspires progress along both
respect to the root corresponding to compcover(S, B)), these directions.
we return a special symbol I. In the compcover(S 0 , B 0 )
routine, when we are not in the base case, we References
try all possible separators Cj ∈ C instead of non-
deterministically guessing one – we return the smallest [1] Anna Adamaszek and Andreas Wiese. Approximation
0 0 0 0
sized set compcover(Sj1 , Bj1 ) ∪ compcover(Sj2 , Bj2 ) , schemes for maximum weight independent set of rect-
over all j for which neither of the the two recursive calls angles. In FOCS, pages 400–409, 2013. 1, 3
returns I. If no such j exists, compcover(S 0 , B 0 ) returns [2] Anna Adamaszek and Andreas Wiese. A QPTAS for
I. maximum weight independent set of polygons with
With these changes, compcover(S, B) is now a de- polylogarithmically many vertices. In SODA, pages
terministic algorithm that returns a disjoint cover of size 645–656, 2014. 1, 3, 4, 11
at most (1+δ)dlog4/3 ne times the size of the optimal dis- [3] P. K. Agarwal. Geometric partitioning and its appli-
cations. Discrete and Computational Geometry: Pa-
joint cover. Its running time is
pers from the DIMACS Special Year (J. Goodman, R.
dlog4/3 ne
Pollack, and W. Steiger, eds.), pages 1–37, American
2 3
nO(1/δ ) · nλ = nO((log n+log 1/δ)/δ ) . Mathematical Society, Providence, 1991. 4
[4] Pankaj K. Agarwal and Pavan K. Desikan. An efficient
Plugging δ = 1/dlog4/3 ne, the approximation guar-
algorithm for terraine simplification. In SODA, pages
antee for disjoint cover is O(1) and the running time is
4 139–147, 1997. 2, 10
nO(log n) . Applying Lemma 3.3, we conclude with our [5] Pankaj K. Agarwal and Subhash Suri. Surface approx-
main result for surface approximation: imation and geometric partitions. SIAM J. Comput.,
27(4):1016–1035, 1998. 2, 10
Theorem 3.1. There is an algorithm that, given inputs
[6] O. Burçhan Bayazit, Jyh-Ming Lien, and Nancy M.
S̄ and µ to the surface approximation problem, runs in Amato. Probabilistic roadmap motion planning for
4
time nO(log n) and returns a solution with complexity deformable objects. In ICRA, pages 2126–2133, 2002.
that is at most O(1) times that of the optimal solution. 1
Here, n is the number of points in S̄. [7] S. Bespamyatnikh. Computing homotopic shortest
paths in the plane. J. Algorithms, 49(2):284–303, 2003.
4 Discussion 6
Consider the version of the convex decomposition prob- [8] Hervé Brönnimann and Michael T. Goodrich. Almost
optimal set covers in finite vc-dimension. Discrete &
lem where we are allowed to add Steiner vertices. Can
Computational Geometry, 14(4):463–479, 1995. 2
we obtain a QPTAS for this version of the problem? [9] Sergio Cabello, Yuanxin Liu, Andrea Mantler, and
Unlike the diagonal-based version we have considered, Jack Snoeyink. Testing homotopy for paths in the
the separator for this version does not have to be made plane. Discrete & Computational Geometry, 31(1):61–
up of diagonals. In this sense, the Steiner version is sim- 81, 2004. 6
pler. The complication in the Steiner version is that we [10] Bernard Chazelle. A theorem on polygon cutting with
do not know about the location of the Steiner points. applications. In FOCS, pages 339–349, 1982. 1
Some way to bound their locations is needed to obtain, [11] Bernard Chazelle. Computational geometry and con-
within a reasonable time bound, a suitable separator vexity. Ph.D. Thesis, Yale Univ., New Haven, CT,
family. In our surface approximation problem, we avoid 1980. 2
confronting this problem by losing a constant factor and [12] Bernard Chazelle and David P. Dobkin. Decomposing
a polygon into its convex parts. In STOC, pages 38–48,
reducting to the disjoint cover problem with basis tri-
1979. 2
angles. [13] Bernard Chazelle and David P. Dobkin. Optimal con-
In the convex decomposition problem, one often vex decompositions. Computational Geometry, North-
wants the convex pieces to satisfy some additional crite- Holland, Amsterdam, 1984. 2
rion – such as having an area that is at most a specified [14] Kenneth L. Clarkson. Algorithms for polytope cov-
quantity. For a diagonal based decomposition, our sepa- ering and approximation. In WADS, pages 246–252,
rator construction goes through without modifications. 1993. 2