0% found this document useful (0 votes)
27 views

Approxiamtion Schemes For Partitioning Convex Decomposition and Surface Approximation-Conference

Uploaded by

y z
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Approxiamtion Schemes For Partitioning Convex Decomposition and Surface Approximation-Conference

Uploaded by

y z
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Approximation Schemes for Partitioning: Convex Decomposition and

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

Abstract careful while applying this kind of strategy as such de-


Recently, Adamaszek and Wiese [1, 2] presented a quasi- compositions are costly to construct and may generate
polynomial time approximation scheme (QPTAS) for a plethora of components. In this paper, we study two
the problem of computing a maximum weight indepen- geometric optimization problems which deal with repre-
dent set for certain families of planar objects. This ma- sentations of complex models using simpler structures.
jor advance on the problem was based on their proof
that a certain type of separator exists for any inde- 1.1 Polygon Decomposition Problem. The prob-
pendent set. Subsequently, Har-Peled [22] simplified lem of decomposing a polygon into simpler pieces has
and generalized their result. Mustafa et al. [36] also a wide range of applications in VLSI, Robotics, Graph-
described a simplification, and somewhat surprisingly, ics, and Image Processing. Decomposition of complex
showed that QPTAS’s can be obtained for certain, al- polygons into convex pieces makes them suitable for ap-
beit special, type of covering problems. plications like skeleton extraction, mesh generation, and
Building on these developments, we revisit two NP- many others [6, 19, 32]. Considering the importance of
hard geometric partitioning problems – convex decom- this problem it has been studied for more than thirty
position and surface approximation. Partitioning prob- years. Different versions of this problem have been con-
lems combine the features of packing and covering. In sidered based on the way of decomposition. The version
particular, since the optimal solution does form a pack- we consider in this paper, which we refer to as the con-
ing, the separator theorems are potentially applicable. vex decomposition problem, is defined as follows.
Nevertheless, the two partitioning problems we study
bring up additional difficulties that are worth examin- Convex Decomposition Problem: Let P be a poly-
ing in the context of the wider applicability of the sep- gon with zero or more polygonal holes. A diagonal in
arator methodology. We show how these issues can be such a polygon is a line segment that connects two non-
handled in presenting quasi-polynomial time algorithms consecutive vertices and lies inside the polygon. The
for these two problems with improved approximation Convex Decomposition Problem is to add a set of non-
guarantees. crossing diagonals so that each subpolygon in the re-
sulting decomposition of P is convex, and the number
1 Introduction of subpolygons is minimized.
For the polygons without holes, this problem can be
The size and complexity of geometric objects are
solved in O(r2 n log n) time using a dynamic program-
steadily growing due to the technological advancement
ming based approach, where r is the number of reflex
of the tools that generate these. A simple strategy to
vertices [26]. Furthermore, the running time could be
deal with large, complex objects is to model them using
improved to O(n + r2 min{r2 , n}) [27]. However, the
pieces which are easy to handle. However, one must be
problem is N P-Hard if the polygon contains holes [33].
Hence Chazelle [10] gave a 4.333 factor approximation
∗ This material is based upon work supported by the National
algorithm by applying a separator theorem recursively.
Science Foundation under Grant CCF-1318996. Later, Hertel and Mehlhorn [24] improved the approxi-
[email protected]
[email protected] mation factor to 4 by applying a simple strategy based
§ [email protected] on triangulation.

1457 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
Many other versions of the polygon decomposition called an µ-approximation of f if
problem have also been studied. One of these versions
allows the algorithm to add additional points inside |g(xi , yi ) − zi | ≤ µ
the polygon. The endpoints of the line segments
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

for every point (xi , yi , zi ) ∈ S̄. The surface approxima-


