Minimum dissection of a rectilinear polygon with arbitrary holes into rectangles

Discrete & Computational Geometry, Jan 1993

In this paper, the problem of dissecting a plane rectilinear polygon with arbitrary (possibly, degenerate) holes into a minimum number of rectangles is shown to be solvable inO(n3/2 logn) time. This fact disproves a famous assertion about the NP-hardness of the minimum rectangular dissection problem for rectilinear polygons with point holes.

A PDF file should load here. If you do not see its contents the file may be temporarily unavailable at the journal website or you do not have a PDF plug-in installed and enabled in your browser.

Alternatively, you can download the file locally and open with any standalone PDF reader:

https://link.springer.com/content/pdf/10.1007%2FBF02189307.pdf

Minimum dissection of a rectilinear polygon with arbitrary holes into rectangles

DiscreteComputGeom Minimum Dissection of a Rectilinear Polygon with Arbitrary Holes into Rectangles Valeriu Soltan 0 Alexei Gorpinevich 0 0 Instituteof Mathematics,MoldavianAcademyof Sciences , Grosul str 5, Kishinev277028,RepublicaMoldova In this paper, the problem of dissecting a plane rectilinear polygon with arbitrary (possibly, degenerate) holes into a minimum number of rectangles is shown to be solvable in O(n3/2 log n) time. This fact disproves a famous assertion about the NP-hardness of the minimum rectangular dissection problem for rectilinear polygons with point holes. 1. Introduction The following decomposition problem is well studied in computational geometry (see, for instance, [ 1 ], [ 3 ], [ 4 ], and [ 6 ]-[ 9 ]): Given a rectilinear polygon with rectilinear holes, dissect its interior into a minimum number of nonoverlapping rectangles. In the case of nondegenerate holes this problem can be solved in O(n5/2) time, where n is the number of vertices of the polygon (see [ 1 ], [ 4 ], and [ 6 ]). Lipski [ 7 ], [ 8 ] and Imai and Asano [ 3 ] gave O(n312 log n) algorithms for this minimum dissection problem. Both algorithms make use of the bipartite intersection graph of a set of vertical and horizontal line segments. If the holes of a rectilinear polygon can degenerate into points, the minimum dissection problem is asserted to be NP-hard [ 5 ]. Nevertheless, we prove below the solvability of this problem in O(n3/2 log n) time in the case of arbitrary (possibly, degenerate) holes. In this way, we adapt the respective techniques developed in [ 3 ], [ 4 ], and [ 6 ]-[ 8 ], which breaks down in the case of degenerate holes. 2. Description of Rectilinear Polygons Let p be a (possibly, multiply connected) bounded polygonal region in the Coordinate plane E. The topological boundary bd P of P is assumed to be the v. Soitan and A. Gorpinevich union of a finite number of simple rectilinear contours. A polygonal contour is called rectilinear provided all of its line segments are either horizontal or vertical. We assume that any two of these contours will be situated either one inside the other or mutually noninclusive, that they will have common vertices but no common line segments, and that they are not interlaced. As usual, a point x e E is called interior for P provided it is contained inside an odd number of simple contours determining bd P. All interior points of P form the topological interior int P. Inside P a finite family of c l o s e d line segments s 1. . . . . s, (either horizontal or vertical), and a finite family of isolated points v l , . . . , vt, may be situated such that the following conditions are fulfilled: (1) vI. . . . . vt belong to int P \ ( s l u . " w s~); (2) the interior of each segment si is contained in int P; (3) if segments s i, sj have a common point, then it is a vertex for both si, sj. The point-set union of these points and segments is called the o r n a m e n t of P, and denoted by Or P. In order to consider the degenerate holes, we introduce a nonstandard topology in the plane E. Since the description of the respective constructions is sometimes rather formal, we use some illustrative examples. The first of them is shown in Fig. 1. Example. F o r rectilinear polygon B, represented in Fig. 1, bd B is the union of four rectilinear contours [ 1, 3, 10, 11, 24, 23, 32, 30, 1 ], [ 4, 5, 13, 12, 4 ], [ 9, 10, 23, 22, 9 ], and [16, 17, 26, 25, 16]. We have Or B = {21} u {29} u [ 2, 7 ] w [ 6, 7 ] u [ 7, 8 ] u [7, 14] u [15, 20] u [18, 19] u [18, 27] w [19, 28] u [25, 31] u [27, 28]. Since the segments of contour [18, 19, 28, 27, 18] are defined to be in Or P, the interior of rectangle [18, 19, 28, 27] belongs to int B. 3 = ~1 "~il 13o 13t 1 6 1 " ' " ' J l v l a l I I ........... I ,,J19 z2 - ~ / / / , z / / / / ' / / / / , / , , z / / / ' / / , / , / Definition 1. The sets Bd P := Or P u bd P, Int P..= P \ B d P are called, respectively, the formal boundary and the formal interior of P. Any bounded connected component of E~Int P is named a formal hole of P, and the unbounded connected component of E~Int P is called the formal exterior of P. We write Ext P for the formal exterior of P. From the definitions above, it follows that Bd P, Ext P, and any formal hole of P are closed sets, while lnt P is open. As usual, a topolo#ical hole of P is defined to be a bounded connected component of E~P. Observe that topological holes are independent of the choice of Or P. Example. Polygon B in Fig. 1 has five formal holes: points 21 and 29, segment [t5, 20], rectilinear contour [18, 19, 28, 27, 18], and rectangle [ 4, 5, 13, 12 ]. Rectangle [16, 17, 26, 25] is not a formal hole of B, because it is connected with the exterior of B by segment [25, 31]. B has three topological holes, namely, the interiors of rectangles I-4,5, 13, 12], [ 9, 10, 23, 22 ], and [16, 17, 26, 25]. Now we are able to define the dissection of P into rectangles. Definition 2. A rectilinear polygon P is said to be dissected into rectangles R 1 ..... Rq if and only if q q U int Ri c Int P c U Ri, int r~c~int Ri = ~5 i=1 i=1 for i :# j. In other words, nonoverlapping rectangles RI . . . . . Rq dissect P if their union coincides with P and the formal boundary Bd P belongs to the union of R 1. . . . . R~ boundaries. Example. A dissection into rectangles of rectilinear polygon B from Fig. 1 is shown in Fig. 2. We continue the description of rectilinear polygons. Definition 3. A point w is called a vertex of P in any one of the following cases: (1) w is a vertex of a contour forming bd P; (2) w is a vertex of a segment st forming Or P; (3) w is one of the isolated points v~ in Or P. The set of all vertices of P is denoted by V(P). V. Soltan and A, Gorpinevich / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / , , ~ . t I ~I ~I 1? , / ~ I ! i i I I I...................... 1.................. t ~ / / / / ~ 1 ~ i,~ I~III/f111 I//. HNNHNN HNNN NHHNNHHNH Definition 4. A closed line segment [x, z], x # z, is called an elementary segment of Bd P if l'x, z] c Bd P and l,x, z] c~ V(P) = {x, z}. The set of all elementary segments of Bd P is denoted by S(P). Example. Polygon B in Fig. 1 has 32 vertices and 32 elementary segments. Note that l,I, 3] and [30, 32] are not elementary segments of Bd B, because they contain, respectively, vertices 2 and 31 in their interiors. From the definitions, it follows that a common point of elementary segments t~, ti ~ S(P) is a vertex for both segments. Observation 1. A rectilinear polygon P is considered to be determined if the sets int P, Bd P, and V(P) are known. It is easily seen that Bd P and V(P) uniquely determine S(P). Measure of Local Nonconvexity Any vertex v (if it is not an isolated point in Bd P) is the apex of at least one nonempty inner angle of P. Every inner angle of P with the apex v is bounded by two elementary segments of the form [u, v], I-v,w], and contains no other inner angle with the apex v. We allow the sides of an inner angle to coincide (in this case, the size of the angle equals 2re). Obviously, any inner angle of a rectilinear polygon is of size 7rk/2, k = t, 2, 3, 4. Inner angles of size 3n/2 or 2re are called concave. Definition 5. A vertex v of P is called a point o f local nonconvexity of P provided it is either an isolated point in Bd P or the apex of a concave inner angle of P; otherwise, v is called a point of local convexity of P. Example. In Fig. 1, vertex 7 is the apex of four inner angles; each of the vertices 2, 10, 18, 19, 23, 27, 28, and 31 is the apex of two inner angles; each of the vertices Minimum Dissectionof a RectilinearPolygon with Arbitrary Holes into Rectangles 6, 8, 14, 15, and 20 is the apex of an inner angle of size 2re. Vertices 4-6, 8, 9, t2-22, and 26-29 are points of local nonconvexity for B. Definition 6. The measure m(v) (of local nonconvexity) of a rectilinear polygon P at a vertex is defined as follows: re(v) = 0 if v is a point of local convexity of P; re(v) = 1 if v is a point of local nonconvexity but not an isolated point in Bd P; re(v) = 2 if v is an isolated point in Bd P. Let m(P) := ~ re(v), where the sum is taken over the set V(P) of all vertices of P. The number re(P) is called the measure (of local nonconvexity) of P. Example. In Fig. 1, the measure of B at each of the vertices 21, and 29 equals two, at each of the vertices 4-6, 8, 9, 12-20, 22, and 26-28 is equal to one, and at any other vertex it equals zero. Thus re(B) = 22. We now state two simple lemmas that will be of use later. Lemma 1. Any formal hole o f a rectilinear polygon P contains at least one vertex of local nonconvexity o f P. Proof. Let H by any formal hole of P. It is easily seen that any vertex v of H having the m a x i m u m sum X + Y o f its Cartesian coordinates (X, Y) is a vertex of the local nonconvexity of P. [] Lemma 2. A rectilinear polygone P has no point o f local nonconvexity if and only if each component o f l n t P is an open rectangle; i.e.,/fBd P divides P into rectangles. Proof. A rectilinear polygone P has no point of local nonconvexity if and only if Bd P contains no isolated point and each inner angle of P is of size rt or rr/2. Now, the assertion of L e m m a 2 readily follows. [ ] 4. Effective Chords Further we shall see that the following line segments are of significant importance in any dissection of a rectilinear polygon into a minimum n u m b e r of rectangles. Definition 7. A line segment [v, w] is called an effective chord of P if the following conditions are fulfilled: (1) [v, w] is either horizontal or vertical; (2) the open interval ]v, wl- with the exception of a finite (possibly, empty) set of points is contained in Int P; (3) v, w are vertices of local nonconvexity of P and each of them is either an isolated point in Bd P or a vertex of an elementary segment of Bd P collinear to [v, w]; (4) ifa point x ~ Bd P belongs to ]v, w[, then x is a vertex of a unique elementary segment of Bd P orthogonal to [v, w]. Example. Polygon C (see Fig. 3) with the ornament Or C = [ 1, 2 ] u [ 3 , 4 ] u [ 7, 8 ] w [ 1 2 , 1 3 ] u {5} u {10} u {11} has the following effective chords: [2, 12], [ 4, 5 ], [ 5, 10 ], [ 6, 7 ], [ 9, 10 ], and [ 10, 11 ]. From Definition 7, it follows: Observation 2. Any two different effective chords of P have at most one common point. Any proper part of an effective chord cannot be an effective chord. Definition 8. A family of effective chords of a rectilinear polygon P is called admissible if any two mutually orthogonal chords of this family have no common point. The maximum number of effective chords forming an admissible family for P is named the effective number of P and is denoted by e(P). Example. Polygon C in Fig. 3 has three maximal admissible families of effective chords: {[ 2, 12 ], [ 5, 10 ]}, {[2, 12], [ 4, 5 ], [ 9, 10 ], [t0, 11]}, and {[ 4, 5 ], 1,6,7], C = " / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Fig. 3. Effective chords of a rectilinear polygon. Minimum Dissectionof a RectilinearPolygonwith ArbitraryHolesinto Rectangles [ 9, 10 ], [ 10, 11 ]}. Thus e(C) = 4, and a maximal admissible family need not be a maximum admissible family. Observation 3. If two effective chords of an admissible family for P have a common vertex, then these two chords are collinear and their common vertex is an isolated point in Bd P. 5. Additionof Segments to Formal Boundary Any dissection of a rectilinear polygon into rectangles can be considered as a repeated addition of some closed line segments to the formal boundary of the polygon. In this section, we study some auxiliary results regarding this addition. Let [x, z] c P be a closed line segment (either horizontal or vertical) such that the intersection of Ix, z] with Bd P is a finite (possibly, empty) set. We can say that the polygon P' is obtained from P by the addition of Ix, z] to Bd P provided: (1) Bd P ' : = B d P w [ x , z ] ; (2) Int P' := lnt P \ [ x , z]; (3) V(P'):= V(P) w {x, z} w (Or P c~ Ix, z]). Observation 4. Segment [x, z], added to Bd P, is not, in general, an elementary segment of Bd P'; it is, however, a union of elementary segments of Bd P'. We say that the addition of a segment [x, z] c P to Bd P decreases by one the measure m(z) of P at a vertex z ~ V(P) if m'(z) = re(z) - 1, where m'(z) means the measure of P' at z. Example. In Fig. 3, the addition of segment I-2, 12] to Bd C decreases by one the measure of C at each of the vertices 2, 7, and 12, while the addition of segment [ 11, 12 ] to Bd C decreases the measure by one at only vertex 11. Lemma 3. L e t P' be a polygon obtained f r o m P by the addition to Bd P o f a segment [x, w ] c P such that w ~ V(P). Then m ( w ) - 1 < m'(w) < re(w), where m'(w) denotes the measure o f P' at w. Proof If w is a point of local convexity of P, then trivially re(w) = m'(w) = O. Assume that w is a point of local nonconvexity of P but not an isolated point in Bd P. Then w is the apex of a concave inner angle of P. If [X, w] does not intersect the interior of this angle, then re(w) = m'(w) = 1. Let Ix, w] divide this angle in two inner angles of P'. If one of these new angles is concave, then m(w) = in'(w) = 1. If both new angles are convex, then m(w) - 1 = m'(w) = O. Assume now that w is an isolated point in Bd P. Then w is a vertex of a unique elementary segment I'u, w] e S(P') (obviously, [u, w] lies in Ix, w]). In this situation m ( w ) - 1 = m'(w)= 1. Lemma 4. Let [v, w] be an effective chord o f a rectilinear polygon P, and let x l , . . . , x, be all vertices o f P contained in ]v, w[. ?he addition of [v, w] to Bd P decreases by one the measure o f P at each o f the points v, w, x I . . . . . x,. Proof. Each x~is a vertex of a unique elementary segment, say [x i, zi], orthogonal to [v, w] (see item 4 of Definition 7). In this case, m(x~) = 1 for all i = 1. . . . . r. Denote by P' the polygon obtained from P by the addition of [v, w] to Bd P. Relative to P', each vertex x~ is the apex of three convex inner angles (two of them are of size n/2 and one is of size ~). Hence x~ is a point of local convexity of P' and m'(x~)=O, where m'(xi) denotes the measure of P' at xi. Hence m'(xi) = m ( x i ) -- 1. If v is an isolated point in Bd P, then v is a vertex of a unique elementary segment of the form [v, x J e S(P'). In this situation, m'(v) = m(v) - 1 = 1. Assume that v is not isolated in Bd P. Then v is a vertex of an elementary segment, say [u, v] ~ S(P), which is collinear to [v, w] (see item 2 of Definition 7). In this situation, v is a point of local convexity for P' and m'(v) = m(v) - 1 = 0. Similarly, m'(w) = re(w) - 1. [] We need the following: Definition 9. A line segment [x, z] is called a simple chord of P if the following conditions are fulfilled: (1) Ix, z] is either horizontal or vertical; (2) x, z e B d P; (3) the open interval ]x, z[ is contained in Int P. Observation 5. F r o m Definitions 4 and 9 it follows that if a simple chord Ix, z] of P is added to Bd P, then Ix, z] becomes an elementary segment for the polygon P' such that Bd P' = Bd P w [x, z], Int P' = Int P \ ] x , z[, V(P') = V(P) u {x, z}. I.emma 5. For any vertex v o f local nonconvexity o f a rectilinear polygon P there is a simple chord [v, z] o f P whose addition to Bd P decreases by one the measure re(v). Proof. The vertex v is either an isolated point in Bd P or the apex of some inner concave angle of P. If v is an isolated point in Bd P, then we choose a horizontal segment [v, z] such that z ~ Bd P and ]v, z[ c Int P. The chord [v, z] is simple for P and m'(v) = 1, where m'(v) denotes the measure at v for the polygon F obtained from P by the addition of [v, z] to Bd P. In this case, m'(v) = m(v) - 1 = 1. Assume now that v is the apex of an inner concave angle of P formed by MinimumDissectionof a RectilinearPolygonwith ArbitraryHolesinto Rectangles elementary segments, say [u, vl, [v, w]. Choose the chord Iz, v] such that: (1) [z, v] is collinear to Iv, w], and v ~ ]z, x[; (2) z ~ Bd P and -lz, v[ c Int P. The chord [z, v'l is simple for P and m'(v) = m(v) - 1 = O. 6. Decomposition of Supplementary Ornament Assume that a rectilinear polygon P is dissected into rectangles R I . . . . . Rq (see Definition 2). Denote by L1 . . . . . L~ the boundary contours of R 1 , . . . , Rq, respectively, and put L : = L~ u " - - u Lq. Define W to be set of vertices of R 1. . . . . Rq. Then V(P) u W d i v i d e s the point-set union L of all R1 . . . . . Rq sides into a family 5~ of closed line segments. Therefore, we may consider L as the formal boundary of the rectilinear polygon Po such that Bd Po = L, Int Po = Int P \ L , V(Po) = V ( P ) u W, S(Po) = 5a. Note that P and Po have the same topological boundary and topological interior, and any connected component of Int Po is the interior of some rectangle Ri. As mentioned in Section 5, polygon Po can be obtained from P by the repeated addition of some closed line segments to Bd P. In this section we investigate the inverse approach: to obtain P from Po by the repeated deletion of some open line intervals. In this way, the "supplementary ornament" Y:= L \ B d P will be studied. Lemma 6. The set Y = L \ B d P can be decomposed into pairwise disjoint open line intervals. Proof Denote by Z~ the family of all maximal, with respect to inclusion, open intervals contained in Y. Since Y is itself an open set, we have Y = U {1: I~ £,¢}. Generally speaking, ~ does not satisfy the condition of Lemma 6 because it may contain some elements with nonempty intersection. In order to obtain the desired decomposition, we execute repeatedly the following: Segment splitting procedure. If open intervals ]x, y[, ]z, v[ in £~ have a common point w (in this case, ]x, y[ and ]z, v[ are orthogonal to each other), then put ~ : = (&a\]z, vD w {]z, w[, ]w, v]}. Since £,a is finite, the required decomposition exists. [] Example. Polygon D (see Fig. 4) with the ornament Or D = [ 1, 4 ] u [ 2, 3 ] u [ 5, 8 ] w {6} is dissected into four rectangles. The set Y:= L \ B d D is decomposed into open intervals as follows: Y = ]13, 4[u]4, 5[u]5, 6[u]6, 7[. Let L,e = {l1. . . . . lk} be a decomposition of Y into pairwise disjoint open line intervals, and let li = ]xi, zi[, i = 1. . . . . k. Denote by Pi the rectilinear polygon obtained from Po by deleting 11 u ' " u li from L, i = 1. . . . . k. Generally speaking, the polygon Pk can be different from P because it may contain some new vertices (as vertex 7 of D Ofor polygon D in Fig. 4). At the same ~ / / / / / / / / / / / / / / / / / / / ~ D = 3 , I s 71: / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Z t i m e Bd Pk = Bd P, a n d a n y vertex w ~ V(Pk)\ V(P) is a point o f local convexity for P. T h e r e f o r e m ( P O = m(P). Since the set L i : = L \ ( l i w " " w It) m a y be n o n c l o s e d for 1 _< i < k, the respective o r n a m e n t s of P i . . . . . P k - 1 are n o t well defined (by definition, the o r n a m e n t of a rectilinear p o l y g o n is a u n i o n o f isolated p o i n t s and closed segments). Therefore we c a n n o t directly a p p l y to P~ the n o t i o n o f m e a s u r e of local nonconvexity. Nevertheless, we can a v o i d this o b s t a c l e for vertices o f P (but not for vertices of Pi) in the following way. A set Li c a n be n o n c l o s e d if we delete, t o g e t h e r with s o m e interval lp, p <_ i, an e n d p o i n t of a n interval lq, q > i. Since lq n Bd P = ~ , this deleted vertex cannot be a vertex of Bd P. H e n c e for a n y vertex w in V(P), we can c h o o s e a small square Q (having vertical a n d h o r i z o n t a l sides) with center w such t h a t the intersection o f Q with L i is closed. N o w we define the m e a s u r e m ~ w ) o f P~ at w relative to that p a r t o f Bd P~ which b e l o n g s t o Q. Since the n o t i o n o f m e a s u r e is local, our a p p r o a c h is correct. Definition 10. F o r a n y d e c o m p o s i t i o n of the set Y = L \ B d P into pairwise disjoint o p e n intervals Ii = ] x i , zi[, i = 1. . . . . k, define the numbers/~i(/i), i = 1 , . . . , k, as follows: (I) ~(,(0 = 0 if xl 6 V(P) a n d zl ¢ V(P); (2) #,(li)= mi(xi) - m i - l(xi) if xi ~ V(P) a n d zi ¢ V(P); (3) ~,(l,)= ~ni(zi) - m i - l(zi) if xl + 1I(1)) a n d z i ~ V(P); (4) ~,,(0 = [rni(xi) - m i - l ( x ) ] + [rn~(zi) - m i - l(zi)] if xi ~ V(P) a n d zl ~ V(P); w h e r e mj (w) d e n o t e s the m e a s u r e o f P j at a vertex w ~ V(P). F r o m L e m m a 3, it follows t h a t 0 <_ mi(xi) - m i - l ( x i ) <- 1, 0 < mi(zO - m i - , ( z i ) < 1. Hence, f r o m Definition 10, we o b t a i n Observation 6. (1) 0 < #~(I~)<_ 2 for all i = 1 , . . . , k; (2) #~(t~) < 1 if a t m o s t o n e o f x~, z~ is in V(P); (3) l~(li) = 0 if b o t h vertices xi, zi a r e not in V(P). Observation 7. T h e values/~(l~), i = 1. . . . . k, d e p e n d o n the o r d e r in which the intervals li are considered (see e x a m p l e below). T h e r e m a i n d e r of this section is d e v o t e d to the p r o o f of: Theorem 1. Let LP = {lI . . . . . lk} be a decomposition o f the set Y = L \ B d P into pairwise disjoint open line intervals. The intervals lx . . . . . lk can be renumbered so that 0 < #i(li) < 1 f o r at least k - e of them, where e denotes the effective number of P. Before the p r o o f o f T h e o r e m 1, we illustrate its s t a t e m e n t with the help o f the following example. Example. P o l y g o n D in Fig. 4 has only one effective chord, namely, [ 3, 6 ]. Hence e ( D ) = 1. T h e set Y = L \ B d D is d e c o m p o s e d into o p e n line intervals ]3, 4[, ]4, 5[, ]5, 6[, a n d ]16, 7[. I f we put l~ = ]3, 4[, Iz = ]5, 6[, then # l ( l l ) = / 2 2 ( 1 2 ) = 2, #3(13) = 0, a n d #4(14) = 1. If we r e n u m b e r these intervals as Ii = ]3, 4 [ , then /x1(11) = 2 a n d /22(12) = #3(13) = #4(14) = 1, as required in the s t a t e m e n t o f T h e o r e m 1. Proof o f Theorem 1. An effective c h o r d [v, w] of P is said t o be compatible with p r o v i d e d [v, w ] \ V(P) is a union of s o m e intervals f r o m £#. D e n o t e by o~ = {t 1. . . . . t:} a n admissible family o f effective c h o r d s o f P compatible with LP a n d h a v i n g m a x i m u m cardinality, a n d p u t T : = t 1 u ' . . u t:. Obviously, f _ < e. Let P r be the region o b t a i n e d f r o m P by the a d d i t i o n of T to Bd P; i.e., Bd P r = Bd P u T, I n t P r = Int P \ T , a n d V(Pr) = V(P). Recall t h a t Pi d e n o t e s the rectilinear p o l y g o n o b t a i n e d f r o m Po b y deleting /t ~ " w l i f r o m L, i = 1. . . . . k. First renumberin9. W i t h o u t loss o f generality, we m a y s u p p o s e t h a t the family {It . . . . , lk} is r e n u m b e r e d such that, exactly the intervals 11. . . . . lp, p < k h a v e n o c o m m o n vertex with V(P), a n d all the o t h e r intervals lp+ 1. . . . . Ik are as follows: (1) each o f the intervals Iv+ l . . . . . lq, q < k, has exactly one vertex in V(P); (2) each o f the intervals lq+ l . . . . . s~, s < k, is not c o n t a i n e d in T a n d has b o t h vertices in V(P); (3) each o f the intervals Ix+ 1. . . . . tk is c o n t a i n e d in T; i.e., ls+l u ' " u l k = T \ V ( P ) . O b v i o u s l y , Bd P c Bd P r = Bd P, for all i = 0, 1. . . . , s. D u e to O b s e r v a t i o n 6, P,(/i) = 0 for all i = 1. . . . . p, 1. P u t i = q + l a n d k = 0 . 2. If #i(li) _< 1, then p u t k = 0 and g o to 3, elese go to 4. 3. If i < s, then p u t i = i + 1 a n d go to 2, else exit. 4. I f k < s - i - 1 , then p u t k = k + 1, r e n u m b e r li+ 1, l~+z , ' " , I~, li by the indices i, i + 1. . . . . s - 1, s, respectively, and go to 2, else exit. As a result we o b t a i n a r e n u m b e r e d sequence lq+ 1, . . . . l~ such that: (1) 0 < #~(li) _< 1, i = q + 1. . . . . r, for some n a t u r a l r between q + 1 and s; (2) /s,+ ~(l,+ 1) = 2 for a n y r e n u m b e r i n g of/,+ 1. . . . . /~b y the indices r + 1. . . . . s. W e are g o i n g to p r o v e t h a t the family l,+ 1, - - - , Is is e m p t y ; i.e., the following assertion is valid. L e m m a 7. r = s. P r o o f Suppose, on the c o n t r a r y , t h a t r < s. C h o o s e in the family 1,+ 1. . . . . ls a m a x i m a l s u b f a m i l y ~¢ such t h a t all the intervals of ~¢¢ lie on a c o m m o n line w i t h o u t segment g a p s a n d n o c o m m o n vertex of t w o intervals from Jr' is an i s o l a t e d vertex in Bd PT- W i t h o u t loss of generality, c o n s i d e r this line to be horizontal. After an a p p r o p r i a t e r e n u m b e r i n g o f l, + 1. . . . , ts, we can represent ~1/as the u n i o n of intervals lr+x=]Xr+x, Zr+l[ . . . . . l j = ] X i , Zj[, r + l < j (<_s), such t h a t z i = x i + l , i = r + 1. . . . . j 1 (in the case r + 1 <j~. W e investigate s o m e p r o p e r t i e s of the segment [xr+ 1, zj], which are listed in C l a i m s 1-5 below. C l a i m 1. N o vertical e l e m e n t a r y segment of Bd P, is incident with a point of I , + l w . . . u l s. Indeed, a s s u m e t h a t some vertical e l e m e n t a r y segment m = [v, w] of Bd P0 has its vertex v in l,+ 1 u " " u ls. Since Yc~ Bd P = ~ , v is n o t a vertex of P. Hence m is n o t in Bd P ; i.e., m is c o n t a i n e d in s o m e interval li e £~'. D u e to F i r s t Renumbering, we h a v e i < q. H e n c e m c~ Bd P , = ~ . Claim 2. Each of the vertices x,+t, z,+~ . . . . . zj is incident with at most one vertical elementary segment of Bd P~. Suppose, on the contrary, that xr+ ~ is incident with two vertical elementary segments of Bd P, (points zr+ 1. . . . . z j are handled analogously). In this case, any interior angle of P , + I with the apex x,+ 1 is of size n or rt/2; i.e., x,+l is a point of local convexity for P , + I . Hence m r + l ( x , + l ) = 0 . Similarly, m r ( x , + 1 ) = 0 . By Definition 10, /~,+1(l,+1)< 1, which is in contradiction to the condition /~r+1(/,+1) = 2, by the choice of 1,+1. Claim 3 Each of the vertices z,+ 1. . . . . zj_ ~ (in the case r + 1 < j) is incident with a unique vertical elementary segment of Bd P r . By the choice of ~//, each of z, + 1. . . . . z j_ 1 is not isolated in Bd P r . Hence, for each Zk, k = r + 1. . . . . j - 1, there exists at least one vertical elementary segment of Bd PT whose end is z k. Due to Claim 2, there exists at most one elementary segment of Bd P r whose end is zk. Since Bd P r c Bd Pr, there exists exactly one elementary segment of Bd P, whose end is z k and this segment belongs to Bd P r . Claim 4. Each of x,+ 1, z~ is either an isolated point in Bd P r or a vertex of a horizontal elementary segment of Bd P r . In order to obtain a contradiction, suppose that xr+ 1 is neither an isolated vertex in Bd P r nor a vertex of a horizontal segment of Bd P T (for z~, the consideration is similar). Then x,+ 1 is a vertex of a vertical elementary segment of Bd P r . Due to Claim 2, there is exactly one vertical elementary segment of Bd P r incident with x~+ r If Bd Pr+l were to contain no horizontal elementary segment incident with xr+l, then the deletion of lr+l from B d P r would keep the measure of Pr at x, +1: mr(x, + 1) = mr + l(xr + 1) = 1. In this case, ktr+ 1(1,+ 1) < 1, which is impossible by the choice of 1r + i. Hence Bd P, + 1 contains a horizontal elementary segment, say Iv, x,+ 1]. By this assumption, Iv, xr+ 1] is not in Bd P r . Hence Iv, x,+ 1] is contained in a horizontal segment li, i > r + 2. D u e to the choice of J¢, we have i > s + 1. Therefore, by First Renumbering, Ii belongs to a horizontal effective chord t h E o~. Since l,+ 1 is not contained in tn, x,+l is a vertex of th. In this case, Xr+ 1 is either an isolated point of Bd P or a vertex of a horizontal elementary segment of Bd P (see Definition 7). Since there is no horizontal elementary segment of Bd P incident with x, + 1, it is an isolated point in Bd P. At the same time, we have shown above that x,+ 1 is a vertex of a unique elementary segment of Bd P r . The last is possible only if this vertical segment belongs to T; i.e., x,÷ 1 is a vertex of some vertical effective chord tv ~ ~-. Thus we have found in ~ two o r t h o g o n a l effective chords th, tv with a c o m m o n vertex, which is impossible (see Definition 8). The obtained contradiction shows that each of x , + 1, zj is either an isolated point in Bd PT or a vertex of a horizontal elementary segment of Bd P r . Claim 5. Neither x,+ 1 n o r zj is a vertex of a vertical effective chord from o~. Consider the vertex x,+ t- By Claim 4, xr+ 1 is either an isolated point in Bd Pr or a vertex of a horizontal e l e m e n t a r y segment of Bd Pr. If x,+ 1 is isolated in Bd P r , then it c a n n o t be a vertex of a vertical effective chord from ~-. Let x,+ 1 be a vertex of a horizontal elementary segment of Bd Pr, say [v, x,+ 1]- Assume, in order to o b t a i n a contradiction, that x,+ 1 is an end of a vertical chord tg e ~ . Since no two o r t h o g o n a l chords in F have a c o m m o n point (see Definition 8), the segment [v, x , + l ] is not in T; i.e., [v, x,+ 1] is an elementary segment of Bd P. D u e to Definition 7, there is a vertical elementary segment, say [w, x,+ 1], in Bd P. Thus we o b t a i n e d the existence of two vertical elementary segments of Bd Pr incident with x,+ 1 (one of them is [w, x,+ 1] and a n o t h e r is contained in tg), which is in contradiction to Claim 2. N o w we continue the p r o o f of L e m m a 7. Claims 1-4 m e a n that [x, + 1, zj] is an effective chord of P c o m p a t i b l e with the family £,e. Due to the choice of .~, the chord Ix,+ 1, zj] c a n n o t be included in o~. Hence there is at least one vertical effective c h o r d in ,~- having a vertex in [x,+ 1, zj]. By Claim 5, no vertical effective c h o r d in ~- in incident with x, + i or with zj. D e n o t e by t~ = [z'i, w~], i = 1. . . . . m, all vertical chords of f f having their vertices z', . . . . . z~, in ]x,+ 1, zj[ (see Fig. 5 for an e x a m p l e of [x,+ i, zj] in the case r + 1 = 3 a n d j = 7; here u n b r o k e n lines denote e l e m e n t a r y segments of Bd P, w a v y lines denote vertical effective chords of ~ , and dotted lines denote elementary segments of Bd P,+ 1 which do not belong to Bd Pr; z,, and z 5 are isolated points of Bd P). Since each of z'~, . . . , z" is a vertex of exactly one vertical elementary segment of Bd Pr (see Claim 3) and each c h o r d t'i contains no elementary segment of Bd P, the vertices z'1. . . . . z" are isolated points in Bd P. In this situation, the chords [x,+,, z;], [z;, z~] . . . . . D a , zj] are effective for P. P u t : - ' = ( : - u {[x,+ 1, z;], [z;, zh] . . . . . [z;,, zj])\{c, . . . . . t;,}. It is easily seen that Y-' is an admissible family of effective chords of P compatible with .SF, and card ~ ' = card o~ + 1. The last is in contradiction to the choice of ~-. T h e o b t a i n e d contradiction shows that the a s s u m p t i o n r < s is false. }z3 z, z5 :7 In summary, we obtain that the Second Renumbering gives O~it~(ll)~< 1 for all i = q + 1. . . . . s. Third Renumbering. It remains to renumber the intervals l~+~. . . . . Ik. Due to First Renumbering, these intervals are contained in the set T = t~ w - . - w ty. Without loss of generality, we m a y assume that the intervals l,+ ~, /~+2. . . . . l~, w < k, form t~, i.e., ]x~+ 1, z~+ l[W " ' w]x~,, z ~ , [ = t I \ V ( P ), such t h a t z i = x ~ + a , i = s + 1. . . . . w - I (in the c a s e s + 1 < w ) . From Definition 7, it follows that each of z~+ ~. . . . . zw_ ~ is a vertex of some elementary segment [zi, ui] o f B d P o r t h o g o n a l to t 1, and each ofx~+ 1, zw is either an isolated point in Bd PT or a vertex of a horizontal elementary segment o f B d PT. It is easily seen that :z~+1(1~+1) = 2, and #i (ll) = 1 for all i = s + 2. . . . . w. Similarly, we renumber repeatedly'the intervals lw+ ~ , . . . , lk such that for any chord t~, i = 2. . . . . f, there exists exactly one interval li, contained in tl and having the respective n u m b e r p~,(10 = 2, while/a~{lj) = 1 for all other intervals lj in t i • Since f_< e, the p r o o f of T h e o r e m 1 is complete. 7. Auxiliary Results In this section we continue to study the "supplementary o r n a m e n t " Y = L \ B d P. Let A'~ = {l~ . . . . . lk} be a decomposition of Y into pairwise disjoint open intervals. Lemma 8. m(P) = pl(l,) + "'" + ltk(lk). Proof If a vertex w ~ V(P) is not an end of t~, then, by Definition 6, mi(w) = rnl- t(w). Therefore, for any i = t . . . . , k, pi(li) = ~ ' [mi(w) - ml-z(w)], where the sum ~ ' is taken over the set of all vertices of P. By L e m m a 2, Po has no points of local nonconvexity. Hence mo(w ) = 0 for any vertex w of P. In Section 6, it was mentioned that Bd P~ = Bd P. Therefore, ink(W) = re(w) for all w ~ V(P). Thus k 1 k 1 = ~ ; mk(w) = 2 ' m(w) = re(P). Lemma 9. The number k o f open intervals 11. . . . . lk decompos&g the set Y is at least k >_m - e, where m is the measure o f local nonconvexity o f P, and e is the effective number o f P. Proof. By Theorem 1, the intervals 11. . . . . lk can be renumbered by the indices 1. . . . . k such that /~(13<1, for at least k - e of them. Put ~ r = {l/eoW:pi(13= r}, r = 0 , 1 , 2 . Since 0 < # i ( l 3_<2 for all i = 1. . . . . k, we have ~ = ,~t~OU ~ 1 U ~La2 and By the above, 1~21 < e. Now from Lemma 8, it follows that k -= I ~ o l + I ~ 1 + l ~ z l >- (I-Ce~l + 21~21) - I ~ a l = I~1(11) +"" + #g(Ik) -- [L#21 ~ m - e. L e m m a 10. I f the set Y = L \ B d P is represented as a union o f k pairw&e-disjoint open intervals 11. . . . . li, then k = (/~1 - ~1) - ( % - ~o). P r o o f Let us represent flo and fll as flo = Yo + 60, fll = 71 + 61, where 7o, 71 denote, respectively, the number of Po vertices situated in Y and the number of Bd Po elementary segments contained in the closure ~ and let 6o, 61 denote, respectively, the number of vertices of Po and the number of elementary segments of Bd Po contained in Bd P. Each interval l~ can be decomposed as l , = ] v l , v2[u{v2}u'"w{v,_1}w]v,_1, v,[, r > 2 , where [vi, vi+ 1], i = 1 , . . . , r - 1, are elementary segments of bd Po, and v l , . . . , vr are vertices of Po; i.e., li contains the interiors of r - 1 elementary segments of Bd Po and r - 2 vertices of Po. Hence Vl - Vo = k. If an elementary segment [v, w] of Bd P contains in its interior some vertices x I . . . . . xq of Po, then [v, w] contains q + 1 elementary segments of Bd P0. Hence 60 - ~o = 61 - al and (/h - ~1) - (% - ~o) = (71 - 70) + [(61 - ~i) - (ao - ~o)] = k. 8. Generalized Euler's Relation The following lemma contains a generalized Euler's relation. Lemma 11. For a rectilinear polygon P, S o - e ~ + c + h ' = c ' + h , where So is the number of vertices of P, sl is the number of elementary segments of Bd P, c is the number of connected components of Int P, c' is the number of connected components of P, h is the number of formal holes o f P, h ' i s the number o f topological holes o f 1>. Proof Consider the planar g r a p h G, whose vertices and edges are precisely the vertices and the elementary segments of P, respectively. Hence G has s o vertices and s~ edges. D e n o t e by q the n u m b e r of connected c o m p o n e n t s of E~G (in other words, G partitions E into q open connected domains). A well-known assertion states that q = s l - a o + p + l , where p is the n u m b e r of connected c o m p o n e n t s of G. In our notations, q = h' + c + 1, where 1 stands for Ext P. We shall prove the equality p = c' + h by induction on h. The case h = 0 is trivial: p = c'. Suppose that the assertion "p = c' + h" is true for all rectilinear polygons with at most h _< l - 1 formal holes (l > 1), and let P be a rectilinear polygon with l formal holes. Let H be any formal hole of P. Then H is separated from other formal holes or from Ext P by a connected c o m p o n e n t Q of Int P. It is possible to draw inside Q an open simple polygonal rectilinear path Ix1 . . . . . x , [ such that x~ belongs to H a n d xm belongs either to another formal hole or to Ext P. In a n y case, the addition o f Ix1 . . . . . xm] to Bd P reduces by one b o t h numbers p and /. By inductive assumption, p - 1 = c' + l - 1 and p = c' + h. According to all the d a t a mentioned above, ao - ~ + c + h' = c' + h. [ ] Example. In Fig. 1, cto = 32, ~ = 32, c = 3, c' = 1, h = 5, a n d h' = 3. 9. Minimum Number of Rectangles The following result was a n n o u n c e d without p r o o f in [ 10 ] (see also [ 11 ]). Theorem 2. The minimum number of rectangles dissecting a rectilinear polygon P where r < m + c - h - e . Proof. Let r denote the minimum number of rectangles dissecting a rectilinear polygon P. First, we shall prove the inequality Suppose that e > 0, and let [xi, zi], i = 1 , . . . , e, be special chords of P forming an admissible family of m a x i m u m cardinality. Denote by P1 the polygon obtained from P by the addition of [x 1, zl] to Bd P. Some vertices of P can be situated in ]x 1, zl[. Denote them by vl . . . . . vt, respectively. According to Definition 7, any vertex v~is an end of some elementary segment from Bd P orthogonal to [Xl, zl]. Hence the [x 1, zl-I addition to Bd P leads to the following changes: (1) the measure of P at each of the points x l , vl . . . . . vt, z I decreases by one (see L e m m a 4); (2) the number h = h(P) of formal holes of P decreases by a number p (>0) and the n u m b e r c = c(P) of connected components of Int P increases by a number q(>_0) such t h a t p + q = t + 1; (3) the effective n u m b e r e(P) decreases by at most one. Thus and re(P1) = m - t - 2, c(P1) = c + q, h(P1) = h - p, e(P1) >_ e -- 1, re(P1) + c(P1) - h(Pl) - e(PO <- m + c - h - e. Obviously, the admissibility condition implies that chords [x/, z/J, i = 2 , . . . , e, remain effective for P1. After repeated additions of the chords [xi, z J , i = 2. . . . . e, to Bd P1, we obtain a rectilinear polygon Pe such that Bd P e = Bd P u ( O [x" z']) V(Pe) = V(P). MinimumDissectionof a RectilinearPolygonwith ArbitraryHoles into Rectangles m(Pe) + c(Pe) - h(P,) <_ m + c - h - e. Assume that m(Pe) > 0. Then some point u of local nonconvexity of Pe exists. By Lemma 5, there is a simple chord [u, w] of P, whose addition to Bd P, decreases by one the measure re(u) of P~. Denote by P' the polygon obtained from/De by the addition of [u, w] to Bd Pe" The addition of [u, w] to Bd Pe decreases by one the measure of Pe at u. Also, this addition either decreases by one the number h(Pe) or increases by one the number c(Pe). So m(P') + c(P') - h(P') <_ m + c - h - e. After repeated application of the above procedure of a simple chord addition, we obtain some rectilinear polygon /3 without points of local nonconvexity; i.e., re(P) = 0. By Lemma 1, h(P) = 0. Similarly to the above, c(P) = re(P) + c(P) - h(P) < m + c - h - e. Due to Lemma 2, each connected component of Int P is an open rectangle. The closures of these open rectangles dissect P (and P) into c(P) rectangles. Therefore r <_ c(P) <_m + c - h - e . Now we prove the opposite inequality. Let Q be a polygon obtained from P by the addition of some line segments to Bd P such that Bd Q divides Int Q into rectangles. Denote, respectively, by Yo and ~1 the number of vertices and elementary segments of the polygon Q. By Lemma 11, ~ o - O q + c + h ' = c ' + h , Yo -- ~l + c(Q) + h'(Q) = c'(Q) + h(Q), for polygons P and Q, respectively. It is easily seen that Therefore h(O) = O, c'(Q) = c', h'(Q) = h'. c ( Q ) = c - h + [(~,~ - ~) - (~o - ~o)](Vl - ~ 1 ) - (V0 - ~o) = (k) > m - e. c(Q) > c - h + rn - e. Lemmas 9 and 10 give Thus As Q has no points of local nonconvexity, and connected component of Int Q is an open rectangle (see Lemma 2). The closures of these open rectangles dissect Q (and P) into c(Q) rectangles. Hence any dissection of P contains at least m + c - h - e rectangles. In particular, r > m + c - h - e. [] Theorem 2 not only gives a formula for a minimum number of dissecting rectangles, but also contains an informal description of a dissection algorithm which yields a minimum number of rectangles. Below, we describe this algorithm more precisely and show that its computational complexity is at m o s t O(n 3/2 log n). Let P be any rectilinear polygon in the plane E. We assume that the set S(P) of all elementary segments of P is given by two linear arrays forming, respectively, the topological boundary bd P and the ornament Or P. Any vertex v of P is given by its Cartesian coordinates (X, Y). Denote by n the number of vertices of P. O P T I M U M D I S S E C T I O N A L G O R I T H M : 1. Find the family J g of all effective chords of P. 2. Select in ~ some admissible family J ¢ = {sl . . . . . Se} of maximum cardinality. 3. Form the polygon Pro, adding M .'= U~= 1 si to Bd P. 4. Dissect PM into rectangles by drawing, in any order, inside PM some simple chords which remove the local nonconvexity of P,, at each of its vertices. We discuss each of Steps 1-4 separately. 1. The construction of the family ~ is organized for horizontal and vertical chords apart. Procedure f o r f i n d i n g effective horizontal chords: (a) F o r m the family ocg of all horizontal chords [x, z] such that x, z e V(P) and Ix, z[ c Int P (see [ 2 ]). (b) Delete repeatedly from any chord Ix, z] for which two vertical elementary segments of the form [x, v], Ix,w] exist in Bd P. (c) Delete repeatedly from J g each pair of chords [x, v], [v, w] for which the vertex v is not an isolated point in Bd P and include [x, w] in ~ . (d) Delete repeatedly from ~ any chord [x, z] such that at least one of x, z is not an isolated vertex of Bd P or a vertex of a horizontal elementary segment of Bd P. From Definition 7, it follows that the repeated execution of (a)--(d) yields the family ~ = {ll . . . . . lp} of all horizontal effective chords of P. The family ~ = {m 1. . . . . mq} of all vertical effective chords of P is constructed similarly. In both cases a sweep-line technique is used. Hence the family ~ . - = ~ w ~e" can be found in O(n log n) time. 2. For the selection of some admissible family of maximum cardinality in he, we use the appropriate O(n3/2 log n) algorithm from [ 3 ]. In [ 3 ], the family A° is supposed to have the following property: no two collinear chords in he have a common point. However, in our case some two collinear chords in Aa may have a common point (see Observation 3). Hence for the implementation of step 2 in the dissection algorithm, we do the following: Now we describe the he ~ he' transformation. Let l , = [x,, v.O, i = 1 . . . . . . p, m~= [u~, w~], j = l . . . . . q, be, respectively, all the horizontal and vertical chords in Le. Procedure o f .LP--* .5~' transformation: (a) Find a real number e > 0 such that tlx - Y[I > 2e for any two different points x, y in the set X I , . . . , Xp~ t ~ l , . . . , Up, U l , . . . , Uq, W 1 , . . . , Wq}, where IIIb denotes the Manhattan metric in E. (b) For any horizontal chord li = [x i, vi] e .W with the ends xt = (X, Y), put l'~= [x;, v;] ~ Z/" with the endpoints x ~ = ( X - e , Y + 6 3 , v ' i = ( Z + e , Y + 33, put m) = [u), w)] ~ .L~"with the endpoints u~= (X, Y), w : = (X, Z), Y < Z , u ~ = ( X + 3 i, Y - e), w ~ = ( X + b ~ , Z + e ) , where c~j:= ej/(p + q + 1),j = 1. . . . . q. Example. For family La~ represented in Fig. 6(a), the corresponding family ~ ' is shown in Fig. 6(b). Because of the O(n log n) time complexity of Aa --, Aa, and L~a' ~ L# transformations, we have the O(n3/2 log n) time complexity of step 2 in the dissection algorithm. 3. Step P --, PM has O(n log n) time complexity (see I2] for technique details). 4. The dissection of PM into rectangles can be organized in the following manner: Fig. 6. An L,e--, L,e' transformation. Acknowledgment References The authors thank the referees for their m a n y helpful c o m m e n t s o n an earlier draft of the paper. 1. L. Ferrari , P. V. Sancar , and J. Sklansky , Minimal rectilinear partitions of digitized blocks , Comput. Vision Graphics Image Process . 28 ( 1984 ), 58 - 71 . 2. A. N. Gorpinevich and V. Soltan , Simple algorithms of the partition of rectilinear regions into rectangles in VLSI engineering , Bull. Acad. Sci. Mold . SSR. Set. Phis .-- Tehn , and Math. Sci. No. 2 ( 1989 ), 19 - 25 (Russian). 3. H. Imai and T. Asano , Efficient algorithm for geometric graph search problems , S I A M J. Comput . 15 ( 1986 ), 478 - 494 . 4. N. M. Kornienko , G. V. Matveev , N. N. Metelsky and R. I. Tyshkevich , On tiling of polygons, Izv. Akad. Nauk. BSSR. Set. Phis .-- Math. Sci. No . 2 ( 1978 ), 25 - 29 (Russian). 5. A. Lingas , The power of non-rectilinear holes . Lecture Notes on Computer Science, Vot. 140 . Springer-Verlag, Berlin, 1982 , pp. 369 -- 383 . 6. W. Lipski , E. Lord , F. Luccio , C. Mugnai , and L. Pagli , On two-dimensional data organization II, Fund . Inform. 2 ( 1979 ), 245 - 260 . 7. W. Lipski , Finding a Manhattan path and related problems , Networks, 13 ( 1983 ), 399 - 409 . 8. W. Lipski , An O(n log n) Manhattan path algorithms , Inform. Process. Lett. 19 ( 1984 ), 99 - 102 . 9. V. P. Rubtsov , Realization of VLSI topology by rectangles , Electronnaya Tehnica. Ser. 3. No. 6 ( 1976 ), 54 - 61 (Russian). 10. V. Soltan and A. N. Gorpinevich , Minimum partition of a plane region into rectangles , In: Republican Seminar on Discrete Optimization , Kiev, 1985 , pp. 107 - 108 (Russian). 11. V. Soltan and A. N. Gorpinevich , Some algorithms of the partition of a plane region into rectangles , In: Geometrie und Anwendungen. Vortrage der 7 . Tagung der Fachsektion Geometrie. AdW der DDR , Berlin, 1988 , pp. 111 - 112 .


This is a preview of a remote PDF: https://link.springer.com/content/pdf/10.1007%2FBF02189307.pdf

Valeriu Soltan, Alexei Gorpinevich. Minimum dissection of a rectilinear polygon with arbitrary holes into rectangles, Discrete & Computational Geometry, 1993, 57-79, DOI: 10.1007/BF02189307