Approximating Maximum Independent Set for Rectangles in the Plane
aa r X i v : . [ c s . C G ] J a n Approximating Maximum Independent Set for Rectangles in thePlane
Joseph S. B. Mitchell ∗ January 5, 2021
Abstract
We give a polynomial-time constant-factor approximation algorithm for maximum independent set for(axis-aligned) rectangles in the plane. Using a polynomial-time algorithm, the best approximation factorpreviously known is O (log log n ). The results are based on a new form of recursive partitioning in theplane, in which faces that are constant-complexity and orthogonally convex are recursively partitionedin a constant number of such faces. Given a set R = { R , . . . , R n } of n axis-aligned rectangles in the plane, the maximum independent set ofrectangles (MISR) problem seeks a maximum-cardinality subset, R ∗ ⊆ R , of rectangles that are independent ,meaning that any two rectangles of R ∗ are interior-disjoint.The MISR is an NP-hard ([12, 16]) special case of the fundamental Maximum Independent Set (MIS)optimization problem, in which, for a given input graph, one seeks a maximum-cardinality subset of itsvertices such that no two vertices are joined by an edge. The MIS is an optimization problem that isvery difficult to approximate, in its general form; the best polynomial-time approximation algorithm is an O ( n/ log n )-approximation [6], and there is no polynomial-time n − δ -approximation algorithm, for any fixed δ >
0, unless P=NP [20].Because the MIS is such a challenging problem in its general setting, the MIS in special settings, par-ticularly geometric settings, has been extensively studied. For string graphs (arcwise-connected sets), an n ε -approximation algorithm is known [13]. For outerstring graphs, a polynomial-time exact algorithm isknown [17], provided a geometric representation of the graph is given. For geometric objects that are“fat”(e.g., disks, squares), a Polynomial-Time Approximation Scheme (PTAS) is known [11]. Fatness iscritical in many geometric approximation settings. The MISR is one of the most natural geometric settingsfor MIS in which the objects are not assumed to be fat – rectangles can have arbitrary aspect ratios. TheMISR arises naturally in various applications, including resource allocation, data mining, and map labeling.For the MISR, the celebrated results of Adamaszek, Har-Peled, and Wiese [1, 2, 3, 15] give a quasipolynomial -time approximation scheme, yielding a (1 − ε )-approximation in time n poly (log n/ε ) . Chuzhoy and Ene [9]give an improved, but still not polynomial, running time: they present a (1 − ε )-approximation algorithmwith a running time of n O ((log log n/ε ) ) Recently, Grandoni, Kratsch, and Wiese [14] give a parameterizedapproximation scheme, which, for given ε > k >
0, takes time f ( k, ε ) n g ( ε ) and either outputsa solution of size ≥ k/ (1 + ε ) or determines that the optimum solution has size < k .Turning now to polynomial -time approximation algorithms for MISR, early algorithms achieved an ap-proximation ratio of O (log n ) [4, 18, 19] and ⌈ log k n ⌉ , for any fixed k [5]. In a significant breakthrough,the O (log n ) approximation bound was improved to O (log log n ) [8, 7], which has remained the best ap-proximation factor during the last decade. Indeed, it has been a well known open problem to improve on ∗ Stony Brook University, Stony Brook, NY 11794-3600, [email protected]
Our Contribution
We give a polynomial-time (1 / O (log log n ) approximation factor for a polynomial-time algorithm. The algorithm is based on a novelmeans of recursively decomposing the plane, into constant-complexity (orthogonally convex) “corner-clippedrectangles” (CCRs), such that any set of disjoint (axis-aligned) rectangles has a constant-fraction subsetthat “nearly respects” the decomposition, in a manner made precise below. The fact that the CCRs are ofconstant complexity, and the partitioning recursively splits a CCR into a constant number of CCRs, allow usto give an algorithm, based on dynamic programming, that computes such a subdivision, while maximizingthe size of the subset of R of rectangles that are not penetrated (in their interiors) by the cuts. Together,the structure theorem and the dynamic program, imply the result.Two key ideas are used in obtaining our result: (1) instead of a recursive partition based on a binarytree, partitioning each problem into two subproblems, we utilize a K -ary partition, with constant K ≤ Throughout this paper, when we refer to a rectangle we mean an axis-aligned , closed rectangle in the plane.We let [ x, x ′ ] × [ y, y ′ ] denote the rectangle whose projection on the x -axis (resp., y -axis) is the (closed)interval [ x, x ′ ] (resp., [ y, y ′ ]). We often speak of the sides (or edges ) of a rectangle; we consider each rectangleto have four sides (top, bottom, left, right), each of which is a closed (horizontal or vertical) line segment.Two nonparallel sides of a rectangle meet at a common endpoint, one of the corners of the rectangle, oftendistinguished as being northeast, northwest, southwest, or southeast. When we speak of rectangles beingdisjoint, we mean that their interiors are disjoint. We say that two rectangles abut (or are in contact ) iftheir interiors are disjoint, but there is an edge of one rectangle that has a nonzero-length overlap withan edge of the other rectangle. We say that a horizontal/vertical line segment σ penetrates a rectangle R ∈ R if σ intersects the interior of R . We say that a horizontal/vertical line segment σ crosses anotherhorizontal/vertical segment σ ′ if the two segments intersect in a point that is interior to both segments;similarly, we say that σ crosses a rectangle R if the intersection σ ∩ R is a subsegment of σ that is interiorto σ .The input to our problem is a set R of n arbitrarily overlapping (axis-aligned) rectangles in the plane.Without loss of generality, we can assume that the x -coordinates and y -coordinates that define the rectangles R are distinct and are integral. Let x , x , . . . , x n , with x < x < · · · < x n , be the sorted x -coordinates ofthe left/right sides of the n input rectangles R ; similarly, let y < y < · · · < y n be the y -coordinates of thetop/bottom sides of the input. We let BB ( R ) = [ x , x n ] × [ y , y n ] denote the axis-aligned bounding box(minimal enclosing rectangle) of the rectangles R . The arrangement of the horizontal/vertical lines ( x = x i , y = y j ) that pass through the sides of the rectangles R determine a grid G , with faces (rectangular gridcells), edges (line segments along the defining lines), and vertices (at points where the defining lines cross).2n the maximum independent set of rectangles (MISR) problem on R we seek a subset, R ∗ ⊆ R , ofmaximum cardinality, k ∗ = |R ∗ | , such that the rectangles in R ∗ are independent in that they have pairwisedisjoint interiors. Our main result is a polynomial-time algorithm to compute an independent subset of R of cardinality Ω( k ∗ ). Corner-Clipped Rectangles (CCRs). An orthogonal polygon is a simple polygon whose boundaryconsists of a finite set of axis-parallel segments. A corner-clipped rectangle Q is a special orthogonal polygonobtained by removing a set of up to four disjoint subrectangles from a given rectangle R , with each subrect-angle containing exactly one of the four corners of R . More precisely, for a given rectangle R and a (possiblyempty) set { R NE , R NW , R SW , R SE } of up to four disjoint rectangles, each containing exactly one corner(vertex) of R in its interior, a corner-clipped rectangle Q is given by subtracting from R the interiors of thecorner-covering rectangles R i , so that Q = R \ ( int ( R NE ) ∪ · · · ∪ int ( R SE )), where int ( · ) denotes interior.Note that a CCR Q is an orthogonally convex (orthogonal) polygon: any horizontal or vertical line thatintersects it intersects it in a connected set (a horizontal or vertical line segment). CCRs include rectangles,“L-shaped” regions, “T-shaped” regions, “+-shaped” regions, etc. A CCR has constant complexity, with atmost 12 edges/vertices. Refer to Figure 1. ℓ ℓ + ℓ − t + t − ℓ − r + r − b + b − r r rrrr r r r r r ℓ − ℓ − r + r + r + ℓ + ℓ + ℓ + b + b + b + r − r − r − ℓ ℓ ℓ ℓ ℓ ℓ ℓℓℓℓ b − b − b − bbbb b b bb b b btttttt t t t t t t + t + t + t − t − t − t rt − t + r + b + r − b ℓ − b − ℓ ℓ + Figure 1: Examples of corner-clipped rectangles (CCRs).Consider a CCR, Q . It has up to 3 (vertical) left sides (edges), which we label ℓ (for the leftmost side,shared with the bounding box, BB ( Q )), ℓ + (for the side associated with a northwest clipping rectangle, R NEW , if there is one), and ℓ − (for the side associated with southwest clipping rectangle, R SW , if there isone). Similarly, Q has up to 3 (vertical) right sides ( r , r + , and r − ) up to 3 (horizontal) top sides ( t , t + , and t − ), and up to 3 (horizontal) bottom sides ( b , b + , and b − ). Refer to the edge labels in Figure 1. Maximal rectangles.
Let I be an independent set of rectangles within the bounding box BB ( R ). Wesay that the set I is maximal within BB ( R ) if each rectangle R ∈ I has all four of its sides in nonzero-lengthcontact with a side of another rectangle of I , or with the boundary of BB ( R ). An arbitrary independentsubset I = { R , . . . , R k } ⊆ R of input rectangles R i can be converted into an independent set of rectangles, R ′ i ⊇ R i , that are maximal within B , in any of a number of ways, “expanding” each R i appropriately.(Note that the super-rectangles, R ′ i need not be elements of the input set R .) To be specific, we define I ′ = { R ′ , . . . , R ′ k } to be the set of maximal expansions , R ′ i ⊇ R i , of the rectangles R i , obtained from thefollowing process: Within the bounding box B , we extend each rectangle R i upwards (in the + y direction)until it contacts another rectangle of I or contacts the top edge of BB ( R ). We then extend these rectanglesleftwards, then downwards, and then rightwards, in a similar fashion. This results in a new set I ′ ofindependent rectangles within BB ( R ), with each rectangle R ′ i containing the corresponding rectangle R i ,and each being maximal within the set I ′ of rectangles: each R ′ i is in contact, on all four sides, either withanother rectangle of I ′ , or with the boundary of BB ( R ). Note too that the sides of each R ′ i lie on the grid G of horizontal/vertical lines through sides of the input rectangles R i ; the coordinates defining the rectangles I ′ are a subset of the set of coordinates of the input rectangles R . See Figure 2. We consider rectangles and polygons to be closed regions that include their boundary and their interior. R ′ i (in light red) of a set I of independent rectangles R i (inmagenta). The nesting relationship among maximal rectangles.
Consider a maximal rectangle, R ′ i ∈ I ′ . Bydefinition of maximality, each of the four sides of R ′ i is in contact with the boundary of BB ( R ) or with theboundary of another maximal rectangle, R ′ j . If R ′ i and R ′ j are in contact and the corresponding edge of R ′ i lies within the interior of the corresponding edge of R ′ j , then we say that R ′ i is nested on that side whereit contacts R ′ j . For example, if R ′ i is nested on its top side, where it contacts the bottom side of R ′ j , thenthe left side of R ′ j is strictly left of the left side of R ′ i , and the right side of R ′ j is strictly right of the rightside of R ′ i . For a rectangle R ′ i that is in contact with the boundary of BB ( R ), we say that R ′ i is nested ona side that is contained in the interior of a boundary edge of the bounding box BB ( R ). We say that R ′ i is nested vertically if it is nested on its top side or its bottom side (or both); similarly, we say that R ′ i is nestedhorizontally if it is nested on its left side or its right side (or both). Refer to Figure 4. A simple observationthat comes from the definition, and the fact that rectangles in I ′ do not overlap, is the following: Observation 1.
For a set I ′ of independent rectangles that are maximal within BB ( R ) , a rectangle R ′ i ∈ I ′ cannot be nested both vertically and horizontally. R ′ i R ′ j c NE c NW Figure 3: Proof of Observation 1: If R ′ i is nested vertically, with its top side being contained in the interiorof the bottom side of R ′ j , then the red points, which are slightly shifted top corners of R ′ i , must be interiorto R ′ j . If R ′ i were also nested horizontally, abutting one of the dashed rectangles (of I ′ ) to the left/right of R ′ i , then we get a contradiction to the interior disjointness of rectangles, as a red point would be interior totwo rectangles of I ′ . Proof.
Consider a rectangle R ′ i ∈ I ′ and assume that it is nested vertically, with its top side being ahorizontal segment interior to the bottom side of a rectangle R ′ j ∈ I ′ that abuts R ′ i to its north. Let c NE = ( x max , y max ) be the northeast corner of R ′ i ; then, we know from the nesting relationship with R ′ j , and the assumed integrality of coordinates defining the input rectangles, that the shifted corner point4 x max + 1 / , y max + 1 /
2) is interior to R ′ j . Similarly, the shifted corner point ( x min − / , y max + 1 / c NW , of R ′ i is interior to R ′ j . However, if R ′ i were to be nestedhorizontally on its right side, then ( x max + 1 / , y max + 1 /
2) must be interior to the abutting rectangle tothe right (and a similar statement holds if R ′ i were to be nested on its left side.) This a contradiction to theinterior disjointness of the rectangles of I ′ .Figure 4: Example of maximal rectangles that are nested vertically (shown in blue) and nested horizontally(shown in red). Gray rectangles are not nested vertically or horizontally. CCR Partitions.
We define a recursive partitioning of a rectangle B ⊆ BB ( R ) as follows. At any stageof the decomposition, we have a partitioning of B into polygonal faces ( CCR faces ), each of which is a CCR.(Initially, there is a single face, B .) A set, χ , of axis-parallel line segments (called horizontal cut segments and vertical cut segments ) on the grid G that partitions a CCR face f into two or more CCR faces is saidto be a CCR-cut of f . We often use σ to refer to a vertical cut segment of χ , and we will consider σ to be a maximal segment that is contained in the union of grid edges that make up χ . A CCR-cut χ is K -ary if itpartitions f into at most K CCR faces. Necessarily, a K -ary CCR-cut χ consists of O ( K ) horizontal/verticalcut segments, since each of the resulting K subfaces are (constant-complexity, orthogonal) CCR faces. InFigure 5 we show some examples of K -ary CCR-cuts. By recursively making K -ary CCR-cuts, we obtain a K -ary hierarchical partitioning of B into CCR faces. We refer to the resulting (finite) recursive partitioningas a K -ary CCR-partition of B . Associated with a CCR-partition is a partition tree , whose nodes correspondto the CCR faces, at each stage of the recursive partitioning, and whose edges connect a node for a face f to each of the nodes corresponding to the subfaces of f into which f is partitioned by a K -ary CCR-cut.The root of the tree corresponds to B ; at each level of the tree, a subset of the nodes at that level havetheir corresponding CCR faces partitioned by a CCR-cut, into at most K subfaces that are children of therespective nodes. The CCR faces that correspond to leaves of the partition tree are called leaf faces . InFigure 6 we show a CCR partition of a rectangle B , with cuts at different levels being distinguished by thecolor of the line segments at each level (purple, red, blue, green).We say that a CCR-partition is perfect with respect to a set of rectangles if none of the rectangles havetheir interiors penetrated by the CCR-cuts of the CCR-partition, and each leaf face of the CCR-partitioncontains exactly one rectangle. (This terminology parallels the related notion of a “perfect BSP”, mentionedbelow.) We say that a CCR-partition is nearly perfect with respect to a set of rectangles if for every CCR-cutin the hierarchical partitioning each of the O (1) cut segments of the CCR-cut penetrates at most 2 rectanglesof the set, and each leaf face of the CCR-partition contains at most one rectangle. (Having this property willenable a dynamic programming algorithm to optimize the size of a set of rectangles, over all nearly perfectpartitions of the set, since there is only a constant amount of information to store with each subproblemdefined by a CCR face in the CCR-partition.) Comparison with BSPs.
A binary space partition (BSP) is a recursive partitioning of a set of objectsusing hyperplanes (lines in 2D); a BSP is said to be pefect if none of the objects are cut by the hyperplanes5 =2 K=5K=3
Figure 5: Examples of K -ary cuts. Left: a K -ary cut ( K = 2) of a rectangle B ; middle: a K -ary cut ( K = 3)of a CCR face; right: a K -ary cut ( K = 5) of a CCR face. Each cut consists of a set of horizontal/verticalline segments, shown in purple.Figure 6: Example of a CCR-partition of a rectangle, with the first level cut shown in purple, the secondlevel cuts shown in red, the third level cuts shown in blue, and the fourth level cuts shown in green. Theresulting partition has 16 leaf faces.defining the partitioning [10]. An orthogonal BSP uses cuts that are orthogonal to the coordinate axes.There are sets of axis-aligned rectangular objects for which there is no perfect orthogonal BSP; see Figure 7.A CCR-partition is a generalization of an orthogonal binary space partition (BSP), allowing more generalshape faces (and cuts) in the recursive partitioning, and allowing more than 2 (but still a constant numberof) children of internal nodes in the partition tree. Conjecture 1.
For any set of n interior-disjoint axis-aligned rectangles in the plane, there exists a subsetof size Ω( n ) that has a perfect orthogonal BSP. Figure 7: Left: A set of (gray) rectangles and a BSP that respects it. Middle: A set of (gray) rectangles thatdoes not have a perfect BSP, but does have a perfect BSP of a large fraction (3/4) subset of them. Right:A perfect CCR-partition of 3/4 of the rectangles in the middle figure (with 1/4 of the rectangles, in white,removed). 6
The Structure Theorem
Our main structure theorem states that for any set of k interior disjoint rectangles in the plane there is aconstant fraction size (at least k/
10) subset with respect to which there exists a nearly perfect CCR-partition.We state the theorem here and we utilize it for the algorithm in the next section; the proof of the structuretheorem is given in Section 5.While Conjecture 1 remains open, and if true would imply a constant-factor approximation for MISR (viadynamic programming), our structural result suffices for obtaining a constant factor approximation (Theo-rem 4.1), which is based on optimizing over recursively defined CCR-partitions using dynamic programming.
Theorem 3.1.
For any set I = { R , . . . , R k } of k interior disjoint (axis-aligned) rectangles in the planewithin a bounding box B , there exists a K -ary CCR-partition of the bounding box B , with K ≤ , recursivelycutting B into corner-clipped rectangles (CCRs), such that the CCR-partition is nearly perfect with respectto a subset of I of size Ω( k ) (at least k/ ). The algorithm utilizes dynamic programming. A subproblem S of the DP is specified by giving (1) a CCR Q whose edges lie on the grid G defined by the set of vertical/horizontal lines through the sides of the inputrectangles, and (2) a set I S ⊆ R of O (1) input rectangles (these are “special” rectangles that we explicitlyspecify) that are penetrated by the vertical edges of Q , at most two such rectangles per vertical edge of Q .See Figure 8. Since a CCR has at most 12 edges/vertices, we know that | I S | ≤
12 and that there are only apolynomial number of possible CCRs.For a subproblem S = ( Q, I S ), let R ( S ) ⊆ R denote the subset of the input rectangles that lie within Q and are pairwise disjoint from the specified rectangles I S . Let f ( S ) denote the cardinality of a maximum-cardinality subset, I ∗ ( S ), of R ( S ) that is independent and for which there exists a CCR-partition of Q thatis nearly perfect with respect to I ∗ ( S ). rr + r − ℓ + ℓ ℓ − t t + t − b + bb − Figure 8: A subproblem S defined by the CCR Q and a set I S of specified rectangles, with the property thatat most two such rectangles are penetrated by each vertical edge that bounds Q .The objective for the subproblem S specified by ( Q, I S ) is to compute a CCR-partitioning of Q tomaximize the cardinality of the subset of R ( S ) with respect to which there is a CCR-partitioning of Q thatis nearly perfect.The optimization is done by iterating over all candidate K -ary ( K ≤
5) CCR-cuts of Q , together withchoices of special rectangles associated with the vertical cut segments of a CCR-cut, resulting in the followingrecursion: f ( S ) = ( R ( S ) = ∅ , max χ ∈ γ ( S ) ,I χ ( f ( S ) + · · · + f ( S K ) + | I χ | ) otherwise , (1)7here the optimization is over the set, γ ( S ) of eligible CCR-cuts within the grid G that partition Q into K CCRs (2 ≤ K ≤
5) and over the choices of the set I χ ⊆ I of O (1) special rectangles, with at most 2rectangles of I χ penetrated by each vertical cut segment of χ . The cut χ ∈ γ ( S ), together with the choice of I χ , results in a set of K subproblems S , . . . , S K , each specified by a CCR, together with a set of specifiedspecial rectangles (a subset of at most 12 rectangles of I χ ). Since the eligible cuts are of constant complexitywithin the grid of O ( n ) vertical/horizontal lines, | γ ( S ) | is of polynomial size. Also, there are a polynomialnumber of choices for the set I χ , since each set is of constant size. Thus, the algorithm runs in polynomialtime.The desired solution is given by evaluating f ( S ), on the subproblem S = ( BB ( R ) , R ) defined by thefull bounding box, BB ( R ), of the input set R of rectangles.The proof of correctness is based on mathematical induction on the number of input rectangles of R that are contained in subproblem S . The base case is determined by subproblems S for which there isno rectangle of R inside the CCR; we correctly set f ( S ) = 0 for such subproblems. With the inductionhypothesis that f ( S ) is correctly computed for subproblems S containing at most k rectangles of R , we seethat, for a subproblem S having k + 1 rectangles of R , since we optimize over all CCR-cuts partitioning Q into at most 5 CCRs, respecting I S , and over all choices of O (1) special rectangles penetrated by eachconsidered CCR-cut, with each of the values f ( S i ) being correctly computed (by the induction hypothesis),we obtain a correct value f ( S ). Since the algorithm runs in polynomial time, and our structure theoremshows that there exists an independent subset of R of size at least k ∗ /
10 for which there is a CCR-partitionrespecting this subset, we obtain our main result:
Theorem 4.1.
There is a polynomial-time (1 / -approximation algorithm for maximum independent setfor a set of axis-aligned rectangles in the plane.Remark. While efficiency is not the focus of our attention here, other than to establish polynomial-time,we comment briefly on the overall running time of the dynamic program. A naive upper bound comes fromthe fact that there are at most O ( n ) CCRs defined on the set of vertical/horizontal lines through sidesof the input rectangles, and there are at most O ( n ) specified rectangles I S in any subproblem. The mostcomplex cut χ among all of the cases is seen to be (in case (3)(c)) a cut having 6 horizontal cut segmentsand 2 vertical cut segments, each having at most 2 associated specified rectangles; thus, there are at most O ( n ) choices for ( χ, I χ ). Thus, the optimization is over at most O ( n ) choices, for each of at most O ( n )subproblems. The overall time bound of O ( n ) is surely an over-estimate. Proof.
In this section we prove the main structure theorem, Theorem 3.1, which stated that for any set I = { R , . . . , R k } of k interior disjoint (axis-aligned) rectangles in the plane within a bounding box B , thereexists a K -ary CCR-partition of the bounding box B , with K ≤
5, recursively cutting B into corner-clippedrectangles (CCRs), such that the CCR-partition is nearly perfect with respect to a subset of I of size Ω( k )(at least k/ I ′ of maximal expansions, as described previously, of the k input rectangles I = { R , . . . , R k } within B . Recall that, appealing to Observation 1, the set I ′ is the disjoint union ofsubsets: I ′ = I h ∪ I v ∪ I , where I h is the subset of “red” rectangles that are nested horizontally, I v is thesubset of “blue” rectangles that are nested vertically, and I is the subset of “gray” rectangles that are notnested on any of their four sides. Refer to Figure 4. It cannot be that both | I h | and | I v | are greater than k/
2; thus, assume, without loss of generality, that | I h | ≤ k/
2. Then, there are | I v | + | I | ≥ k/ Throughout the discussion going forward in this section, the assumption that the number of red (maximal) rectanglesis at most k/ I ′ , etc; in all of these places, there is a symmetric statementcorresponding to the case in which, instead, the number of blue (maximal) rectangles is at most k/
2, and there are at least k/
8e now describe a process by which a subset of Ω( k ) of the rectangles of I ′ is chosen, and a CCR-partition, Π, is constructed that is nearly perfect with respect to this subset, and, thus, by the followingclaim, is nearly perfect with respect to the corresponding subset of (sub-)rectangles I . Claim 5.1.
If a CCR-partition is nearly perfect with respect to a set A ′ ⊂ I ′ of maximal rectangles, then itis nearly perfect with respect to the corresponding set A ⊆ I of input rectangles.Proof. This follows immediately from the fact that, for each R ′ ∈ I ′ , the corresponding R ∈ I is a subrect-angle of R ′ .Initially, all rectangles of I ′ are active . During the process of recursively partitioning BB ( R ) into aCCR-partition, a subset of the rectangles of I ′ will be discarded and removed from active status. In theend, the set of remaining active rectangles of I ′ have the property that the CCR-partition is nearly perfectwith respect to the remaining active rectangles. We show (Claim 5.9), via a charging scheme, that at most aconstant fraction (9/10) of the rectangles of I ′ are discarded, implying that the final set of active rectanglesof I ′ has cardinality at least k/
10 = | I ′ | / Q that contains more than one rectangle of I ′ (andthus more than one rectangle of I ) is partitioned via a cut χ , within the grid G , into at most K = 5 CCRfaces, via a set of O (1) horizontal and vertical cut segments. Details of how we determine these CCR-cutsare presented in the statement and proof of Lemma 5.2, below, after we introduce the notion of “fences”.A property of the cuts χ we construct is that no rectangle of I ′ is penetrated by a horizontal cut segment(Lemma 5.2, (iii)); horizontal cut segments can follow the boundary of a rectangle of I ′ but cannot penetrateany such rectangle.A vertical cut segment, σ , of χ can penetrate rectangles of I ′ , and we discard those rectangles that are crossed by such a cut segment σ . (On any vertical cut segment at most two rectangles (the first and last) canbe penetrated but not crossed ; these rectangles will not be discarded and are the source of the use of “nearlyperfect” cuts in our method.) The ability to find such cuts χ is assured by Lemma 5.2. Those rectanglesthat are crossed by a vertical cut segment and discarded must be accounted for, to assure that a significantfraction remain in the end. This is where a charging scheme is utilized, which we describe below, after weintroduce fences. Fences.
An important aspect of the method we will describe for construction of a CCR-partition thatrespects a large subset of I ′ is the enforcement of constraints that prevent the cuts we produce from crossingrectangles without being able to “pay” for the crossing, through our charging scheme (below). We achievethis by erecting certain fences , which are horizontal line segments, on the grid G , each “anchored” on aleft/right side of the current CCR face, Q . The fences become constraints on CCR-cuts of Q , as we requirethat a CCR-cut χ have no vertical cut segments that cross any fence (and all horizontal cut segments willbe contained with the set of fence segments); refer to Lemma 5.2 below.For each of the 4 corners, c NE , c NW , c SW , c SE , of a rectangle R ∈ I ′ , we let the corresponding shifted corner (denoted c ′ NE , c ′ NW , c ′ SW , c ′ SE ) be the point interior to R , shifted towards the interior of R by 1 / x - and y -coordinates (recall that the defining coordinates of the input rectangles are assumed, withoutloss of generality, to be integers); for example, if c NE = ( x, y ), then c ′ NE = ( x − / , y − / c , of a rectangle R ∈ I ′ , is exposed to the right within Q if a horizontal rightwardsray with endpoint at its corresponding shifted corner, c ′ , does not penetrate any rectangle of I ′ (other than R ) that lies (fully) within Q before reaching the right boundary of Q (segments r , r + , or r − ). We similarlydefine the notion of a corner being exposed to the left within Q . Note that, from the definition, the northeastcorner of R is exposed to the right (resp., left) if and only if the northwest corner of R is exposed to theright (resp., left); similarly, the southeast corner of R is exposed to the right (resp., left) if and only if thesouthwest corner of R is exposed to the right (resp., left). Thus, we say that the top side of R is exposed tothe left/right if the northeast and northwest corners of R are exposed to the left/right. We similarly definethe notion of the bottom side of R being exposed to the left/right within Q .9hen a CCR Q is partitioned by a CCR-cut, χ , a vertical cut segment, σ , of χ may penetrate a rectangle R ∈ I ′ that lies within Q , causing some top/bottom sides of other rectangles of I ′ within the new CCRfaces (subfaces of Q ) to become exposed to the left or to the right within their respective new CCR faces.Whenever a vertical cut segment σ of a CCR-cut causes the top/bottom side of R to become exposed to itsleft (resp., right) within its new CCR face, we establish a fence (horizontal line segment) that includes thetop/bottom edge of R and extends to the left (resp., right) boundary of the CCR face (at a point on σ thatgave rise to the new exposure). Refer to Figure 9; we use the convention that fences are shown in red (resp.,blue) if anchored on their left (resp., right) endpoint. (This color choice of red/blue for fences has nothingto do with the “red” and “blue” color terminology we had above for rectangles in the set I h and I v .) Wemaintain the following invariant during the course of the recursive partitioning: σ Figure 9: Example showing the establishment of fences after a cut. In this figure, the CCR is a rectangle,the maximal rectangles are shown, with red ones (nested to the left or to the right) shown in red, and allnon-red rectangles shown in gray. A vertical cut segment σ (in green) is shown. The cut results in someshifted corners of rectangles becoming exposed; these are shown as black solid dots, with dark green arrowsshowing the exposure to the cut σ . Rectangles that are crossed by the cut are marked with an “X”. (Notethat the first and last rectangles intersected by σ are penetrated but not crossed by σ .) The new exposuresresult in newly established fences, anchored on σ , shown in red (if the left endpoint is anchored on σ ) or inblue (if the right endpoint is anchored on σ ).[Fence Invariant] For each rectangle R ∈ I ′ that lies within a CCR Q , if the top/bottom side of R is exposed to the left (resp., right) within Q , then there is a (horizontal) fence segment α (resp., β ) that includes the top/bottom side of R and extends to the left (resp., right) side of Q . (Note that if the top (or the bottom) side of R is exposed both to the left and to the right within Q , then10here will be overlapping fence segments associated with R , implying that there exists a CCR-cut consistingof a single horizontal cut segment (the union of the two fence segments), not penetrating any rectangles of I ′ within Q ) partitioning Q into two (CCR) subfaces.)We say that a rectangle R ∈ I ′ , with R contained within a CCR Q , is anchored if either its top sideor bottom side is contained within the top or bottom boundary of Q or within a fence segment within Q ,anchored on the left or the right of Q . Lemma 5.2 guarantees that the CCR-cuts we utilize do not have anyvertical cut segments σ that cross any fences and, therefore, do not cross any anchored rectangles (since avertical segment that crosses a rectangle necessarily crosses its top and bottom sides). It can be, however,that a vertical cut segment σ penetrates (without crossing) an anchored rectangle, e.g., if the segment σ terminates on a fence or on a top/bottom side of Q ; however, a vertical cut segment σ can penetrate, withoutcrossing, at most two anchored rectangles, one incident to the top endpoint and one incident to the bottomendpoint of σ . (This is the source of the “2” in the definition of a nearly perfect cut.) Each rectangle R ∈ I ′ is a maximal expansion of an original input rectangle of I ; since the original rectangle is a subrectangle of R , it can happen that a vertical cut segment σ crosses the original rectangle (or it could completely missintersecting it) associated with an anchored rectangle R ∈ I ′ , while not crossing , but only penetrating , R .Lemma 5.2 below shows that the recursive partitioning process is feasible, showing that for any CCRface Q and any set of (horizontal) fences anchored on the left/right sides of Q , it is always possible to find aCCR-cut with the properties claimed in the lemma; in particular, the cut should “respect” the given set offences, in that no vertical cut segment of the cut crosses a fence segment. We initialize the set of fences asfollows: for each red rectangle of I h with its left side nested on the left side of B , we establish a fence alongits top and its bottom sides, anchored on the left side of B . We do similarly for red rectangles of I h whoseright sides are nested on the right side of B . See Figure 10.Figure 10: The initial fences, shown as bold red/blue segments, for the shown set of maximal rectangleswithin a rectangle B .We appeal to the following key technical lemma, whose proof is based on a careful enumeration of cases,detailed in the appendix. Lemma 5.2.
Let I ′ be a set of maximal rectangles associated with an independent set I of rectangles. Let Q be a CCR whose edges lie on the grid lines of G , defined by the coordinates of the rectangles I ′ (and thusof I ). Let { α , . . . , α k α } be a set of “red” horizontal anchored (grid) segments within Q , that are anchoredwith left endpoints on the left sides ( ℓ , ℓ + , or ℓ − ) of Q , and let { β , . . . , β k β } be a set of “blue” horizontalanchored (grid) segments within Q , that are anchored with right endpoints on the right sides ( r , r + , or r − )of Q . Then, assuming that Q contains at least two grid cells (faces of G ), there exists a CCR-cut χ with thefollowing properties: (i) χ partitions Q into O (1) (at most 5) CCR faces; (ii) χ is comprised of O (1) horizontal/vertical segments on the grid G , with endpoints on the grid; iii) horizontal cut segments of χ are a subset of the given red/blue anchored segments; (iv) vertical cut segments of χ do not cross any of the given red/blue anchored segments; (v) there are at most 2 vertical cut segments of χ . The lemma shows that a CCR, Q , with anchored (grid) segments has a CCR-cut, on the grid, partitioning Q into at most 5 CCRs (CCR faces in the grid). Applying this recursively (and finitely, due to the finitenessof the grid), until there is at most one rectangle of I ′ interior to each CCR face, we will be able to conclude,based on the charging scheme below, the proof of the claimed structure theorem. Remark.
There is an equivalent “rotated” version of Lemma 5.2 that applies to a set of vertical (fence)segments anchored on the top/bottom sides of Q , with vertical cut segments lying along the anchoredsegments, and (at most 2) horizontal cut segments not crossing any anchored (vertical) segments. Therotated version applies in our proof of the structure theorem in the case that the non-blue maximal rectangleshave cardinality at least k/ Charging Scheme.
Consider a vertical cut segment, σ , that is part of a CCR-cut χ of a CCR Q , given byLemma 5.2. The segment σ penetrates some (possibly empty) subset, I ′ σ , of rectangles of I ′ that lie within Q ; the intersection of σ with the rectangles I ′ σ is a set of subsegments of σ , at most two of which are not contained within the interior of σ . (For a subsegment of σ not to be interior to σ , the subsegment mustshare an endpoint with σ .) Thus, at most two of the rectangles of I ′ σ are not crossed by σ . Claim 5.3.
None of the rectangles of I ′ σ that are crossed by σ have a top or bottom side that is exposed tothe left/right within Q .Proof. This is immediate from the Fence Invariant, and the fact (Lemma 5.2, part (iv)) that vertical cutsegments do not cross fences.Our charging scheme charges off each non-red rectangle R that is crossed by a vertical cut segment σ .If the rectangle R is red, we do not attempt to charge it off, as our charging scheme is based on chargingto vertices of rectangles that lie to the left/right of R (within the vertical extent of R ), and a red rectangleis, by definition, nesting on its left or on its right (or both), implying that we will not have available thevertices we need to be able to charge. Instead, our accounting scheme below will take advantage of the factthat the number of non-red rectangles is at least k/ R ∈ I ′ within Q that is crossed by a vertical cut segment σ . By property(v) of Lemma 5.2, it must be the case that either there are no vertical cut segments of χ to the right of σ or there are no vertical cut segments of χ to the left of σ . Assume, without loss of generality, that thereis no vertical cut segment to the right of σ . Then, we charge R to a corner, c r , of a rectangle, R r , of I ′ that lies to the right of R . Specifically, let c be the northeast corner of R , and let c ′ be the correspondingshifted corner (slightly to the southwest of c . By Claim 5.3, c is not exposed to the right within Q ; thus,the rightwards horizontal ray from c ′ must penetrate at least one rectangle of I ′ within Q before reachingthe right boundary of Q . Let R r be the first (leftmost) rectangle that is penetrated. Let y + and y − (resp., y + r and y − r ) be the top and bottom y -coordinates of rectangle R (resp., R r ). Similarly, let x + , x − , x + r ,and x − r denote the x -coordinates of the left/right sides of R and R r , so that R = [ x − , x + ] × [ y − , y + ] and R r = [ x − r , x + r ] × [ y − r , y + r ]. By definition of R r , we know that y + r ≥ y + and that x + ≤ x − r . Refer to Figure 11,where we illustrate the charging scheme, enumerating the 8 potential cases, depending if (i) y + = y + r or y + < y + r , (ii) y − > y − r or y − ≤ y − r , (iii) x + = x − r or x + < x − r . We itemize the 8 cases below: (1) [ y + = y + r , y − > y − r , and x + = x − r .] We charge the northwest corner, c r , of rectangle R r . After the cutalong σ , rectangle R r will have its top side exposed to the left, so, to maintain the Fence Invariant, weestablish a horizontal fence segment (shown in red), which includes the top side of R r and will becomeanchored on the left (at a point along σ ). 12 R r cc ′ c r R R r cc ′ W σσ R R r cc ′ c r R R r cc ′ W σσ R R r cc ′ c r R R r cc ′ σσ R R r cc ′ R R r cc ′ W σσ c r c ′ r (1) (2) (3) (4)(5) (6) (7) (8) Not possible Not possibleNot possible Not possible
Figure 11: Case analysis for the charging scheme when a non-red rectangle R is crossed by a vertical portion(shown dashed), σ , of a cut χ . The charged corner is labelled c r , for the possible cases (1), (3), (5), (6). Thefences established after the cut are shown in red. (2) [ y + = y + r , y − > y − r , and x + < x − r .] In this case, there is a rectangular region (shown in gray in thefigure) separating the right side of R from the left side of R r . This gray rectangle must intersect theinterior of at least one rectangle of I ′ ; otherwise, R is not maximal, as it can be extended to the right,until it abuts R r . Thus, there must be some rectangle in I ′ whose interior overlaps with the interiorof the gray rectangle; let W ∈ I ′ be such a rectangle whose top side has the maximum y -coordinateamong all such rectangles. Then, we get a contradiction as follows: If the top side of W lies at orabove the top sides of R and R r , then the rightwards ray from c ′ penetrates W before penetrating R r ,contradicting the definition of R r ; on the other hand, if the top side of W lies below the rightwardsray from c ′ , then we get a contradiction to the maximality of W , since it can be extended upwards, tothe top of the gray rectangle. Thus, this case cannot happen. (3) [ y + = y + r , y − ≤ y − r , and x + = x − r .] This is handled exactly as in case (1): we charge c r and establishthe fence segment (shown in red). (4) [ y + = y + r , y − ≤ y − r , and x + < x − r .] Exactly as in case (2), this case cannot happen.13 [ y + < y + r , y − ≤ y − r , and x + = x − r .] We charge the southwest corner, c r , of rectangle R r . After the cutalong σ , rectangle R r will have its bottom side exposed to the left, so, to maintain the Fence Invariant,we establish a horizontal fence segment (shown in red), which includes the bottom side of R r and willbecome anchored on the left (at a point along σ ). (6) [ y + < y + r , y − ≤ y − r , and x + < x − r .] We charge the southwest corner, c r , of rectangle R r . Considerthe gray rectangle, [ x + , x − r ] × [ y − r , y + ]; we claim that there can be no rectangle W ∈ I ′ whose interioroverlaps with this gray rectangle, for, if such a rectangle existed, then one such rectangle, W , thatmaximizes the y -coordinate of the top side fails to be maximal. Thus, no rectangle is penetrated bythe leftwards ray from c ′ r before it reaches σ . Thus, after the cut along σ , rectangle R r will have itsbottom side exposed to the left. In order to maintain the Fence Invariant, we establish a horizontalfence segment (shown in red), which includes the bottom side of R r and will become anchored on theleft (at a point along σ ) after the cut. (7) [ y + < y + r , y − > y − r , and x + = x − r .] We get a contradiction to the fact that R is non-red, since theinequalities y + < y + r and y − > y − r say that R is nesting on its right. Thus, this case cannot happen. (8) [ y + < y + r , y − > y − r , and x + < x − r .] By reasoning exactly as in case (2), this case cannot happen.Summarizing the above case enumeration of the charging scheme, we state the following facts: Claim 5.4.
The Fence Invariant is maintained with each cut χ .Proof. With each vertical cut segment σ of a CCR-cut χ , we establish horizontal fence segments for eachnewly exposed top/bottom side of a rectangle of I ′ . Claim 5.5.
No corner of any rectangle is charged more than once.Proof.
When a corner c r is charged, as illustrated in the case enumeration of Figure 11 (cases (1), (3), (5),(6)), the corner c r becomes exposed to the left and a horizontal fence segment is established. Once exposed,a corner remains exposed to the left/right in the CCR face containing it, for the remainder of the process ofrecursive partitioning. Claim 5.6.
If a corner, c r , of rectangle R r ∈ I ′ is charged, then R r has not previously been crossed by avertical cut segment, is not currently (as part of χ ) crossed by a vertical cut segment, and will not be crossedby vertical cut segments later in the recursive CCR-partition.Proof. If R r had previously been crossed by a vertical cut segment, σ ′ , then the corner c of R would havebecome exposed to the right, and a fence segment would have been established through c and the top sideof R , preventing R from being crossed.No other vertical cut segment of χ currently lies to the right of σ (recall property (v) of Lemma 5.2, andthe assumption, without loss of generality, that it is the right side of σ that has no vertical cut segment of χ ); thus, R r is not crossed by a vertical cut segment of χ .Later in the recursive CCR-partition, the rectangle R r cannot be crossed by a vertical cut segment, sincesuch a crossing would imply a crossing of the fence we established through the top or bottom side of R r (andthis is ruled out by property (iv) of Lemma 5.2. Indeed, we establish fences in order to enforce that once arectangle has a corner charged, it cannot be crossed by later cuts in the recursive partitioning. Claim 5.7.
At most two corners of a red rectangle are charged: either the two left corners or the two rightcorners.Proof.
Referring to the case analysis above, in each case ((1), (3), (5), or (6)) that a corner c r is charged (asone of the two left corners of R r ), the rectangle R r is not nested on its left (it may be nested on its right, ifit is a red rectangle). (A symmetric argument applies if there is a charged corner, c ℓ of a rectangle, R ℓ tothe left of the vertical cut segment σ .)Thus, a red rectangle can have charged assigned to its corners on at most one of its left/right sides, sinceone of the left/right sides must be nesting, by definition of being “red”.14he set of red rectangles can be partitioned into two sets: those that are cut (let h χ be the number)and those that are not cut (let h be the number). By Claim 5.6, if any rectangle (red or non-red) has acorner charged, then it is not crossed by a vertical cut segment, since, at the moment it is charged, a fenceis established that prevents future cuts from crossing it; thus, there are at most h red rectangles that arecharged, and we know from Claim 5.7 and Claim 5.5 that the amount of charge received by any of these redrectangles is at most 2.Non-red rectangles can be partitioned into two sets: those that are cut (let m χ be the number) and thosethat are not cut (let m be the number). By Claim 5.6, if any rectangle is charged, then it is never crossedby a cut; thus, there are at most m non-red rectangles that are charged, and we know from Claim 5.5 thatthe amount of charge received by any of these non-red rectangles is at most 4 (one unit of charge per corner).We conclude that Claim 5.8.
The total sum of all charges is at most h + 4 m , and thus m χ ≤ h + 4 m .Proof. By Claim 5.7, at most 2 corners of a red rectangle are charged, and by Claim 5.5, each is charged atmost once.It may be that all 4 corners of a non-red rectangle are charged, but, by Claim 5.5, each is charged atmost once.Thus, since the only rectangles that have corners charged are those that are not cut (Claim 5.6), we seethat the total sum of all charges is at most 2 h + 4 m . Since, by specification of the charging scheme, thereis exactly one unit of charge per crossed non-red rectangle, we get that m χ ≤ h + 4 m .In the recursive partitioning, we discard every one of the h χ + m χ rectangles that are crossed by verticalcut segments; what remains in the end are the h + m rectangles that were not crossed and therefore notdiscarded. (These remaining rectangles either appear as isolated rectangles within a leaf face of the CCR-partition, or appear as special rectangles, which are penetrated but not crossed.) Now, Claim 5.8 impliesthat 4( h + m ) ≥ m χ + 2 h = ( m + m χ ) + 2 h − m ≥ ( k/
2) + 2 h − m , from which we see that 2 h + 5 m ≥ k/ , and thus, 5( h + m ) − h ≥ k/ . This implies that 5( h + m ) ≥ k/ , which proves our main claim, Claim 5.9.
The total number, h + m , of rectangles that are not crossed by vertical cut segments (and thusthat survive) in the recursive partitioning is h + m ≥ k/ . An Example.
In Figure 12 we show a detailed example of the recursive partitioning process applied to aspecific set of maximal rectangles (gray). Red and blue fences are shown at each stage of the decomposition;a purple segment indicates a segment that is both a red fence and a blue fence. The cut χ is shown inthick green. The decomposition is depicted from left to right, across the rows of the figure, with the toprow showing the full set of rectangles, and the lower rows focusing on the recursive partitions of some of theCCR subfaces from the rightmost figure in the top row. Each leaf face has a single rectangle. For one of thevertical cut segments, the segment crosses two rectangles (which are discarded, and are shown with an “X”through them) and penetrates one rectangle, at its bottom (that rectangle, shown dotted, corresponds to apotential specified, special rectangle in the subproblem whose boundary it straddles).15igure 12: Illustration of the recursive partitioning process used in the proof of Lemma 5.2.16 Conclusion
Our main result is a first polynomial-time constant-factor approximation algorithm for maximum indepen-dent set for axis-aligned rectangles in the plane.Several open questions are topics for ongoing and future work. First, can the approximation factor weobtain (1/10) be improved? We suspect that there is a more careful analysis of our charging scheme thatimmediately yields an improved factor, since it is often the case that a rectangle that we charge to corners ofnearby rectangles on its left/right actually has multiple corners to which to charge it; a more careful counting,using the planar contact graph of the maximal rectangles can potentially lead to an improved factor. Moreambitiously, is there a PTAS? Our approach seems to give up at least a factor of 2 in its method of handlingthe nestedness issue, in order to guarantee enough rectangles can be charged to nearby rectangle corners.Can the running time of a constant-factor approximation algorithm be improved significantly? Can theConjecture 1 be resolved? (This would yield a constant-factor approximation algorithm with a significantlyimproved running time.)Can our results be extended to the case of weighted rectangles in the plane, with the goal of maximizingthe weight of an independent set? Do our methods extend to the case of independent sets of polygons moregeneral than rectangles? What can be done in three or more dimensions, for MIS on hyperrectangles?
Acknowledgements
This paper has benefited considerably from the anonymous input of reviewers. I thank the referees for theirhelpful suggestions to improve the clarity and precision of the exposition.This work was partially supported by the National Science Foundation (CCF-2007275), the US-IsraelBinational Science Foundation (BSF project 2016116), Sandia National Labs, and DARPA (Lagrange).
Appendix
Proof of Lemma 5.2
Proof.
The proof is by a careful enumeration of cases.All segments of all cuts are chosen to lie on the grid G of vertical/horizontal lines through sides of theinput rectangles. The figures show cases with CCRs that are most complex (12-sided); other cases of CCRsare simpler and are subsumed by the case analysis on the more complex CCRs. In particular, the simplestcase is that in which the CCR Q is a rectangle, with no corners clipped, having sides labeled b , t , ℓ , and r (bottom, top, left and right). Depending if a corner is clipped or not, there may or may not be sides b − , b + , t − , t + , ℓ − , ℓ + , and r − , r + .In the figures below, the fences are shown in blue if their right endpoint lies on the right boundary (sides r + , r , or r − ) of Q , and are referred to using the letter beta (“ β ”); fences with left endpoint on the leftboundary (sides ℓ + , ℓ , or ℓ − ) of Q are shown in red and are referred to using a letter alpha (“ α ”). (Note thata fence segment can extend from a (reflex) vertex of Q , as a collinear extension of one of the top/bottomsides t − , t + , b − , or b + .) For simplicity in the many figures, we omit showing the rectangles associated witheach of the fences.Only those fence segments that are needed to identify the subcases are shown; there may be numerousother red/blue fences. The fences that are shown in the figures are selected in a specific way, according tothe case analysis, such as the fence extending furthest to the left/right, or the first fence hit by a verticalray up/down from a fence endpoint, etc.If there is a red fence segment that overlaps with a blue fence segment, then, together, these fence segmentsdefine a horizontal chord of Q that can serve as a CCR cut χ , partitioning Q into two CCR subfaces. Ifthere exists a vertical (grid) segment σ that does not cross any red/blue fences but that partitions Q intotwo subfaces (with one endpoint on t − , t , or t + , and the other endpoint on b − , b , or b + ), then σ constitutesa CCR-cut χ of Q into two pieces, each of which is a CCR. The conditions (i)-(v) of the lemma hold.17f there are no rectangles of I ′ within Q , there are no fence segments, and the claimed statement is triviallytrue, as any vertical or horizontal cut along edges of the grid satisfies the claim, with the assumption that Q includes at least two rectangular grid faces. Thus, we assume that there is at least one fence segment;without loss of generality, we assume there is at least one blue fence segment, anchored on the right sides of Q . Let ¯ β be a blue fence segment with leftmost left endpoint. Some notation.
We do a careful case analysis, with each case illustrated in the detailed figures. We usethe following notation to indicate relationships among fence segments: • We let α ↑ X (resp., α ↓ X ) indicate that the upwards vertical ray from the right endpoint of the redfence segment α first encounters feature X , with X being a top side of Q or another fence segment; inthe figures, the portions of the corresponding rays are indicated with a pink directed segment (arrow).We similarly define the notation α ↓ X and, corresponding to up/down rays from the left endpoint ofa blue fence segment β , the notation β ↑ X and β ↓ X . • We let “ α ∈ X ”, for X ∈ { ℓ − , ℓ, ℓ + } , denote the fact that the anchored (left) endpoint of red fencesegment α lies on the (left) side X of Q . We similarly use the notation “ β ∈ X ”, for X ∈ { r − , r, r + } ,according to which right side contains the right endpoint of a blue fence segment β . • The cut χ is indicated in the figures with thick green highlighting. The detailed case analysis.
Our case analysis is as follows: (1) [ ¯ β ∈ r ] We obtain subcases ¯ β ↑ X according to the choice of feature X ∈ { t − , t, t + , α } , where α is apotential red fence segment, with α ∈ { ℓ − , ℓ, ℓ + } . Refer to Figure 13. (a) [ ¯ β ↑ t − , t ] We get a simple L-cut, which partitions Q into 2 CCR subfaces, as shown in the figure. (b) [ ¯ β ↑ t + ] We cannot do a simple L-cut in this case, as one side would fail to be a CCR. Thus,we consider more complex cuts, with subcases ¯ β ↓ X according to the choice of feature X ∈{ b − , b, b + , α } , where α is a potential red fence segment, with α ∈ { ℓ − , ℓ, ℓ + } . (i) [ ¯ β ↓ b − , b, b + ] We get a T-cut, consisting of a single vertical cut segment and a single hori-zontal cut segment (along ¯ β ), partitioning Q into 3 CCR subfaces. (ii) [ ¯ β ↓ α ∈ ℓ − , ℓ ] We get a cut that partitions Q into 3 CCR subfaces, as shown in the figures. (iii) [ ¯ β ↓ α ∈ ℓ + ] In this case, we let ¯ α be the red fence anchored on ℓ + , at a point at or below α , having a rightmost right endpoint. (Potentially, ¯ α = α .) We know that ¯ α ↑ β , for β a bluefence segment anchored on r or on r − . (A) [ β ∈ r ] We consider subcases, ¯ α ↓ X , according to the choice of X ∈ { b − , b, b + , α ′ , β ′ } . (I) [ ¯ α ↓ b − , b, b + ] We get a cut that partitions Q into 3 CCR subfaces, as shown in thefigures. (II) [ ¯ α ↓ α ′ ∈ ℓ − , ℓ ] We get a cut that partitions Q into 3 CCR subfaces, as shown inthe figures. (III) [ ¯ α ↓ β ′ ∈ r − , r ] We get a cut that partitions Q into 3 CCR subfaces, as shown inthe figures. (B) [ β ∈ r − ] In this case, we define a mid-rectangle , W , whose y -extent is given by theoverlap in y -coordinates between ℓ + and r − and whose x -extent is from ℓ + to r − ; in thefigure, the mid-rectangle W is shown in gray. The fences ¯ α and β provide a witness to thefact that any vertical chord of the mid-rectangle W intersects a fence segment. We referto this case as the bridged mid-rectangle case, and handle it separately below, in case (3). (c) [ ¯ β ↑ α ∈ ℓ − ] In this case, we let ¯ α be the red fence anchored on ℓ − , at a point at or above α ,having a rightmost right endpoint. (Possibly, ¯ α = α .) We know that ¯ α ↓ β , for β a blue fencesegment anchored on r or on r + . 18 i) [ β ∈ r ] We consider subcases depending on the feature that is above the right endpoint of ¯ α : (A) [ ¯ α ↑ t − , t, t + ] We get a cut that partitions Q into 3 CCR subfaces, as shown in thefigures. (B) [ ¯ α ↑ α ∈ ℓ, ℓ + ] We get a cut that partitions Q into 3 CCR subfaces, as shown in thefigures. (C) [ ¯ α ↑ β ′ ∈ r, r + ] We get a cut that partitions Q into 3 CCR subfaces, as shown in thefigures. (ii) [ β ∈ r + ] In this case, we get the bridged mid-rectangle case handled in case (3) below, sincethe fences ¯ α and β bridge the sides ℓ − and r + . The bridged mid-rectangle W is shown ingray in the figure. (d) [ ¯ β ↑ α ∈ ℓ, ℓ + ] We get a Z-cut that partitions Q into 2 CCR subfaces, as shown in the figures. (2) [ ¯ β ∈ r + ] We obtain subcases ¯ β ↓ X according to the choice of feature X ∈ { b − , b, b + , α } , where α is apotential red fence segment, with α ∈ { ℓ − , ℓ, ℓ + } . Refer to Figure 14. (a) [ ¯ β ↓ b − , b ] We get a simple L-cut, which partitions Q into 2 CCR subfaces, as shown in the figure. (b) [ ¯ β ↓ b + ] We cannot do a simple L-cut in this case, as one side would fail to be a CCR. Thus, weconsider more complex cuts, with subcases ¯ β ↑ X according to the choice of feature X ∈ { t − , t, α } ,where α is a potential red fence segment, with α ∈ { ℓ − , ℓ, ℓ + } . (Note that X = t + is not possible,since ¯ β ∈ r + .) (i) [ ¯ β ↑ t − , t ] We get a T-cut, consisting of a single vertical cut segment and a single horizontalcut segment (along ¯ β ), partitioning Q into 3 CCR subfaces. (ii) [ ¯ β ↑ α ∈ ℓ − ] In this case, we get the bridged mid-rectangle case handled in case (3) below,since the fences ¯ β and α bridge the sides ℓ − and r + . The bridged mid-rectangle W is shownin gray in the figure. (iii) [ ¯ β ↑ α ∈ ℓ, ℓ + ] We get a cut that partitions Q into 3 CCR subfaces, as shown in the figures. (c) [ ¯ β ↓ α ∈ ℓ − , ℓ ] We get a Z-cut that partitions Q into 2 CCR subfaces, as shown in the figures. (d) [ ¯ β ↓ α ∈ ℓ + ] In this case, we define a rectangle, G , shown in light green in the figure, whose topside is t and whose vertical extent corresponds to the overlap in the y -coordinates of the sides ℓ + and r + . In particular, in the shown figures for this case, the bottom endpoint of r + lies belowthe bottom endpoint of ℓ + , so the bottom edge of G has left endpoint at the bottom endpointof ℓ + ; the other case is symmetric, so is not shown separately. The fences ¯ β ∈ ℓ + and α ∈ ℓ + haveoverlapping x -projections; thus, when the set of all fences anchored on the left/right sides ofthe rectangle G are viewed from below, the lower envelope of these (horizontal) fence segmentswithin G has a transition from red to blue (going left to right), defined by a red fence α − and ablue fence β − . Possibly α − = α , and, independently, possibly β − = ¯ β . We either have then that α − ↑ β − (the case shown in the figures), or the case that β − ↑ α − (which is handled in exactlythe same way, so is not separately shown here).We now consider subcases α − ↓ X according to the choice of feature X ∈ { b − , b, b + , α ′ , β ′ } , where α ′ is a potential red fence segment, with α ′ ∈ { ℓ − , ℓ } ( α ′ ∈ ℓ + is not possible), and β ′ is a potentialblue fence segment, with β ′ ∈ { r − , r, r + } . (i) [ α − ↓ b − , b, b + ] We get a cut that partitions Q into 3 CCR subfaces, as shown in the figures.(Note that we included a horizontal cut segment along the full extent of α − ; this was optionaland can be omitted, resulting in a partitioning of Q into just 2 CCR faces, one of which hasthe red fence segment α − extending fulling across it from left side to right side.) (ii) [ α − ↓ α ′ ∈ ℓ − , ℓ ] We get a cut that partitions Q into 3 CCR subfaces, as shown in the figures.(Again, we have included the optional cut along α − .) (iii) [ α − ↓ β ′ ∈ r − , r ] We get a Z-cut that partitions Q into 2 CCR subfaces, as shown in thefigures. 19 iv) [ α − ↓ β ′ ∈ r + ] Let ¯ β ′ be a blue fence anchored on r + , at a point at or below β ′ , havinga leftmost left endpoint. (Possibly, ¯ β ′ = β ′ .) We partition into subcases below, dependingon what features lie above/below the left endpoint of ¯ β ′ . (Note that ¯ β ′ ↑ t − is not possible(because of ¯ β ), ¯ β ′ ↑ t is not possible (because it is blocked by fences), and ¯ β ′ ↑ β ′′ , for a bluefence β ′′ , is not possible (by definition of ¯ β ′ ).) We consider subcases ¯ β ′ ↓ X , according to thechoice of feature X ∈ { b − , b, b + , β ′′ , α ′′ } , where where β ′′ is a potential blue fence segment,with β ′′ ∈ { r − , r } ( β ′′ ∈ r + is not possible, by the definition of ¯ β ′ ), and α ′′ is a potential redfence segment, with α ′′ ∈ { ℓ − , ℓ } ( α ′′ ∈ ℓ + is not possible, since it must be below rectangle G ). (A) [ ¯ β ′ ↓ b − , b ] We get a simple L-cut, which partitions Q into 2 CCR subfaces, as shownin the figures. (B) [ ¯ β ′ ↓ b + ] We cannot do a simple L-cut in this case, as one side would fail to be a CCR.Thus, we consider more complex cuts, with subcases ¯ β ↑ α ′ , where α is a red fencesegment, with α ∈ { ℓ − , ℓ, ℓ + } . (I) [ ¯ β ′ ↑ α ′ ∈ ℓ − ] In this case, we get the bridged mid-rectangle case handled in case (3)below, since the fences ¯ β ′ and α ′ bridge the sides ℓ − and r + . The bridged mid-rectangle W is shown in gray in the figure. (II) [ ¯ β ′ ↑ α ′ ∈ ℓ, ℓ + ] We get a cut that partitions Q into 3 CCR subfaces, as shown inthe figures. (We have included the optional cut along ¯ β ′ .) (C) [ ¯ β ′ ↓ β ′′ ∈ r ] We consider subcases ¯ β ↑ α ′ , where α is a red fence segment, with α ∈{ ℓ − , ℓ, ℓ + } . (I) [ ¯ β ′ ↑ α ′ ∈ ℓ − ] In this case, we get the bridged mid-rectangle case handled in case (3)below, since the fences ¯ β ′ and α ′ bridge the sides ℓ − and r + . The bridged mid-rectangle W is shown in gray in the figure. (II) [ ¯ β ′ ↑ α ′ ∈ ℓ, ℓ + ] We get a cut that partitions Q into 3 CCR subfaces, as shown inthe figures. (We have included the optional cut along ¯ β ′ .) (D) [ ¯ β ′ ↓ β ′′ ∈ r ] We consider subcases ¯ β ↑ α ′ , where α is a red fence segment, with α ∈{ ℓ − , ℓ, ℓ + } . (I) [ ¯ β ′ ↑ α ′ ∈ ℓ − ] In this case, we get the bridged mid-rectangle case handled in case (3)below, since the fences ¯ β ′ and α ′ bridge the sides ℓ − and r + . The bridged mid-rectangle W is shown in gray in the figure. (II) [ ¯ β ′ ↑ α ′ ∈ ℓ, ℓ + ] We get a cut that partitions Q into 3 CCR subfaces, as shown inthe figures. (We have included the optional cut along ¯ β ′ .) (E) [ ¯ β ′ ↓ α ′ ∈ ℓ − , ℓ ] We get a Z-cut that partitions Q into 2 CCR subfaces, as shown in thefigures. (3) [Bridged mid-rectangle ] Assuming that ℓ lies completely above r in y -coordinate, let the mid-rectangle , W , be the rectangle whose y -extent is given by the overlap in y -coordinates between ℓ − and r + and whose x -extent is from ℓ − to r + . The bridged mid-rectangle case assumes that any verticalchord of the mid-rectangle W intersects a fence segment. (There is a symmetric and equivalent casein which ℓ lies completely below r , and the mid-rectangle W has y -extent given by the overlap in ℓ + and r − and has x -extent from ℓ + to r − .)When viewed from above, the upper envelope of the fence segments within W has a transition fromred to blue (going left to right), defined by a red fence α + and a blue fence β + . Similarly, when viewedfrom below, the lower envelope of the fence segments within W has a transition from red to blue (goingleft to right), defined by a red fence α − and a blue fence β − . Possibly α + = α − , and, independently,possibly β + = β − . (a) [ β + ↓ α + ] In this case, there is a Z-cut partitioning Q into 2 CCR subfaces. (b) [ α − ↑ β − ] In this case, there is a Z-cut partitioning Q into 2 CCR subfaces.20 c) [Otherwise: α + ↓ β + and β − ↑ α − ] In this case, in addition to making a Z-cut along α + and β + and the vertical transition segment linking the right endpoint of α + to β + , we continue thevertical transition segment upwards, until it strikes t − , t , β ∈ r + , or α ∈ ℓ, ℓ + . (In the figures,the vertical transition segments are shown in pink.) Symmetrically, in addition to making a Z-cutalong α − and β − and the vertical transition segment linking the left endpoint of β − to α − , wecontinue the vertical transition segment downwards, until it strikes b , b + , α ∈ ℓ − , or β ∈ r − , r .Since the cases are all very similar and simple, in Figure 15 we illustrate just a few of the cases.(What makes the case analysis simple here is that the portion of Q above/below the mid-rectangle W is a very simple shape – a rectangle with just a single corner “clipped”.)In all subcases, we obtain a partitioning of Q into 5 CCR subfaces. Observations and conclusion.
We summarize the results from the case analysis above with the followingobservations, in accordance with the parts (i)-(v) of the claims in the lemma: (i)
In each case, the cut χ partitions Q into at most 5 CCR subfaces. In most cases, Q is partitioned into2 or 3 CCR subfaces; only in case (3)(c) can the number of CCR subfaces be as high as 5. (ii) In each case, the cut χ is comprised of at most 2 vertical cut segments and at most 6 horizontal cutsegments on the grid G , with endpoints on the grid. (iii) In each case, the horizontal cut segments of χ are a subset of the given red/blue anchored segments.Horizontal cut segments are either exactly equal to a fence segment or are equal to a subsegment of afence segment that includes the fence segment’s anchored endpoint. (iv) In each case, the vertical cut segments of χ do not cross any of the given red/blue anchored segments.In all cases, the vertical cut segments pass through an endpoint of a fence segment. The endpointsof each vertical cut segment lie either on the boundary of Q (a top/bottom side of Q ) or on fencesegments (either at an endpoint of the fence or at a point interior to the fence). (v) In all cases except (3)(c), there is a single vertical cut segment; in case (3)(c) there are two vertical cutsegments. 21 (1)(a) (1)(a) (1)(b)(i) (1)(b)(i) (1)(b)(i) (1)(b)(ii) (1)(b)(ii) (1)(b)(iii)(A)(I)(1)(b)(iii)(B) (1)(b)(iii)(A)(I) (1)(b)(iii)(A)(I) (1)(b)(iii)(A)(II) (1)(b)(iii)(A)(II) (1)(b)(iii)(A)(III) (1)(b)(iii)(A)(III) ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β α αα ααααααα α α αααα α α α α ¯ α ¯ α ¯ α ¯ α ¯ α ¯ α ¯ α ¯ α ¯ α ¯ α ¯ α ¯ α ¯ α ¯ α ¯ α ¯ αβ ′ βββ β β β β β ββ ′ β β β β β ββ ′ α ′ α ′ Figure 13: Case (1), and its subcases.22 βα ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β ¯ β (2)(d)(iv)(E)(2)(d)(iv)(E) (2)(d)(iv)(D)(II)(2)(d)(iv)(D)(II)(2)(d)(iv)(D)(I)(2)(d)(iv)(C)(II)(2)(d)(iv)(C)(II)(2)(d)(iv)(C)(I) (2)(d)(iv)(B)(II)(2)(d)(iv)(B)(II)(2)(d)(iv)(B)(I)(2)(d)(iv)(A)(2)(d)(iv)(A)(2)(d)(iii)(2)(d)(iii) (2)(d)(ii)(2)(d)(ii)(2)(d)(i)(2)(d)(i)(2)(d)(i)(2)(c)(2)(c) (2)(b)(iii)(2)(b)(iii)(2)(b)(ii)(2)(b)(i)(2)(b)(i)(2)(a)(2)(a) α α α ¯ β ¯ β ¯ β ¯ βα α αα αα ′ α − α − α − α − α − α − α − α − α − α − α − α − α ′ α ′ α ′ α ′ ααααα ¯ ββ − β − β − β − β − β − β − β − β − β − β − β − β − β − β − β − β − β − β − β − β ′ β ′ β ′ β ′ ¯ β ′ ¯ β ′ ¯ β ′ ¯ β ′ β ′ β ′ ¯ β ′ ¯ β ′ αα − αα − αα − αα − αα − αα − α ′ α ′ β ′ β ′ ¯ β ′ ¯ β ′ β ′′ β ′′ β ′′ β ′′ β ′ β ′ ¯ β ′ ¯ β ′ β ′ β ′ ¯ β ′ ¯ β ′ β ′ ¯ β ′ α ′ α ′ ααα − αα − α ′ α ′ β ′′ β ′′ β ′ β ′ Figure 14: Case (2), and its subcases.23 + β + α − β − α + β + α − β − α + = α − β + β + = β − β − α + = α − (3)(a) (3)(b)(3)(c) (3)(c) (3)(c) α + β + α − β − (3)(c) Figure 15: Case (3), and its subcases.24 eferences [1] Anna Adamaszek, Sariel Har-Peled, and Andreas Wiese. Approximation schemes for independent setand sparse subsets of polygons.
Journal of the ACM (JACM) , 66(4):29, 2019.[2] Anna Adamaszek and Andreas Wiese. Approximation schemes for maximum weight independent set ofrectangles. In , pages 400–409.IEEE, 2013.[3] Anna Adamaszek and Andreas Wiese. A QPTAS for maximum weight independent set of polygons withpolylogarithmically many vertices. In
Proceedings 25th Annual ACM-SIAM Symposium on DiscreteAlgorithms , pages 645–656. SIAM, 2014.[4] Pankaj K Agarwal, Marc van Kreveld, and Subhash Suri. Label placement by maximum independentset in rectangles.
Computational Geometry: Theory and Applications , 3(11):209–218, 1998.[5] Piotr Berman, Bhaskar DasGupta, Shanmugavelayutham Muthukrishnan, and Suneeta Ramaswami.Improved approximation algorithms for rectangle tiling and packing. In
Proceedings 12th Annual ACM-SIAM Symposium on Discrete Algorithms , volume 7, pages 427–436, 2001.[6] Ravi Boppana and Magn´us M Halld´orsson. Approximating maximum independent sets by excludingsubgraphs.
BIT Numerical Mathematics , 32(2):180–196, 1992.[7] Parinya Chalermsook. Coloring and maximum independent set of rectangles. In Leslie Ann Goldberg,Klaus Jansen, R. Ravi, and Jos´e D. P. Rolim, editors,
Approximation, Randomization, and Combinato-rial Optimization. Algorithms and Techniques , pages 123–134, Berlin, Heidelberg, 2011. Springer BerlinHeidelberg.[8] Parinya Chalermsook and Julia Chuzhoy. Maximum independent set of rectangles. In
Proceedings20th Annual ACM-SIAM Symposium on Discrete Algorithms , pages 892–901. Society for Industrial andApplied Mathematics, 2009.[9] Julia Chuzhoy and Alina Ene. On approximating maximum independent set of rectangles. In , pages 820–829. IEEE,2016.[10] Mark De Berg, Marko M de Groot, and Mark H Overmars. Perfect binary space partitions.
Computa-tional geometry , 7(1-2):81–91, 1997.[11] Thomas Erlebach, Klaus Jansen, and Eike Seidel. Polynomial-time approximation schemes for geometricintersection graphs.
SIAM Journal on Computing , 34(6):1302–1323, 2005.[12] Robert J Fowler, Michael S Paterson, and Steven L Tanimoto. Optimal packing and covering in theplane are np-complete.
Information processing letters , 12(3):133–137, 1981.[13] Jacob Fox and J´anos Pach. Computing the independence number of intersection graphs. In
Proceedings22nd Annual ACM-SIAM Symposium on Discrete Algorithms , pages 1161–1165. SIAM, 2011.[14] Fabrizio Grandoni, Stefan Kratsch, and Andreas Wiese. Parameterized approximation schemes forindependent set of rectangles and geometric knapsack. arXiv preprint arXiv:1906.10982 , 2019.[15] Sariel Har-Peled. Quasi-polynomial time approximation scheme for sparse subsets of polygons. In
Proceedings Annual Symposium on Computational Geometry , pages 120–129, 2014.[16] Hiroshi Imai and Takao Asano. Finding the connected components and a maximum clique of an inter-section graph of rectangles in the plane.
Journal of Algorithms , 4(4):310–323, 1983.2517] J. Mark Keil, Joseph S.B. Mitchell, Dinabandhu Pradhan, and Martin Vatshelle. An algorithm for themaximum weight independent set problem on outerstring graphs.
Computational Geometry: Theoryand Applications , 60:19–25, 2017. Special issue devoted to selected papers from CCCG 2015. URL: .[18] Sanjeev Khanna, S. Muthukrishnan, and Paterson Mike. On approximating rectangle tiling and packing.In
Proceedings 9th Annual ACM-SIAM Symposium on Discrete Algorithms , volume 95, page 384. SIAM,1998.[19] Frank Nielsen. Fast stabbing of boxes in high dimensions.
Theoretical Computer Science , 246(1-2):53–72,2000.[20] David Zuckerman. Linear degree extractors and the inapproximability of max clique and chromaticnumber.