which decompose the polygon can be chosen from these
tion problem is to compute, given f and µ, such a g
additional points and the polygon vertices. Considering
with minimum complexity, where the complexity of a
this version Chazelle and Dobkin [12] have designed
3 piecewise linear surface is defined to be the number of
an O(n ) time optimal algorithm for simple polygons
its faces.
without holes. Later, they improved the running time
3 Considering its importance there has been a lot
to O(n + r ), where r is the number of reflex angles
of work on this problem in computer graphics and
[13, 11]. But, the problem is still N P-Hard for polygons
image processing [15, 17, 25, 38]. However, most of
with holes [33]. In a different version the polygon
these approaches are based on heuristics and don’t
is decomposed into approximately convex pieces where
give any guarantees on the solution. There are two
concavities are allowed within some specified tolerance
basic techniques which are used by these algorithms:
[21, 29, 30, 31]. The idea is that these approximate
refinement and decimation. The former method starts
convex pieces can be computed efficiently and can result
with a triangle and further refines it locally until the
in a smaller number of pieces. Another interesting
solution becomes an µ-approximation. The latter starts
variant is to consider an additional set of points inside
with a triangulation and coarsens it locally until one
the polygon and try to find the minimum number of
can’t remove a vertex [16, 20, 37].
convex pieces such that each piece contains at most k
The first provable guarantees for this problem were
such points, for a given k [28].
given by Agarwal and Suri. They gave an algorithm
which computes an approximation of size O(c log c), and
1.2 Surface Approximation. In many scientific
runs in O(n8 ) time, where c is the complexity of the
disciplines including Computer Graphics, Image Pro-
optimal µ-approximation [5]. They also proved that
cessing, and Geographical Information System (GIS),
the decision version of this problem is N P-complete.
surfaces are used for representation of geometric objects.
In a later work Agarwal and Desikan [4] presented a
Thus modeling of surfaces is a core problem in these ar-
randomized algorithm which computes an approxima-
eas, and polygonal descriptions are generally used for
tion of size O(c2 log2 c) in O(n2+δ + c3 log2 c log nc ) ex-
this purpose. However, considering the complexity of
pected time, where c is the complexity of the optimal
the input objects the goal is to use a minimal amount
µ-approximation and δ is any arbitrary small positive
of polygonal description.
number.
In many scientific computations 3D-object models
A different version of the surface approximation
are used. In that case the surface is approximated using
problem has also considered by Mitchell and Suri [35].
piecewise linear patches (i.e, polygonal objects) whose
Given a convex polytope P with n vertices and µ > 0
vertices are allowed to lie within a close vicinity of the
they designed an O(n3 ) time algorithm which computes
actual surface. To ensure that the local features of the
a O(c log n) size convex polytope Q such that (1−µ)P ≤
original surface are retained, one may end up generating
Q ≤ (1+µ)P , where c is the size of such an optimal poly-
an unmanagable number of patches. But, this is not at
tope. Later, this bound was improved independently by
all cost effective for real time applications. Thus one
Clarkson [14] and Bronniman and Goodrich [8]. The lat-
can clearly note the complexity-quality tradeoff in this
ter presented an O(nc(c + log n) log nc ) time algorithm
context.
which computes a polytope Q of size O(c).
We consider the surface approximation problem for
xy-monotone surfaces. The original surface is the graph
1.3 Our Results. We obtain a quasi-polynomial
of a continuous bivariate function f (x, y) whose domain
time approximation scheme (QPTAS) for the convex de-
is R2 . The goal is to compute a piecewise-linear function
composition problem using a separator based approach.
g(x, y) that approximates the function f (x, y). The
We show the existence of a suitable set of diagonals (our
domain of g(·, ·) is also R2 , and we wish to minimize the
separator), which partitions the optimal solution in a
number of its faces, which we require to be triangles.
balanced manner, and intersects with a small fraction
We formally define the problem as follows.
of the optimal solution. Moreover, the set of diagonals
can be guessed from a quasi-polynomial sized family.
Surface Approximation Problem: Let f be a bi-
We then show the existence of a near-optimal solution
variate function and S̄ be a set of n points sampled
that respects the set of diagonals. (None of the diago-
from f . Given µ > 0 a piecewise linear function g is
nals intersects the interior of any of the convex polygons

1458 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
in the near-optimal solution.) As we explain below, this segment between two non-adjacent vertices that lies en-
proof of the existence of a suitable diagonal set, and tirely within the polygon. For ease of exposition, we
a near-optimal solution that respects it, are our main make a general position assumption that any diagonal
technical contribution. of P intersects the boundary of P at only its endpoints.
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

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.

