Covering Polygons is Mad - UCSD VLSI CAD Laboratoryvlsicad.ucsd.edu/ILT/ref/CulbersonR88.pdf ·...

11
Covering Polygons is Mad Preliminary Abstract So.93ph C. Cdbberson Robert A. bckhow Deipartment of Comp Science, Univemity of Alberta &mil: jo&alberta.olucp and [email protected]. @&"%on, Alberta, Cmada T6G 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 prac- tical applications [12,20] and have received considerable attention from a theoretical perspective. O'Rourke and Supowit [20] showed that the problems of covering' poly- gons with the minimum number of convex polygons, star- shaped polygons or spiral polygons are all NP-hard, but their constructions required the polygons to have holes. Ag- garwal [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 cover- ing the boundary and covering the notches (i.e. the reflex angles) are NP-hard, but covering the corners (i.e. the con- vex 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 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 re- sult 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 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 sus- pect that the corresponding covering problems would also be tractable for polygons without holes. In this paper we show that the problems of finding a min- imum 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 inte- rior) of the given polygon, and our results apply to polygons in general p~sition.~ In each case, we reduce the SATISFI- ABILITY 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. known as poiygas. 0272-5428/88/0000/0601$01.00 0 1988 EEE

Transcript of Covering Polygons is Mad - UCSD VLSI CAD Laboratoryvlsicad.ucsd.edu/ILT/ref/CulbersonR88.pdf ·...

Covering Polygons is Mad Preliminary Abstract

So.93ph C. Cdbberson Robert A. bckhow

Deipartment of Comp Science, Univemity of Alberta

