Covering polygons is hard - Foundations of

Covering Polygons is Mad
Preliminary Abstract
So.93ph C. Cdbberson
Robert A. bckhow
Deipartment of Comp
Science, Univemity of Alberta
@&"%on,
Alberta, Cmada T6G
&mil: jo&alberta.olucp and [email protected].
Abstract
We show that the following minimum cover problems are
NP-hard, even for polygons without holes:
1. covering an arbitrary polygon with conveg polygons,
2. covering the boundary of .an arbitrary polygon with
convex polygons,
3. covering an orthogonal polygon with rectangles, and
4. covering the boundary of an orthogonal polygon with
rectangles.
We note that these results hold even if the polygons are
required bo be in general position.
1 dntrQduction
The problems of decomposing polygons into various types
of simpler polygons have a number of important practical applications [12,20] and have received considerable
attention from a theoretical perspective. O'Rourke and
Supowit [20] showed that the problems of covering' polygons with the minimum number of convex polygons, starshaped polygons or spiral polygons are all NP-hard, but
their constructions required the polygons to have holes. Aggarwal [l]showed that covering by star-shaped polygons is
NP-hard even when the given polygon cannot cantain holes.
The problem of minimally covering orthogonal polygons
with rectangles was shown to be NP-complete by Masek
[17] (See [9, page 232].), but again the proof required the
presence of holes. Conn and O'Rourke [5] have investigated
problems of covering parts of orthogonal polygons (which
may have holes) with rectangles. They showed that covering the boundary and covering the notches (i.e. the reflex
angles) are NP-hard, but covering the corners (i.e. the convex vertices) cauld be done in polynomial time.
For orthogonal polygons, much of the work has focused
on finding fast algorithms for special cases. Chaiken et a1 [2]
proved that a minimum rectangle cover was equal in size to
'In a covering the constituent polygons are allowed to overlap, but
in a partition they are required to be disjoint
0272-5428/88/0000/0601$01.00 0 1988 E E E
a maximum antirectangle' for convex orthogonal polygons,
and used this fact to obtain a polynomial time algorithm
for this case. Franzblau and Kleitman [8] extended this result with an O(n3)algorithm for covering vertically convex
orthogonal polygons. Lubiw [16] gave a polynomial time
algorithm for a different subclass of orthogonal polygons
known as
poiygas.
In contrmt, the problem of decomposing polygons into
a minimum number of non-overlapping convex polygons
has a pdlynomial time solution for polygons without holes
[4,3,10,13]. This problem becomes NP-hard when holes are
allowed [14,11]. Partitioning of orthogonal polygons into
rectangles can be done in polynomial time, even when holes
are allowed [15,19]. In light of these results one might suspect that the corresponding covering problems would also
be tractable for polygons without holes.
In this paper we show that the problems of finding a minimum cmer of an arbitrary polygon with convex polygons
and of finding a minimum rectangle cover of an arbitrary
orthogonal polygon are both NP-hard, even when the given
polygons are not allowed to contain holes. Moreover, these
problems remain NP-hard even when the covering is only
required to cover the boundary (rather than the whole interior) of the given polygon, and our results apply to polygons
in general p ~ s i t i o n In
. ~ each case, we reduce the SATISFIABILITY problem [9, page 2591 to our problem.
Our proofs rely on the construction of beam machines,
structures that allow us to direct slim convex polygons (or
rectangles) toward targets much in the way one might shine
a flashlight beam. We also use special variable generators,
which insure that a11 instances of a boolean variable are
given consistent truth values, and clawe checkers, which
model the clauses of a boolean formula. Beams can be
turned on or off in the variable generators to simulate truth
assignments to variables, and beam machines are then used
to direct this assignment information to the appropriate
clause checkers.
Our constructions all follow the same general plan. (See
figure 1.) Given a boolean formula in conjunctive form, we
2An antirectangle is a set of points, no two of which are contained
in a common rectangle.
3A polygon is in general posttion if no three vertices are colinear
An orthogonal polygon is in general position if no three vertices fall on
the same horizontal or vertical line.
be extended through the mouth indefinitely far in one of the
directions indicated. Thus, the polygon covering the mouth
region acts as a switch, selecting one of the two beams to
‘turn on’. In addition, the angle between the beams and
the width of the beams can be adjusted, and the beams
can be ‘focused’ if desired. The key idea is that there is no
set of four polygons that can cover the interior of the beam
machine and at the same time cover (portions of) targets
at the other ends of both beams. Either one of the two
possible beams can be turned on, but not both.
A variable generator is shown in figure 3. Using the same
principles as in the beam machine, the variable generator
has a central dent about which the polygon that covers the
mouth pivots to act as a switch. In the generator for variable x, one side of this dent is for instances of the literal z,
and the other side is for instances of 3. Corresponding to
each instance, there is one beam machine (shown schematically, at the top of figure 3) and one ‘beam lock’. A beam
lock is a small region that is not covered by the ‘background’. (The background consists of the polygons that are
required in every covering by maximal convex polygons.)
The beam machine for each instance of a literal has one
of its beams aimed at its beam lock and the other aimed at
the clause checker for the clause that contains this instance.
The beam locks are located in such a way that the ‘switching’ polygon that covers the mouth of the variable generator
can cover either all of the beam locks for instances of z or
all of the beam locks for instances of %. But if even one
of the beam locks for z is covered, then none of the beam
locks for % can be covered, and conversely. Each beam lock
that is not covered in this way must then be covered by the
beam from the beam machine that is aimed at it. In this
case, the other beam from that beam machine is not free to
shine on the clause checker. Conversely, when a beam lock
is covered by the ‘switching’ polygon, no beam is required
to cover it, so the other beam from the corresponding beam
machine is free to shine on the clause checker.
This is shown in figure 3, where the switch is set to make
x false. Beams that are shown in black are ‘on’, and ‘off’
beams are shown shaded. In this example, all of the clauses
containing % are satisfied, since the beams representing instances of % are all on.
The beam locks sit on small indentations along the sides
of the variable generator, near point C (and also on the
opposite side) in figure 3. They are shown in detail in
figure 4. Each of the points marked by an asterisk in figure 4
must be covered by a separate convex polygon. When all
of these points are covered by maximal convex polygons
(the background), the small shaded regions at the top of
the indentations and a region in the mouth of the variable
remain uncovered. The mouth region is covered by the
‘switching’ polygon, and the small shaded regions are the
beam locks, which are covered as described above.
In this non-orthogonal case, the ‘beam redirection mechanism’ indicated in figure 1 consists of the beam machines
that are part of the variable generators (figure 3) plus a
create a beam for each instance of a literal in the formula.
For each variable x, we use a variable generator to guarantee that either all beams representing z are on and all
beams representing a: are off, or the reverse. The beams
then pass through a “beam redirection mechanism”, where
each beam is guided from its variable generator to its clause
checker. Each clause checker contains a region that is not
covered unless at least one of the beams directed at it is
on. The polygon we construct in this way is coverable by
a certain known number of polygons if and only if there is
a setting of the variable generators such that each clause
checker has at least one beam directed at it. This is in turn
true if and only if the given boolean formula is satisfiable.
In the general case, beams can be directed in arbitrary
directions and can cross without interference, so one beam
machine suffices to transmit each signal from its variable
generator to its clause checker. In the rectangle covering
case, however, beams can only be directed parallel to one
of the coordinate axes. Since the variable generators create
all instances of a variable and its complement on adjacent
beams, while literals occur in clauses in arbitrary order,
we need to have a way of reordering a collection of parallel beams from the order in which they are generated to
the order in which they are needed by the clause checkers.
This amounts to sorting the beams, which we implement
by a kind of insertion sort, using O ( n ) stages with O ( n )
beam machines at each stage, where n is the number of
occurrences of literals in the given formula.
In the following sections, we make liberal use of diagrams
to describe the details of these constructions, first for the
non-orthogonal case, and then for the case of rectangle covering of orthogonal polygons. We conclude with a very brief
sketch of the modifications required for our constructions
to work for polygons in general position, and discuss the
remaining open problems in the area of polygon covering.
2
Arbitrary Polygons
The beam machine for the non-orthogonal case is shown in
figure 2. To minimally cover this structure, we first need
two polygons to cover the points A and A’. The maximal
convex polygons covering these two points are unique, and
leave the shaded areas uncovered. N o convex polygon can
cover any portion of both of the small triangular shaded
regions at B and B‘, so at least two more convex polygons
are required. In addition, the larger shaded region can
only be covered by a polygon that does not extend beyond
the mouth of the device farther than is indicated in the
diagram. The mouth is the opening from the beam machine
into the rest of the polygon, shown at the bottom of the
diagram. A single convex polygon can cover the mouth
region as well as either one of the small triangular regions,
however, meaning that the entire machine requires at most
and at least four covering polygons.
The fourth polygon, covering the remaining triangle, can
602
somewhat more complex. Again we use beam machines, as
illustrated in figure 7. It is easily seen that five rectangles
and one ‘beam’ are sufficient and necessary to cover one of
these beam machines as illustrated. More precisely, we call
either of the two extendible rectangles that can be used
to cover the beam machine a beam. We say the beam is
on if the covering configuration uses the rectangle, and off
otherwise.
Because the beams emitted from the beam machines
must occur in one of the orthogonal directions, it is frequently necessary to redirect the beams. This can be done
using sequences of beam machines that are aligned so that
a beam from one machine exactly coincides with one from
the next machine. The sequence of beams is called a beam
line. When a beam machine is used in this way to relay
a signal, a beam that is on on one side of the beam machine, is turned off on the other side, and vice versa. A
second such machine converts the signal back again, and
so sequences of beam machines can be made to transmit a
signal. Notice that the b e a m are shared between two adjacent beam machines. In a beam line consisting of several
segments, either the beams in all of the horizontal segments
will be on and the vertical beams will be off, or the reverse.
In the variable generator (See figures 10 and ll.), all
beams must exit through the mouth in parallel. In order
to have beams for I and 3 parallel to one another, we need
an inverter (as shown in figure 8), which inverts a beam
without turning it 90’. When coupled with a beam machine
as in figure 9, this gives a non-inverting corner, a beam
relaying device in which the beams are either both on or
both off.
The variable generator as shown in figure 10 is very similar in plan to the variable generator for the non-orthogonal
case. The device is divided into two halves, one for instances of the uncomplemented variable I, and one for instances of $. Corresponding to each instance there is one
beam lock and one beam machine to redirect the signal
from the beam lock out through the mouth of the device.
But rather than switching the beam locks with a single
switching polygon, we use one non-inverting corner and one
beam machine to insure that either all beam locks for instances of I or all beam locks for instances of % remain
uncovered.
In addition, several background rectangles are required to
complete the cover of the interior of the variable generator.
These are shown in figure 11, where each background rectangle is defined by the asterisk in it. Note that each of the
asterisks is invisible to all of the others, to all of the beam
locks, and to the interiors of all of the beam machines. (In
the terminology of [2], this is called an antirectangle.) All
of these rectangles are therefore required in any minimum
cover. As shown in figure 11, the only areas that remain
uncovered by the background are the interiors of the beam
machines and the beam locks, which show up as small white
squares along the sides of the figure.
A clause checker for 3-literal clauses is shown in figure 12.
single large convex region. This is shown schematically
in figure 5, where the variable generators (which are not
shown) are arranged along the top, and the clause checkers
are along the bottom. One convex polygon is necessary and
sufficient to cover this central region. The clause checkers
axe simply small bumps along the bottom edge that cannot
be covered by this convex polygon. They are shown in detail in figure 6. Each such bump is covered if at least one of
the beams directed at it from a literal is on, but it cannot
be covered otherwise.
To cover this entire polygon with convex polygons, we
require at least four polygons for each beam machine, one
for each of the asterisks in figure 4 (each of which is associated with a beam lock), one for the mouth of each variable
generator (the ‘switch’), and one for the large central area.
Thus, if the given set of clauses has w different variables
and l occurrences of literals, then at least 51 w 1 covering polygons are required. Furthermore, this number is
sufficient if and only if there is a setting of the variables
that allows at least one beam to be directed at each clause
checker. This is in turn true if and only if the given set of
clauses is satisfiable. The mapping from instances of SAT is
obvious, and construction can be done in polynomial time.
And so we have the following.
+ +
Theorem 2.1 The problem of obtaining a minimum convez covering for an arbitrary polygon without holes i s NPhard.
We observe that in a minimum covering of the polygon
that we have constructed, every polygon uniquely covers
some portion of the boundary. In particular, the focus of
the beams is unchanged if we only require the boundary
of the polygon to be covered. Thus, our construction also
establishes the following.
Theorem 2.2 The problem of obtaining a minimum set
of convez polygons to cover the boundary of an arbitrary
polygon without holes i s NP-hard.
We note that our constructions can easily be made to
apply to polygons required to be in general position. All
that is required is to convert all of the instances where a
polygon exactly matches a boundary in multiple segments
into slightly convex regions. For example, the switch point
in the beam machine can be raised slightly so that it is no
longer precisely in line with the edges from A and A’, at
the same time adjusting the triangles at B and B’, without
affecting its properties.
3
Covering Orthogonal Polygons
with Rectangles
The construction for covering orthogonal polygons with
rectangles is similar to that for arbitrary polygons, but is
603
In the upper left part of the figure, the points marked
with asterisks constitute an antirectangle of size 7, and the
points marked with circles constitute an aafirectangle of
size 6. The device therefore requires 6 background rectangles (to cover the eircles) plus ak kast one beam (to cover
the remaining asterisk). Any one of the three beams will
s d c e to complete the covering, as shown in the other three
parts of figure 12, and the 6 background rectangk are still
required even if more than one beam is on. It is easy to
see how to generahe this construction far clauses containing any number of literals. In figure 13 checkers for clauses
u8w and %yz are shown along with the beam machines directed at them. In this example, both clauses are satisfied,
because beams representing V, 2, and y are all on.
Between the variable generators and the clause checkers,
we need to reorder the beams. We refer to the portion of
the total construction outside the variables up to the clause
checkers as the beam path. This is shown schematicany in
figure 14,where the beam path is shown to take a number
of 90" turns on its way from the variable generators to the
clause checkers. A sequence of three of these t u n a i s needed
to insert each beam into its proper place in the beam path.
It is useful here t o think of the beam lines as aceurring in
'beam space' and that the rest of the covering rectangles
are background covering along the beam path. It daes not
seem to be possible to reorder the beam linea if we insist
that the signals be retained in beam space.
It is possible, however, to switch any one beam line from
one position to another using the background rectangles,
as illustrated in +e
15 and figure 16. This litae swifeh
consists of two sets of facing beam machines which cause
the beam lines to make a pair of tums, leaving the fins1
orientation of the lines unchanged. One beam entering the
switch region (given a darker shading in the diagram) does
not align with another beam machine, hut rather covers a
small notch in the boundary. The conhinuation also begins
with a notch aligned with a beam machine on the other
side. There is one more beam mouth and/or notch to be
covered by background rectangles on the h t set of beam
machines than on the second. These are arranged so that
placing one rectangle in each mouth or notch in the smaller
set can cover all but one of the two notches aligned with
beam machines. If either one of the beams is an, it can
cover the corresponding notch, and then no other covering
rectangles are required.
We cannot switch two beam lines within one such switch
region. The probIem is that we have let our signal leak into
the background cover, and if we place two switches in the
one pair of tums, it can short-circuit from one beam line
to the other.
To prevent the background from being used to shortcircuit from one line switch to another, we follow each line
switch with a noise filter as illustrated in figure 17. The
idea is that the inside staircase provides sufficient required
rectangles to cover all of the beam machine mouths. However, these rectangles cannot cover the region in the beam
path either before or after the
.
F'urbhernrore, aside
from the s&ipalstransmitted on the beam W, it d o e not
matter how the region is covered b e h e the tum in determining e, minimcover after tbe turn. We use another
Raise 6ker i d t e l y hllowing the set of variables, so
that the mouth covers of the uariables cmr" Intedere with
the counting of bzlckgramd covem in bhe line switches.
Ifthere are t literals, we need at most 1 1 line switches
to sort the beam lines into any oder. The entire beam
path thus requires at most 31(1- 1) beam machines and
a comparable number of background rectangles. Thus,our
caastruction r e m a b polynomial, and we can determine the
exact number afcowrisg rectangles required if the given set
of clauses is satisfiable.
We have now illustrated the construction wcessmy to
show the foltowing.
-
Theayem 3.1 The prablem of finding a minimum recteng h covering for (E given orthogonal polygon without holes is
NP-Letd.
The instance of the rectangle covering problem that we
have constructed depends cu1 the pxecke alignment of the
beams between consecutive beam machim dong a beam
line, and on alignment ofthe beam locks Within the variable
generator, so it is not in general position. Furthermore, if
only the boundary is to be covered, rather than the whole
interior, the beam machine in figure 1 c m be given a d n imum cover while both beams are on. (An intefior region
that does not touch the boundary gets missed.) Using the
modified beam machine in figure 18 and the beam sp&ter
shown in figure '19, both of these problems can be overcome.
Every minimum covering of the boundary of these machines
&o covers the interior, and beams between machines can
be slightly offset, so that the entire construction can be
made to be in general position. Space limitations prevent
us from explaining in detail how these machines work and
how they are combined in the overall construction.
These modifications lead to our final result.
Theorem 3.2 The problem of finding a mintmum set of
rectangles to cover Me Boundary of an orthogonal polygon
without holes is HF-hard.
4
Conclusion
We have shown that minimum convex and rectangle covering of the interior or the boundary are NP-hard problems,
even when the given polygon is required to contain no holes
and be in general position. From dent diagram analysis [7],
we know that there is always a minimum rectangle covering
that is aligned with the grid defined by the vertices of the
given polygon. This places the rectangle covering problems
in NP, so they are actually NP-complete. We know of no
analog to the 'alignment property' of 171 for general convex covering, however, so we are unable to show that this
problem is in NP.
A closely related problem that hw received attention in
the literature is the problem ~f covering orthogonal polygons with orthogonally
dygons [12,6]. We have
been unable to construc
machine with the necessary propeE.ties for this case. In the rectangle construction,
the beams are symmetric
eqd to end, and they are
focused so that they can coves exactly one s m l l region at
each end. These joint properties do not seem t o be powible
where orthogonally convex covers we concerned. Keil [12]
showed that covering horizonha& convex orthogonal polytime. In
gons with. Orthogonal stars ctm be done in O(n2)
the light of the dual nsture between &ar coverings and convex coverings [7], we conjecture thpt covering unrestricted
orthogonal polygons (without holes) with orthogonal stars
is also NP-comgbte, bqt again, there seems to be some difficulty in getting beam machinw t o work. We also note
that Motwani et a1 [18] have shown that orthogonal polygons without holes can be optimally covered by “s-stars”
in polynomial time. ShQwing NP-completeness in either
remaining case will therefore r q ~ ae new approach to
transmitting information across the polygon.
[7] J. Culberson and I$. A. Reckhow. A unified. approach
to orthogonal polygon csvering problems via dewt dia g r w . 1988, submitted for publication.
[8]
D. S. Franzblau a,nd D. J. Kleitman. An algorithn
for construcfing regions with rectangles: ipdependence
and minimum generating sets for colIections of intervals. In Proc. 16th Ann. ACM Symp. Theory of
Comp., pages 167-174, Apr. 1984.
Computers
[91 M. R. Garey and D. S. Johpson.
snd Intractability: A Guide to the Theory of MPCompleteness. W. H. Freeman & CQ., 1979.
[lo] J. M. Keil.
Decomposing a polygon into simpler compQl&?lltS. SIAM J . Comput., 14(4);799+817, 1985.
[ll] J. M. Keil. Decomposing Polygons into Simpler Components. PhD thesis, Univ. of Toronto Dept. of Comp.
Sci., 1983.
[12] J. M. Keil. Minimally covering a horizontally convex
orthogonal polygon. In Proc. 2nd Ann. Symp. Comp.
Geom.,pages 43-51, June 1986.
Acknowledgements
[13] J. M. Keil and J. R. Sack. Minimum decompositions
of polygonal objects In G. T. Toussaint, editor, ComputGtiuna1 Geometry, North-Holland Publishing CO.,
1983.
This research was supported by the Natural Sciences and
Engineering Research Council of Canada and by the University of Alberta Central Research Fund.
[14] A. LingW. The power of non-rectilinear holes. In 9th
Ihk. colloq. Autom. 6ang. Prog., 1982.
References
[15] W. Lipski, E. Lodi, F. Luccio, C. Mugnai, and L. Pagli.
On two dimensional data organization ii. Fund. Inform., 2:245-260, 1979.
[l] A. Aggarwal, The Art Gallery Theorem: Its Variations, Applications and Algorithmic Aspects. PhD thesis, Johns Hopkins U., Dept. Elect. Engin. & Comp.
Sci., 1984.
[16] A. Lubiw. Orderings and Some Combinatorial Optimization Problems with Geometric Applications. PhD
thesis, Univ. of Toronto, 1985.
[Z] S. Chaiken, D. J. Klbitman, M. Saks, and J. Shearer.
Covering regions by rectangles. SIAM J. Algebraic
Discrete Methods, 2(4):394-410, Dec. 1981.
[17] W. J. Masek. Some NP-complete set covering problems. Aug. 1979. unpublished manuscript.
[3] B. Chazelle. Computational Geometry and Conveszty. PhD thesis, Carnegie-Mellon Univ. Dept. Comput. Sci., July 1980.
[18] R. Motwani, A. Raghunathan, and H. Saran. Covering orthogonal polygons with star polygons: the perfect graph approach. In PTOC.4th Ann. Symp. Comp.
Geom., pages 211-223, June 1988.
[4] B. Chazelle and D. Dobkin. Decomposing a polygon
into its convex parts. In PTOC.1Ith Ann. ACM Symp.
Theory of Comp., pages 38-48, 1979.
[19] T. Ohtsuki, M. Sato, M. Tachibana, and S. Torii. Minimum paztitioning of rectilinear regions. Trans. Inform. Proc. Soc. of Japan, 1983.
[5] H. E. Conn aind J. O’Rourke. Some restricted rectangle covering problems. 1987. submitted for publication.
[20] J. O’Rourke and K. J. Supowit. Some NP-hard
polygon decomposition problems. IEEE Trans. Inf.
Theor., IT-29(2):181-190, 1983.
[6] J. Culberson and R. A. Reckhow. Orthogonally convex coverings of orthogonal polygons without holes. J.
, Comput. Syst. Sci., 2988. to appear.
605
Variable Generators
Clause Checkers
Figure 1. Schematic Picture of the Polygon Construction
B
Figure 2. Beam Machine
Figure 3. Variable Generator
606
Figure 5. Showing Multi-Variable System
Where Each Swath Represents The Set
Of Beams from One Variable
Figure 6. Clause Checkers Showing 3 Beams in One
The Two Minimal Covers Exhibiting Beams
Rectangle Beam Machine
Figure 7.
607
2-Clawe Checker or
hvemer
Two MioW a v e r s Using One, &am
Figure 8.
Non-invertiog Corner
Turns beam 9ooand
Maintains Signal
The two
Figure 9;
coverings
Figure 13.
Two Clause Checkers
Figure 12.
Clause Checkers for
3-clauses
Figure 14.
The Beam Path
Figure 15.
Line Switch
610
61 I