1459 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
and let C = {C1 , . . . , CK } be the set of resulting convex line segment connecting two consecutive vertices that
polygons. In the first step, we argue that there is a lie in s. Similarly, there is an edge connecting every two
polygonal cycle Σ such that (a) the number of polygons consecutive vertices on the top (and bottom) edge of
in C that are contained inside (resp. outside) Σ is at B. These edges constitute the non-vertical type. The
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

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∈Σ

1460 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

(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.

Figure 1: Step 1 of the proof of Lemma 2.1

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.

1461 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

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

1462 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

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

1463 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

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

1464 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
of diagonals, as stated in Lemma 2.1, for P 0 . to decompose(P 0 ) is at recursion depth that is greater
than α (with respect to the root corresponding to
3. Choose a Di ∈ D. decompose(P )), we return a special symbol I. In the
4. Suppose Di partitions P0 into subpolygons decompose(P 0 ) routine, when we are not in the base
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

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.

1465 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
the surface approximation problem, the goal is to com- We describe a method for computing a polynomial-sized
pute a piece-wise linear function of minimum complexity set B of valid triangles, termed the basis, such that the
that approximates f . Note that we do not require that surface approximation problem is equivalent, up to mul-
each vertex of the approximating surface should belong tiplicative constant factors, to computing a minimum-
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

to S̄. cardinality disjoint cover for S using a subset of basis


For any point p̄ ∈ S̄ which is in R3 , we define triangles. We then describe an approximation scheme
p to be the projection of p̄ on to the xy-plane. Let for the latter problem using the separator approach.
S = {p | p̄ ∈ S̄}. A triangle 4 in the xy-plane is a valid In solving the disjoint cover problem, the reason for
triangle if it is the projection of a triangle 4 in R3 , such restricting ourselves to basis triangles is that it allows
that ∀p ∈ S ∩ 4 the vertical distance between 4 and p̄ us to guess a separator efficiently. On the other hand,
is at most µ. That is, a triangle is valid if it has a lift our approximation scheme does not work for computing
that is within µ of the points in S̄ whose projections it a minimum disjoint cover using a subset from any finite
contains. Let T be the set of all valid triangles in the family of triangles. The scheme exploits a closure
plane; notice that the cardinality of T is infinite. property of the set B. Roughly, this says that for any
With a slight abuse of terminology, we say that a valid triangle 4, there are O(1) basis triangles that (a)
set T 0 of triangles is pair-wise disjoint if for any two are contained in 4, and (b) form a disjoint cover of
triangles 4 and 40 from T 0 , the (relative) interiors of 4 ∩ S. See Lemma 3.2.
4 and 40 are disjoint. A set T 0 of triangles is said to be
a disjoint cover of a set S 0 of points if (a) T 0 covers S 0 , 3.1 Construction of the Basis. Recall that T is
that is, each point in S 0 is contained in some triangle the infinite set of all valid triangles in the plane. Let
from T 0 ; and (b) T 0 is pair-wise disjoint. F = {S ∩ 4 | 4 is a triangle}. It is easy to see that set
Agarwal and Suri [5] have shown that the surface F has size O(n6 ), and can be computed in, say, O(n7 )
approximation problem is equivalent, up to multiplica- time.
tive constant factors, to computing a minimum cardi- For each R ∈ F, we compute the convex hull
nality subset of T that is a disjoint cover of S. This is Conv(R) of the points in R. If Conv(R) consists of
stated in the following lemma. a point, or a single edge, we add the degenerate triangle
Conv(R) to the basis B. Otherwise, Conv(R) is 2-
Lemma 3.1. (a) Suppose g is a piecewise linear func-
dimensional and has at least three vertices. For each
tion of complexity K that approximates f . There is a
triple {p, q, r} of vertices in Conv(R), we construct
subset of at most K valid triangles that is a disjoint
the hexagon Hpqr formed by the edges of Conv(R)
cover of S. (b) Suppose we have a subset T 0 ⊆ T that is
incident on p, q, and r. Hpqr may be degenerate i.e.
a disjoint cover of S. Then we can efficiently compute
it may not be a hexagon, or it may be unbounded. In
a piecewise linear function of complexity O(|T 0 |) that
case Hpqr is bounded, we triangulate the hexagon by
approximates f .
using diagonals, and add the resulting set of at most 4
Proof. For (a), we may simply take the set of triangles triangles to B. See Figure 6.
in the base triangulation that specifies g, to obtain a set Since we generate at most O(n3 ) hexagons from
of K valid triangles that is a disjoint cover of S. Conv(R), and from each such hexagon we generate at
For (b), assume for simplicity that any two triangles most 4 triangles, the basis B would now consist of O(n9 )
in T 0 are actually disjoint. (The argument when only triangles. We note that this bound is very likely an
the interiors are disjoint is a bit more technical, but overestimate.
similar). Consider the union of the triangles in T 0 , and
triangulate its complement without adding additional Filtering the basis. We remove any triangle 4 ∈ B
vertices. The triangulation has O(|T 0 |) triangles. We that is not a valid triangle. This can be done by solving
define a piece-wise linear function g with this base a simple 3-dimensional linear program for each triangle
triangulation. in B, as shown by Agarwal and Desikan [4]. Let S4
Each triangle 4 ∈ T 0 has a lift that is within µ of = S ∩ 4 be the set of points contained inside 4 ∈ B.
the points in S̄ whose projection 4 contains. Such a Since 4 is a valid triangle, then there would exist a
lift can be efficiently computed by solving a simple 3- triangle 4 in R3 such that 4 is the projection of 4 on
dimensional linear program [4]. The lift can be used to the xy-plane, and the vertical distance between 4 and
define the value of g on the three vertices of 4. Thus, we any point in {p̄ | p ∈ S4 } is at most µ. This completes
obtain the value of g on each vertex of the triangulation. the description of the basis computation.
It is clear that g approximates f . 2 The basis just constructed has the following useful
property.
Notice that the set T of valid triangles is infinite.

1466 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

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 .

1467 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
The Algorithm. We describe a recursive procedure Let K 0 = |D0 |. Suppose that the algorithm picks a
compcover(S 0 , B 0 ) that given as input subsets S 0 ⊆ S separator Cj ∈ C that satisfies the guarantees of Lemma
and B 0 ⊆ B, returns a disjoint cover of S 0 using triangles 3.4 when applied to D0 . With this choice of Cj , let
from B 0 . We assume that B 0 has the following closure 0
Sj1 ,Bj1 0
Sj10
, and Bj1 0
denote the same sets as in the
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

property: if 4 ∈ B 0 , and 41 ∈ B is contained in 4, then algorithm.


41 ∈ B 0 as well. Our final algorithm simply invokes We will show that there are sets D10 ⊆ Bj1 0
and
compcover(S, B). Our algorithm compcover(S 0 , B 0 ) is 0 0
D2 ⊆ Bj2 such that (a) D1 (resp. D2 ) is a disjoint 0 0
0 0
non-deterministic in the step in which it makes a cover of Sj1 (resp. Sj2 ); (b) |D10 | ≤ (2/3 + δ)K 0 , and
choice of separator. After analyzing the quality of the |D2 | ≤ (2/3 + δ)K ; and (c) |D10 | + |D20 | ≤ (1 + δ)K 0 .
0 0

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

relative interiors are intersected by Cj . Initialize a set


2. Choose a separator Cj ∈ C. 0
Dnew . Take each triangle in Dbad 0
, and retriangulate
0 0 it so that the relative interior of each of the new
3. Let Sj1 be the set of points in S that are inside Cj ,
0 triangles is not intersected by Cj . In the retriangulation,
and let Sj2 be the remaining points in S 0 . Let Bj1
0
0
0 the total number of triangles, over all of Dbad , is
denote those triangles of B that are inside Cj , and 0
0 0 proportional to n(Cj , D ). For each new triangle 4 of
Bj2 denote those triangles of B that are outside
the retriangulation, add the set of at most four basis
Cj . 0
triangles in B(4) to Dnew – note that B(4) is a disjoint
0
0 0 0 0
4. Return compcover(Sj1 , Bj1 ) ∪ compcover(Sj2 , Bj2 ). cover of S ∩4. We calculate that |Dnew | ≤ 8n(Cj , D0 ) ≤
0 0
0 0 δK . Let D 1 consist of those triangles in D0 \ Dbad
0
that
We note that Bj1 and Bj2 satisfy the closure prop- 0
are inside C j and those triangles in D new that are inside
erty that B 0 has.
Cj . Thus we have |D10 | ≤ 2K 0 /3 + |Dnew 0
| ≤ (2/3 + δ)K 0 .
0 0 0 0
Since (D \ D bad ) ∪ D new covers S , it follows that D10
Approximation Ratio. Consider an input (S 0 , B 0 ) to 0 0 0
covers S j1 . Since D new ⊆ B (the closure property), it
our algorithm, and suppose D0 ⊆ B 0 is a smallest subset 0 0 4
follows that D1 ⊆ Bj1 .
of B 0 that is a disjoint cover of S 0 . We define the level
0 0 Similarly, letting D20 consist of those triangles in
of the instance (S , B ) to be the integer i > 0 such 0 0 0
D \Dbad that are outside Cj and those triangles in Dnew
that λ(4/3)i−1 < |D0 | ≤ λ(4/3)i . If |D0 | < λ, we define
that are outside Cj , we can establish similar properties
its level to be 0 – thus a base case input (S 0 , B 0 ) has
for D20 . Finally,
level 0. The following lemma bounds the quality of
approximation of our non-deterministic algorithm. |D10 | + |D20 | ≤ |D0 | + |Dnew 0
| ≤ (1 + δ)K 0 .
Lemma 3.5. Assume that δ < 3/4 − 2/3. There is an 2
instantiation of the non-deterministic separator choices
for which compcover(S 0 , B 0 ) computes a disjoint cover of Deterministic Algorithm. The level of the input
size at most (1 + δ)i |D0 |, where i is the level of (S 0 , B 0 ), (S, B), where S is the original set of points and B
and D0 is a smallest subset of B 0 that is a disjoint cover the set of basis triangles, is clearly at most dlog4/3 ne,
of S 0 . where n, we recall, is the size of S. It follows that
with compcover(S, B), for suitable non-deterministic
Proof. The proof is by induction on i. The base case
is when i = 0, and here the statement follows from the 4 Some of our arguments have to be phrased more carefully
base case of the algorithm. So assume that i > 1, and to take into account degenerate 0- and 1-dimensional triangles,
that the statement holds for instances with level at most but this is easy to do once the direction of our arguments are
i − 1. understood.

1468 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
separator choices, returns a disjoint cover of size at most However, it is not clear if we can argue that there is a
(1 + δ)dlog4/3 ne times the size of the optimal disjoint near-optimal decomposition that respects the separator.
cover. Furthermore, the depth of the recursion with This is because the construction of the near-optimal de-
such seperator choices is at most dlog4/3 ne. composition needs to maintain the additional criterion.
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

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

1469 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.
[15] Jonathan D. Cohen, Amitabh Varshney, Dinesh 522, 2008. 2
Manocha, Greg Turk, Hans Weber, Pankaj K. Agar- [32] Jyh-Ming Lien, John Keyser, and Nancy M. Amato.
wal, Frederick P. Brooks Jr., and William V. Wright. Simultaneous shape decomposition and skeletoniza-
Simplification envelopes. In SIGGRAPH, pages 119– tion. In Symposium on Solid and Physical Modeling,
Downloaded 07/30/23 to 109.146.170.190 . Redistribution subject to SIAM license or copyright; see https://epubs.siam.org/terms-privacy

128, 1996. 2 pages 219–228, 2006. 1


[16] Mark de Berg and Katrin Dobrindt. On levels of detail [33] Andrzej Lingas. The power of non-rectilinear holes. In
in terrains. Graphical Models and Image Processing, ICALP, pages 369–383, 1982. 1, 2
60(1):1–12, 1998. 2 [34] Jiri Matousek. Lectures on Discrete Geometry.
[17] Matthias Eck, Tony DeRose, Tom Duchamp, Hugues Springer-Verlag, 2002. 4
Hoppe, Michael Lounsbery, and Werner Stuetzle. Mul- [35] Joseph S. B. Mitchell and Subhash Suri. Separation
tiresolution analysis of arbitrary meshes. In SIG- and approximation of polyhedral objects. Comput.
GRAPH, pages 173–182, 1995. 2 Geom., 5:95–114, 1995. 2
[18] Alon Efrat, Stephen G. Kobourov, and Anna Lubiw. [36] Nabil H. Mustafa, Rajiv Raman, and Saurabh Ray.
Computing homotopic shortest paths efficiently. Com- Settling the APX-hardness status for geometric set
put. Geom., 35(3):162–172, 2006. 6 cover. In FOCS, 2014. to appear. 1, 3, 4, 11
[19] Aimée Vargas Estrada, Jyh-Ming Lien, and Nancy M. [37] Lori L. Scarlatos and Theodosios Pavlidis. Hierarchical
Amato. Vizmo++: a visualization, authoring, and triangulation using cartographic coherence. CVGIP:
educational tool for motion planning. In ICRA, pages Graphical Model and Image Processing, 54(2):147–161,
727–732, 2006. 1 1992. 2
[20] Leila De Floriani, Bianca Falcidieno, George Nagy, and [38] Greg Turk. Re-tiling polygonal surfaces. In SIG-
Caterina Pienovi. A hierarchical structure for surface GRAPH, pages 55–64, 1992. 2
approximation. Computers & Graphics, 8(2):183–193,
1984. 2
[21] Mukulika Ghosh, Nancy M. Amato, Yanyan Lu, and
Jyh-Ming Lien. Fast approximate convex decomposi-
tion using relative concavity. Computer-Aided Design,
45(2):494–504, 2013. 2
[22] Sariel Har-Peled. Quasi-polynomial time approxima-
tion scheme for sparse subsets of polygons. In Sym-
posium on Computational Geometry, pages 120–129,
2014. 1, 3, 4, 11
[23] John Hershberger and Jack Snoeyink. Computing
minimum length paths of a given homotopy class.
Comput. Geom., 4:63–97, 1994. 6
[24] Stefan Hertel and Kurt Mehlhorn. Fast triangulation of
the plane with respect to simple polygons. Information
and Control, 64(1-3):52–76, 1985. 1
[25] Hugues Hoppe, Tony DeRose, Tom Duchamp,
John Alan McDonald, and Werner Stuetzle. Mesh op-
timization. In SIGGRAPH, pages 19–26, 1993. 2
[26] J. Mark Keil. Decomposing a polygon into simpler
components. SIAM J. Comput., 14(4):799–817, 1985.
1
[27] J. Mark Keil and Jack Snoeyink. On the time bound
for convex decomposition of simple polygons. Int. J.
Comput. Geometry Appl., 12(3):181–192, 2002. 1
[28] Irina Kostitsyna. Balanced partitioning of polygonal
domains. Ph.D. dissertation, Stony Brook University,
2013. 2
[29] Jyh-Ming Lien and Nancy M. Amato. Approximate
convex decomposition. In Symposium on Computa-
tional Geometry, pages 457–458, 2004. 2
[30] Jyh-Ming Lien and Nancy M. Amato. Approximate
convex decomposition of polygons. Comput. Geom.,
35(1-2):100–123, 2006. 2
[31] Jyh-Ming Lien and Nancy M. Amato. Approximate
convex decomposition of polyhedra and its applica-
tions. Computer Aided Geometric Design, 25(7):503–

1470 Copyright © 2015.


by the Society for Industrial and Applied Mathematics.

You might also like