&mil: jo&alberta.olucp and [email protected]. @&"%on, Alberta, Cmada T6G

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 prac- tical applications [12,20] and have received considerable attention from a theoretical perspective. O'Rourke and Supowit [20] showed that the problems of covering' poly- gons with the minimum number of convex polygons, star- shaped polygons or spiral polygons are all NP-hard, but their constructions required the polygons to have holes. Ag- garwal [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 cover- ing the boundary and covering the notches (i.e. the reflex angles) are NP-hard, but covering the corners (i.e. the con- vex 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

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 re- sult 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

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 sus- pect that the corresponding covering problems would also be tractable for polygons without holes.

In this paper we show that the problems of finding a min- imum 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 inte- rior) of the given polygon, and our results apply to polygons in general p~s i t i on .~ In each case, we reduce the SATISFI- ABILITY 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.

known as poiygas.

0272-5428/88/0000/0601$01.00 0 1988 EEE

create a beam for each instance of a literal in the formula. For each variable x, we use a variable generator to guar- antee 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 paral- lel 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 cov- ering 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. No 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

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 vari- able 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 schemat- ically, at the top of figure 3) and one ‘beam lock’. A beam lock is a small region that is not covered by the ‘back- ground’. (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 ‘switch- ing’ 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 in- stances 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 mech- anism’ indicated in figure 1 consists of the beam machines that are part of the variable generators (figure 3) plus a

602

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 de- tail 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 associ- ated 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 cov- ering 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 con- vez covering for an arbitrary polygon without holes i s NP- hard.

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

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 fre- quently 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 ma- chine, 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 beam are shared between two ad- jacent 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 simi- lar in plan to the variable generator for the non-orthogonal case. The device is divided into two halves, one for in- stances of the uncomplemented variable I, and one for in- stances 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 in- stances 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 rect- angle 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.

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 rectan- gles (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 contain- ing any number of literals. In figure 13 checkers for clauses u8w and %yz are shown along with the beam machines di- rected 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 tuna i s needed to insert each beam into its proper place in the beam path. It is useful here to 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 short- circuit 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. How- ever, these rectangles cannot cover the region in the beam

path either before or after the . F'urbhernrore, aside from the s&ipals transmitted on the beam W, it doe not matter how the region is covered b e h e the tum in deter- mining e, minim- cover 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. If there 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 emab 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 recten- g 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 of the 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 cover- ing 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 con- vex 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 poly- gons with orthogonally dygons [12,6]. We have been unable to construc machine with the neces- sary 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 to be powible where orthogonally convex covers we concerned. Keil [12] showed that covering horizonha& convex orthogonal poly- gons with. Orthogonal stars ctm be done in O(n2) time. In the light of the dual nsture between &ar coverings and con- vex 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 dif- ficulty in getting beam machinw to work. We also note that Motwani et a1 [18] have shown that orthogonal poly- gons without holes can be optimally covered by “s-stars” in polynomial time. ShQwing NP-completeness in either remaining case will therefore r q ~ e a new approach to transmitting information across the polygon.

Acknowledgements This research was supported by the Natural Sciences and Engineering Research Council of Canada and by the Uni- versity of Alberta Central Research Fund.

References [l] A. Aggarwal, The Art Gallery Theorem: Its Varia-

tions, Applications and Algorithmic Aspects. PhD the- sis, Johns Hopkins U., Dept. Elect. Engin. & Comp. Sci., 1984.

[Z] S. Chaiken, D. J. Klbitman, M. Saks, and J. Shearer. SIAM J. Algebraic Covering regions by rectangles.

Discrete Methods, 2(4):394-410, Dec. 1981.

[3] B. Chazelle. Computational Geometry and Conves- zty. PhD thesis, Carnegie-Mellon Univ. Dept. Com- put. Sci., July 1980.

[4] B. Chazelle and D. Dobkin. Decomposing a polygon into its convex parts. In PTOC. 1 Ith Ann. ACM Symp. Theory of Comp., pages 38-48, 1979.

[5] H. E. Conn aind J. O’Rourke. Some restricted rectan- gle covering problems. 1987. submitted for publica- tion.

[6] J. Culberson and R. A. Reckhow. Orthogonally con- vex coverings of orthogonal polygons without holes. J.

, Comput. Syst. Sci., 2988. to appear.

[7] J. Culberson and I$. A. Reckhow. A unified. approach to orthogonal polygon csvering problems via dewt di- a 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 in- tervals. In Proc. 16th Ann. ACM Symp. Theory of Comp., pages 167-174, Apr. 1984.

[91 M. R. Garey and D. S. Johpson. Computers snd Intractability: A Guide to the Theory of MP- Completeness. W. H. Freeman & CQ., 1979.

[lo] J. M. Keil. Decomposing a polygon into simpler com- pQl&?lltS. SIAM J . Comput., 14(4);799+817, 1985.

[ll] J. M. Keil. Decomposing Polygons into Simpler Com- ponents. 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.

[13] J. M. Keil and J. R. Sack. Minimum decompositions of polygonal objects In G. T. Toussaint, editor, Com- putGtiuna1 Geometry, North-Holland Publishing CO., 1983.

[14] A. LingW. The power of non-rectilinear holes. In 9th Ihk. colloq. Autom. 6ang. Prog., 1982.

[15] W. Lipski, E. Lodi, F. Luccio, C. Mugnai, and L. Pagli. On two dimensional data organization ii. Fund. In- form., 2:245-260, 1979.

[16] A. Lubiw. Orderings and Some Combinatorial Opti- mization Problems with Geometric Applications. PhD thesis, Univ. of Toronto, 1985.

[17] W. J. Masek. Some NP-complete set covering prob- lems. Aug. 1979. unpublished manuscript.

[18] R. Motwani, A. Raghunathan, and H. Saran. Cover- ing orthogonal polygons with star polygons: the per- fect graph approach. In PTOC. 4th Ann. Symp. Comp. Geom., pages 211-223, June 1988.

[19] T. Ohtsuki, M. Sato, M. Tachibana, and S. Torii. Min- Trans. In- imum paztitioning of rectilinear regions.

form. Proc. Soc. of Japan, 1983.

[20] J. O’Rourke and K. J. Supowit. polygon decomposition problems. Theor., IT-29(2):181-190, 1983.

Some NP-hard IEEE Trans. Inf.

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

Rectangle Beam Machine The Two Minimal Covers Exhibiting Beams

Figure 7.

607

2-Clawe Checker or hvemer

Non-invertiog Corner Turns beam 9oo and

Maintains Signal

Two MioW avers Using One, &am

Figure 8.

The two coverings

Figure 9;

Figure 13. Two Clause Checkers

Figure 12. Clause Checkers for

3-clauses

Figure 14. The Beam Path

Figure 15. Line Switch

610

61 I