You are on page 1of 7

Computational Complexity of

Art Gallery Problems


D. T. LEE, SENIOR MEMBER, IEEE, AND ARTHUR K. LIN, MEMBER, IEEE

Abstract- We study the computational complexity of the art gallery vertex guard problem can be treated as a polygon decom-
problem originally posed by K1ee, and its variations. Specifically, the
position problem in which a polygon is to be decomposed
problem of determining the minimum number of vertex guards that can see
an n-wall simply connected art gallery is shown to be NP-hard. The proof according to vertex visibility. For polygon decompositions
can be modified to show that the problems of determining the minimum into various types of "primitives" and their complexities
number of edge guards and the minimum number of point guards in a see, for example, [2], [5], [8], and [13]. In this paper we
simply connected polygonal region are also NP-hard. As a byproduct, the address the computational complexity of the minimum
problem of decomposing a simple polygon into a minimum number of vertex guard problem, that is, determining the minimum
star-shaped polygons such that their union is the original polygon is also
shown to be NP-hard.
number of vertex guards for an n-edge simple polygon,
and we show that this problem and the minimum point
I. INTRODUCTION guard problem are NP-hard.

T
In [4] Avis and Toussaint studied and provided an O(n)
HE ART GALLERY problem of determining how algorithm for the following edge visibility problem, that is,
many guards are sufficient to see every point in the given an n-edge simple polygon P and a guard, called an
interior of an n-wall art gallery room was posed by Klee edge guard, patrolling along an edge of P, decide if every
[11]. Conceptually, the room is a simple polygon P with n point of P can be seen by the guard. In the context of the
vertices, and the guards are stationary points in P that can art gallery problem, O'Rourke [IS] showed that lnl4J
see any point of P connected to them by a straight line such mobile guards, where the guards can move along
segment that lies entirely within P. It has been proven by fixed line segments (the edges of the polygon, for example)
Chvatal [6] that l n13 J guards are always sufficient, and are always sufficient and sometimes necessary. We shall
this number is the best possible in some cases. Fisk [9] show that the minimum edge guard problem, that is, de-
later found a simpler proof which lends itself to an O(n termining the tninimum number of edge guards needed to
log n) algorithm developed by Avis and Toussaint [3] for see any point of P for an n-edge simple polygon, is also
locating these l n13 J stationary guards. If the polygon is NP-hard. For definitions of NP-hardness and NP-com-
rectilinear, that is, the edges of the polygon are either pleteness, refer to [10].
horizontal or vertical, Kahn et al. [12] have shown that The terminology and notation will be given in Section
In/4J guards are sufficient and sometimes necessary. II, and in Sections III and IV the main results of NP-hard-
O'Rourke [14] later gave a completely different and some- ness of the aforementioned problems are presented.
what simpler proof of this result. Sack [17] and
Edelsbrunner, et al. [7] have, based on the results of [12] II. DEFINITIONS AND NOTATION
and [14], respectively, devised an O( n log n) algorithm for
locating these lnl4J guards. A simple polygon P = (vo, VI" • " vn ) is a closed plane
Presumably, the guards can be arbitrarily placed in the figure whose boundary bd(P) is composed of straight line
interior of the art gallery. However, the aforementioned edges (Vi' Vi + I ), i = 0,1,···, n - 1, Vo = Vn ' and where no
results indicate that the guards can be restricted to the two nonconsecutive edges intersect. The edges of Pare
vertices of the polygon without affecting the outcome. oriented in the counterclockwise sense, that is, when they
Hence we shall refer to this problem as the vertex guard are traversed, the interior of P always lies to the left. If P
problem and the former as the point guard problem. The contains holes that are themselves represented as simple
polygons (with no holes), then P is said to be multiply
connected; if P contains no holes, then it is said to be.
Manuscript received May 24, 1984; revised June 17, 1985. This work simply connected. Unless otherwise specified, the term
was supported in part by the National Science Foundation under Grant polygon refers to a simply connected simple polygon, and
MCS8342682. P refers to the region enclosed in bd(P).
D. T. Lee is with the Department of Electrical Engineering and
Computer Science, Northwestern University, Evanston, IL 60201. Two points p and q of polygon P are said to be visible
A. K. Lin was with the Department of Electrical Engineering and from each other if the line segment pq connecting p and q
Computer Science, Northwestern University, Evanston, IL. He is now lies completely in P. A point p of P is said to be visible
with Gerber System Technology, 40 Gerber Road East, South Winsor,
CT 06074. from an edge (u, v) of P if there exists a point q on (u, v)
IEEE Log Number 8406631. such that p and q are visible. For any point v of P the

303
I. J. Cox et al. (eds.), Autonomous Robot Vehicles
© AT&T 1990
304

v-cover is the locus of points of P that are visible from v, Question: Does a satisfying truth assignment for e,
and the (u, v )-cover, where (u, v) is an edge of P, is that is, a truth assignment to the n variables in U, exist
defined similarly. The v-cover is also known as the visibil- such that the conjunctive normal form CI C2 ••• Cm is true?
ity polygon for v in P and the (u, v)-cover is known as the We will show, that 3SAT is polynomially transformable
edge-visibility polygon. for (u, v) in P (see, for example, to VGSCP. The 'goal is to accept an instance of 3SAT as
[4]). A polygon P is star-shaped if a point v in P exists input and to con~truct in polynomial time a simply con-
such that the v-cover is the polygon P. Thus any v-cover nected polygonal f~gion P such that P is coverable by K
for any point v in P is a star-shaped polygon. The kernel or fewer vertices of P if and only if the instance of 3SAT
of a polygon P is the region in P such that for any point q is satisfiable. We first introduce some basic constructs on
in P, q is visible from any point in this region. which the simply connected polygonal region is built and
identify a number of distinguished points in this polygonal
III. VERTEX GUARD AND EDGE GUARD PROBLEMS region such that no two different distinguished points can
be covered by a single vertex. In the following construction
Let V denote a certain subset of vertices of P. We say
the dotted lines shown in the figures indicate where these
that a V-cover of P exists or P is coverable by V if a subset
basic constructs are to be "attached" to the main polygo-
T ~ Vof vertices exists such that UVETv-cover = P. Tis
nal region. Let the bound K used in the VGSCP be
said to be a minimum cover if ITI is minimum among all
3m + n + 1.
V-covers of P.
Literal Patterns: The literal pattern is shown in Fig. 1.
Weare concerned with the following problems. Given P
The dot shown is a distinguished point associated with the
and V, we must determine if P is coverable by V and, if so,
pattern. The important characteristic of the pattern is that
find a minimum cover. The former problem can be solved
only vertex a or vertex b can cover the entire region
in polynomial time, since for any v in V the v-cover and
defined by the pattern. Three such patterns per clause will
the union of any two covers (polygonal regions) can be
exist in the final construction, each of which corresponds
computed in polynomial time. The latter, however, is
to one literal.
NP-hard as we shall show.
An application of this problem is the following. We have
a region P to be monitored by a number of guards that
are placed at positions specified in V, and we want to find
if the entire region of P is indeed covered by the guards,
and, if so, we want to minimize the number of guards
needed.

Vertex Guard Problem of a Polygonal Region Fig. 1. Literal pattern.

Instance: A polygonal region P = (v o, VI'··' Vn-I, vn)


and a positive integer K < n exist. Clause Junctions: Without loss of generality, consider
Question: Does a subset T <:;;: V exist with ITI :$ K, the clause C ';'" A + B + D, where A E {u;,~}, BE
such that {Uj'~}, and DE {Uk' ud are literals, and U;, uj , and Uk
are variables in U. The basic pattern for the clause junction
U vrcover = P
eh is shown in Fig. 2.
VjET
Let flabc denote the triangle area determined by points
where V = {V o, VI'··' vn-d? a, b, and c, and let (a l ,···, a h) denote that points aI'
Proposition 1: The vertex guard problem for simply a 2 ,···, and a h are collinear. Thus in the pattern of Fig. 2
connected polygonal regions (VGSCP) is NP-complete. we have (gh2' gh8' a h4 , ahl' bh4 , bhl , d h4 , d hl , gh9' ghl)'
Proof: It is easy to see that VGSCP is in NP since a
nondeterministic algorithm needs only to guess a subset
V I ~ V of K vertices and check in polynomial time if

U a-cover = P.
aEV'

To show NP-completeness we reduce the following NP-


complete problem to the VGSCP problem.

Boolean Three Satisfiability (3SAT)


Instance: A set U= {U I,U 2 ,···,u n } of Boolean vari-
ables and a collection e = {c l , c2 ,· •• , cm } of clauses over
U exist such that C; E e is a disjunction of precisely three
literals. Fig. 2. Clause junction ch .
305

(gh3' gh4' gh7' ghl)' (ghS' gh4' ghS), and (gh9' gh7' gh6)' Proof' Ch has a truth value false if and only if the
Moreover, Kgh2' ghs)1 = KghS' a h4)1, and Kd h1 , gh9)1 = truth values of literals A, B, and D are false. According to
Kgh9' ghl)l, where I(u, v)1 denotes the length of the edge the vertex labels, this implies that the vertices selected must
(u,v). be a h3 , bh3 , and d h3 . From Lemma 2 exactly seven three-
Since none of ghi' i = 1,2, . ·,7 can cover dahlah2ah3' vertex covers exist that can cover the region defined by Ch •
dbhlbh2bh3' and ddhldh2dh3 in the pattern for Ch, they We claim that the labels of each vertex in the three-vertex
cannot be used to cover these three triangles as shown in cover correspond to a true assignment to the vari-
Fig. 2. Furthermore, any two vertices of each literal pat- ables u i ' uj , and Uk for Ch • Since the verification for each
tern in the clause are not sufficient by themselves to cover of these seven three-vertex covers of the claim is straight-
the region defined by the pattern Ch • We therefore have forward, we leave out the details.
the following.
Variable Patterns: The variable pattern for variable ui is
Lemma 1: At least three vertices of Ch are required to
as shown in Fig. 3. Note that a distinguished point exists
cover the region defined by the pattern Ch shown in Fig. 2.
in dtilti2ti3 and that dtilti2ti3 can only be covered by til'
Lemma 2: Only s~ven three-vertex covers exist that can
t i2 , t i3 , tiS' t i6 , or tiS' One such pattern will exist per
cover the region defined by the pattern Ch •
variable in the final construction. We shall henceforth refer
Proof' Since none of a h4, bh4 , d h4 , and ghi' i = to the two legs of the variable pattern as rectangles or
1, 2,· . ·,7, can cover any of the three literal patterns, they rectangular regions, although they are not really rectangles.
cannot be chosen as possible candidates in the cover for Now we consider how to put variable patterns and clause
Fig. 2. Therefore, only Hi = {a hi , bhi , d hi }, i = 1,2,3, need junctions together.
be considered. If ah2 is chosen, dahlah3ah4 cannot be
covered no matter which vertices are selected for the literal
patterns Band D. This implies that vertices in H2 cannot
~--:-.---------
be candidates either. Vertices a h1 and a h3 should not be
selected at the same time. If they were selected, we would
need two more vertices to cover the literal patterns for B
and D. This is also true for bh1 and bh3 , and d h1 and d h3 .
This means that eight possible three-vertex covers exist
from the sets HI and H3 of vertices. Since the three vertices 14 t17

in H3 cannot cover dghlgh2gh3' we are left with seven Fig. 3. Variable pattern; lil/i2 and (t;3. 1;5. 1;6' 1;8) are parallel.
three-vertex covers. It is easy to check that each of these
seven three-vertex covers, that is, {a hl , bh1 , d hl }, {ahl' bhl ,
d h3 }, {a hl , b h3 , dhd, {a hl , bh3 , d h3 }, {a h3 , bhl , d hl }, Complete Construction of a Simply Connected Polygonal
{a h3 , b hl , d h3 }, and {a h3 , bh3 , dhd, can indeed cover the Region: Three steps are needed.
region defined by the pattern Ch • aj Putting variable patterns and clause junctions 10-
gether: We put literal patterns and clause junctions to-
Labeling Vertices: We shall label vertices a hl and ah3 of gether as shown in Fig. 4. In Fig. 4 we have that 1) vertex
literal pattern A as follows. If A = ui ' ahl and ah3 are W can cover the n literal patterns, except MiltiZli3'
labeled as T and F (true and false), respectively; if A = U;, i = 1,2,· .. , n, and 2) (W, gIS' g16' gzs, gZ6' . " gmS' gm6)'
a hl and a h3 are labeled as F and T, respectively. In other (t 11' gh5' gh4' ghS)' and (t .8' gh6' gh7' gh9)' h = 1.2,· . " m.
words, vertex a hl represents truth value true for literal A, bj Augmenling variable patterns with "spikes": Sup-
and a h3 represents false. Vertices bhl and bh3 of literal pose variable u i appears in clause Ch • If U i itself is in C h ,
pattern B, and d hl and d h3 of literal pattern D are labeled then the two spikes, pq and Plql as shown in Fig. S, where
in the same manner. (p, q, tiS' a hl ) and (PI' ql' t i8 , a h3 ). are added to Fig. 4. If
We say that the truth value assignment to the variables its complement (1.1;> is in Ch , then the two spikes, pq and
U i ' up and Uk in clause Ch is a true assignment if the PIql as shown in Fig. 6, where (p, q, liS' ah3) and (PI' ql'
resulting truth value of Ch is true; otherwise, it is a false tiS' a hl ). are added to Fig. 4. This is equivalent to labeling
assignment. The key idea in the labeling of vertices in a vertex tiS F and vertex ti8 T. That is, vertices tiS and ti8
clause junction Ch is that the vertices that are selected represent, respectively. truth values false and true for
according to the truth value assignment of {u i , up Uk} can variable U i •
cover the region defined by ghlgh2 ... gh7 "free," that is, From the previous construction the picture is not a
without increasing the number of vertices needed to cover simply connected polygonal region because the new added
the region defined by the pattern Ch , if and only if the spikes are line segments. For each spike pq, p and q are
assignment is a true assignment. Specifically, we have the collinear with b and I, where b is a vertex (a hl , for
following. example) of a literal pattern and I is a vertex (/ i8 , for
Lemma 3: The three vertices selected from the clause example) of a variable pattern. Therefore. pq can be covered
pattern Ch = A + B + D cover the region defined by Ch if by p, q, b, and t. The next step is to construct a polygonal
and only if the truth values represented by the labels of region out of pq such that this polygonal region can only
these vertices give a true assignment for Ch • be covered by b, t, and its vertices.
306

w____--------------~

"
""

Fig, 4. Putting variable patterns and clause junctions together.

c) Rep/acing spikes by polygonal regions: Suppose a is


in literal pattern A, and A is in clause junction Ch • If a
corresponds to a h1 , the shaded area in Fig. 7 is the
polygonal region to replace pq. More precisely, we have in
Fig. 7 (a h1 , t;5' p, q) and (ah1' e, f). That is, we have a
triangle dahdq. We replace pq similarly if a corresponds
to a h3 • We call the polygonal regions created as described
the consistency-check patterns.

Fig. 5. Augmenting spikes when Uj in Ch •

.~
Fig. 7. Each spike is replaced with small region.

Fig. 8 is an example for converting the Boolean formula


F = (u 1 + u 2 + u 3) /\ (u 1 + "2
+ U3) /\ (u 1 + +
and the dots are vertices in the minimum cover. From the
"2 "3)'
minimum cover obtained we conclude that the truth values
q
of U1' U2' and U3 are true, true, and false, respectively.
Lemma 4: At least K = 3m + n + 1 vertices are needed
Fig. 6. Augumenting spikes when ~j in Ch . for covering the simply connected polygonal region.
307

".~':- ,
4'''',--.:';./

I :,'

Fig. 8. Example and minimum cover.

Proof" At least 3m + n vertices are needed for cover- a distinguished point cannot cover other distinguished
ing 3m literal patterns, and l:!.tiltj2tj3' i = 1,2,· .. , n. At points. Therefore, at least 3m + n vertices are needed to
least one more vertex is needed to cover all the variable cover the above 3m + n subregions. To get a K-vertex
patterns' rectangles. Therefore, the lemma follows. cover each of the above 3m + n polygonal regions is
allowed to be covered by one vertex. This means that for
Lemma 5: The minimum number of vertices needed to
any literal pattern A, supposing A in Ch , either ah1 or ah3
cover the simply connected polygonal region is K = 3m +
must be included in T.
n + 1 if and only if C is satisfiable.
However, we cannot arbitrarily include in T any 3m
Proof: (<-) If C is satisfiable, then a truth value vertices in these 3m literal patterns for they may make the
assignment to the variables exists such that each of the n variable patterns inconsistent. The definition of con:
clauses in C has a truth value true. If u j is true, then tjS of sistency follows.
the variable pattern u j is included in the cover T, and We say the any variable pattern L is consistent if all the
either a h1 or a h3 of the literal pattern i~ included in T consistency-check patterns connected to one of its two
depending, respectively, on whether U i or uj appears in the rectangles are covered by the 3m vertices in literal patterns
clause Ch • If U j is false, then ti5 is included in T and either and those connected to the other rectangle are not covered
a h1 or a h3 of the literal pattern is included depending, at all by the same 3m vertices; it is inconsistent otherwise.
u;
respectively, on whether or U j appears in the clause Ch • In any variable pattern L, the number of consistency-
From the construction the regions defined by the con- check patterns connected to the first rectangle and second
sistency-check patterns and literal patterns are covered rectangle is the same; let it be q. The total number of
with 3m + n vertices. The remaining rectangular regions consistency-check pattens in the variable pattern L is 2q.
defined by the variable patterns can be covered by vertex From the construction the 3m vertices included in T can
W. Therefore, by including W in T we have a minimum cover only q consistency-check patterns in L. If vari-
cover with K = 3m + n + 1 vertices. able pattern L is not consistent, then some of the con-
( --» Suppose a cover T with K = 3m + n + 1 vertices sistency-check patterns connected to the first rectangle and
exists to cover the polygonal region. If W is not in T, K some connected to the second rectangle will not be covered.
vertices are in no way sufficient to cover the regions Then at least two extra vertices of L are needed to cover
defined by the 3m literal patterns and the 2n rectangles L. On the other hand, if it is consistent, one extra vertex is
contained in the n variable patterns. Thus K - 1 = 3m + enough. Therefore, to get a K-vertex cover consistency of
n vertices are left to be considered. all variable patterns is required.
In the polygonal region 3m literal patterns exist and n Since these 3m vertices of the literal patterns must
triangles Iltilti2t;3' i = 1,2"", n, each of which contains satisfy the consistency requirement, the remaining n
a distinguished point. We know that any vertex that covers vertices chosen from the variable patterns can be de-
308

termined. We know that these n vertices and vertex W able pattern t;. Change W into WI W 2. WI is just like W in
cannot cover any tlghlgh2ghl' h = 1,2,' . " m. Therefore, the proof of vertex guard problem. W2 covers tlW2W3W4 .
tlghlgh2gh3' h = 1,2" . " m, must be coverable by the 3m
vertices. From Lemma 2, if they are covered free, then IV. POINT GUARD PROBLEM
each C; is satisfiable. This implies C is satisfiable. Once it
In this section we consider the minimum point guard
is known that the instance of 3SAT is satisfiable, the truth
problem for simply connected polygons, which is similar to
value assignment to the variables can easily be determined
the minimum vertex guard problem except that the guards
from the consistency property possessed by the minimum
need not necessarily be fixed on the vertices. This problem
cover.
can also be shown to be NP-hard using similar arguments
Thus we have the following main results. as given earlier with some modifications [1]. The roles
played in the proof by vertices a h1 , ah3 , 1;5' and t;s for
Theorem 1: The minimum vertex guard problem for
variable u; should be replaced by their corresponding
simply connected polygonal regions is NP-hard.
kernels. The shaded regions around tiS and tiS in Fig. 12,
Proof: It follows from Lemma 5 and from the fact referred to as the kernels, are regions such that any point
that the construction of the simply connected polygonal in these regions can cover tltilti2tiJ and the consistency-
region, as described earlier, from a given instance of 3SAT check patterns visible from tiS and tiS' respectively. We
takes polynomial time. note that the kernels of the literal pattern a h and the
consistency-check patterns visible from a hl and ah3 , re-
Edge Guard of a Polygonal Region spectively, are the vertices ah1 and ah3 themselves. Thus
the point guards in the minimum cover are restricted to
In this section we consider the minimum edge guard
vertex Wand these kernels in the simply connected po-
problem for a simply connected polygonal region where
lygonal region.
the guard can move along an edge. Since the NP-hardness
proof parallels that for the minimum vertex guard prob-
lem, we summarize it as follows.
Theorem 2: The minimum edge guard problem for sim-
ply connected polygonal regions is also NP-hard.
Proof" Use similar arguments except that slight mod-
ifications to the literal patterns, variable patterns, and W
are needed. They are shown in Figs. 9-11. In Fig. 9 only Fig. 12. Variable pattern for point guards.
edges a h1 ah8 and ah3ah12 can cover the entire literal pattern
a h • In Fig. 10 edges t;sl;6 and 1;8/;9 are the only edges that Theorem 3: The minimum point guard problem for sim-
can cover tl/ilti2tiJ and one of the rectangles in the vari- ply connected polygonal regions is NP-hard.
Since each point guard covers a region that is star-
shaped, we have the following corollary.
Corollary: The problem of decomposing a simple
polygon into the minimum number of star-shaped poly-
gons whose union is the given polygon is NP-hard.

V. CONCLUSION

Fig. 9. Literal pattern for edge guards. We have shown that the minimum vertex guard problem
for a simply connected polygon is NP-hard. With slight
modifications to the construction of the proof of the
NP-hard result we have also shown that the minimum edge
guard problem and minimum point guard problem for
simple polygons are NP-hard. As a result of the NP-hard-
ness of the minimum point guard problem, the problem of
decomposing a simple polygon P into a minimum number
Fig. 10. Variable pattern for edge guards. of star-shaped polygons such that· their union is P is also
NP-hard.

ACKNOWLEDGMENT

The authors wish to thank Alok Aggarwal at Johns


Hopkins University for useful comments on an earlier
Fig. 11. Vertex W for edge guards. draft of this paper and for providing insight into the
309

complexity result of the minimum point guard problem in simpler components: Feature generation for syntactic pattern re-
cognition," IEEE Trans. Comput., vol. C-24, pp. 636-650, June
Section IV, and the referees for constructive suggestions 1975.
that greatly helped the presentation of the paper. [9] S. Fisk, "A short proof of Chvatal's watchman theorem," J. Comb.
Theory Ser. B, vol. 24, p. 374, 1978.
[10] M. R. Garey and D. S. Johnson, Computers and Intractability: A
REFERENCES Guide to the Theory of NP-Completeness. San Francisco, CA:
Freeman, 1979.
[1] A. Aggarwal, personal communication. [11] R. Honsberger, Mathematical Gems II. Mathematical Assoc. of
[2] N. Ahuja, R. T. Chien, R. Yen, and N. Birdwell, "Interface America, 1976.
detection and collision avoidance among three dimensional objects," [12] J. Kahn, M. Klawe, and D. Kleitman, "Traditional galleries require
in Proc. 1st Nat. Con! Artificial Intelligence, 1980, pp. 44-48. fewer watchmen," SIAM J. Alg. Disc. Meth., vol. 4, pp. 194-206,
[3] D. Avis and G. T. Toussaint, "An efficient algorithm for decom- June 1983.
posing a polygon into star-shaped polygons," Pattern Recognition, [13] 1. O'Rourke, "The complexity of computing minimum convex
vol. 13, pp. 395-398, 1981. covers for polygons," in Proc. 20th Allerton Con/., 1982, pp.75-84.
[4] - , "An optimal algorithm for determining the visibility of a [14] - , "An alternate proof of the rectilinear art gallery theorem," J.
polygon from an edge," IEEE Trans. Comput., vol. C-30, pp. Geometry, vol. 211, pp. 118-130, 1983; also in Dep. Elec. Eng. and
910-914, Dec. 1981. Comput. Sci., Johns Hopkins Univ., Baltimore, MD, Tech. Rep.
[5] B. M. Chazelle and D. Dobkin, "Decomposing a polygon into its 82/15, Dec. 1982.
convex parts," in Proc. 11th ACM Symp. Theory Comput.,1979, pp. [15] - , " Galleries need fewer mobile guards: A variation on Chvatal's
38-48. theorem," Geometricae Dedicata, vol. 14, pp. 273-283, 1983.
[6] V. Chvatal, "A combinatorial theorem in plane geometry," J. [16] J. O'Rourke and K. Supowit, "Some NP-hard polygon decomposi-
Comb. Theory, Ser. B, vol. 18, pp. 39-41, 1975. tion problems," IEEE Trans. Inform. Theory, vol. It-29, pp.
[7) H. Ede1sbrunner, J. O'Rourke, and E. Welzl, "Stationing guards 181-190, Mar. 1983.
in rectilinear art galleries," Comput . Vision, Graphics, Image [17] 1. Sack, "An O( n log n) algorithm for decomposing simple rectilin-
Processing, vol. 27, pp. 167-176, 1984. ear polygons into convex quadrilaterals," in Proc. 20th Allerton
[8] H.-Y. Feng and T. Pavlidis, "Decomposition of polygons into Con/., 1982, pp. 64-74.

You might also like