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 NPhardness 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 NPhard [
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 pointset 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 I4,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], Iv,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 46, 8, 9,
t222, and 2629 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 46, 8, 9, 1220, 22, and 2628 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 I2, 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 pointset
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 15 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 14 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)  mlz(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 > (ICe~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&edisjoint
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 wellknown 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, zlI 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 14 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 sweepline 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 nonrectilinear holes . Lecture Notes on Computer Science, Vot. 140 . SpringerVerlag, Berlin, 1982 , pp. 369  383 .
6. W. Lipski , E. Lord , F. Luccio , C. Mugnai , and L. Pagli , On twodimensional 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 .