In this section, we use the linear programming relaxation for the maximum indepen- dent set of rectangles (see Section 5.1) to obtain a polynomial time algorithm for the maximum cross-free matching of 2dorgs.
If G = G(A, B, R) is a 2dorg such that I(R) (or I(R↓)) is perfect, then, by
Theorem 5.2.2 and Lemma 5.1.3,
α∗(G) = κ∗(G), (5.26)
and solving the linear program LP(R) (or LP(R↓)) gives a polynomial time algorithm
for finding a maximum cross-free matching. As observed in Section 5.1, we can find minimum clique-covers of perfect graphs in polynomial time. Therefore, we can also obtain a minimum biclique cover of G.
Not every 2dorg G = G(A, B, R) is such that I(R) or I(R↓) is a perfect graph.
However, this holds for some subclasses. For a bipartite permutation graph G, the graph X(G) is known to be perfect since it is both weakly chordal [122] and co- comparability [16]. Since X(G) corresponds to I(R) for any representation of G =
G(A, B, R) as a 2dorg, we can find using the previous observation a maximum
cross-free matching and minimum biclique cover for bipartite permutation graphs in polynomial time. As mentioned in Section 4.1.1, linear-time algorithms have been developed for both problems [156, 16, 53]. These algorithms use other properties of the structure of bipartite permutation graphs.
Let G = G(A, B, R) be a biconvex graph. As Figure 5-5 shows, the graph X(G) = I(R) is not necessarily perfect.
b1 b2 b3 b4 a1 0 1 1 0 a2 1 1 1 0 a3 1 1 1 1 a4 0 0 1 1
(a) biadjacency matrix
b1 a1 a2 a3 a4 b4 b3 b2 b3 (b) 5-hole
Figure 5-5: A biadjacency matrix and a bicolored 2D-representation of a biconvex graph. The bold entries form a 5-hole. This 5-hole is represented as a 5-cycle of rectangles in the right.
However, for biconvex graphs we can show the following result.
Theorem 5.3.1. For every biconvex graph G, there is a representation as a 2dorg
G = G(A, B, R) for which I(R↓) is perfect.
Proof. Consider a graph G with biconvex adjacency matrix M . Let {a1, . . . , as} and
each element bj ∈ B as an interval Ij = [`(j), r(j)] of elements in A, this is `(j) and
r(j) are the minimum and maximum indices i for which Mij = 1.
It is easy to check that there are no four indices j1, j2, j3, j4 for which the left and
right extremes of the first three intervals are strictly increasing,
`(j1) < `(j2) < `(j3), r(j1) < r(j2) < r(j3), (5.27)
and simultaneously, the second and fourth interval satisfy
`(j4) < `(j2), r(j2) < r(j4). (5.28)
This follows from the fact that no matter how j1, j2, j3 and j4 are sorted in the
labeling of B, there is always an element a ∈ A for which the corresponding ones in the associated row of M , restricted to the previous four columns, are not consecutive. We use the previous property to prove the lemma. Recall that the graph G admits a bicolored representation (A, B), with A on the line y = −x and B weakly above this line. This representation is obtained by the identification
ai = (i, −i), (5.29)
bi = (ri, −li). (5.30)
We claim that the family of rectangles R = R(A, B) obtained from the above representation is such that the intersection graph of R↓ is perfect. We show this
using the Strong Perfect Graph Theorem [32].
Suppose there is a hole H = {R1, R2, . . . , Rk} ⊆ R↓ of I(R↓) with k ≥ 5, where
R` intersects R`−1 and R`+1 (mod k), and R` = Γ(ai`, bj`).
Assume that R1 is the rectangle in H having i1 as small as possible. It is easy to
check that i1 6= i2, since otherwise any rectangle in H intersecting the thinnest3 of R1
and R2 must intersect the other one. By a similar argument, i1 6= ik and ik 6= ik−1.
Also, since R2 and Rk do not intersect, i2 6= ik. Therefore, without loss of generality
we can assume that i1 < i2 < ik. For the rest of the argument, we use Figure 5-6.
We use λ1 to denote the vertical line x = (aik)x = ik, λ2 to denote the horizontal line y = (ai1)y = −i1, Z1 to denote the triangular zone bounded by λ1, λ2 and the line y = −x, Z2 to denote the rectangular area strictly above λ2 and strictly to the left of
λ1, and Z3 to denote the rectangular area strictly below λ2 and strictly to the right
of λ1. Note that the point where λ1 and λ2 intersect is in R1∩ Rk.
First, we claim that i` < ik, for all ` 6= k. Assume, for contradiction, that ik < i`
for some `, meaning that ai` is outside the triangular zone Z1 in Figure 5-6. Since H
is a hole, it is possible to draw a continuous curve in the plane going from the point
ai2 ∈ R2 to the point ai` ∈ R` without ever touching rectangles R1 and Rk. But this
is impossible since to leave Z1 we must touch either λ1 or λ2. Here, we have used
that Z1∩ λ1 ⊆ Rk and Z1∩ λ2 ⊆ R1.
Recall that R2 intersects R1 and that Rk−1 intersects Rk. From here it is easy
to see that i2 < ik−1 (as in the picture) as otherwise R2 and Rk−1 would intersect,
λ1 λ2 y =−x ai1 aik ai2 aik−1 Z1 Z2 Z3
Figure 5-6: Proof for no holes.
contradicting the fact that H is a hole with k ≥ 5.
Now we can deduce where the corners in B are located.
Both bi1 and bik are weakly above λ2 and to the right of λ1. Since R2 intersects R1
but not Rk, the corner bi2 of R2 must be located strictly to the left of the line λ1, as otherwise R2would intersect Rk. The corner bi2 must also be strictly above the line λ2: It can not be strictly below λ2 as otherwise R1 and R2 would not intersect, and it can
not be on the line λ2 since then bi2 ∈ R1, contradicting the inclusion-wise minimality of R1. This means that bi2 is in zone Z2 of Figure 5-6. By an analogous argument, the corner bik−1 of Rk−1 lies in zone Z3. Also, since all the points {ai1, . . . , aik} are in
the zone Z1 and the only rectangles intersecting λ1 or λ2 are Rk−1, Rk, R1 and R2,
we conclude that the points {bi3, . . . , bik−2} are also in Z1.
Note that at least one of the following holds: 1. bi3 ∈ Z1 is located above bik−1.
2. bik−2 ∈ Z1 is located to the right of bik−1.
If neither does, it is not hard to show that R2 and Rk−1 intersect. Set j2 equal to
i3 if the first condition holds and equal to ik2 if the second condition holds. Also set j1 = i2, j3 = ik−1 and j4 = i1. Then the sequence (j1, j2, j3, j4) satisfies (5.27) and
(5.28), contradicting that G is biconvex.
We have shown that I(R↓) contains no odd-hole of size ≥ 5. Now we focus on
antiholes. Suppose that A = {R1, R2, . . . , Rk} is an antihole of I(R↓) of length at
least 7, where Rj intersects every rectangle except Rj−1 (mod k), and Rj+1 (mod k). Let
R1 and Rm be the rectangles in A with minimum and maximum value of its lower
left corner (i1 and im respectively). As in the case of holes, we can check that R1 and
Rj are the only rectangles with corners at ai1 and aim respectively.
We now consider two cases, depending on whether R1 and Rm intersect.
If R1 and Rm have empty intersection, then m = 2 or m = k. For both values
of m, R4 and R5 intersect both R1 and Rm (since the antihole has length k ≥ 7). This
implies that R4 and R5 must contain the point p where the line through the bottom
side of R1 and the line through the left side of Rm intersect (see Figure 5-7), which
contradicts the antihole definition.
The second case is if R1 and Rm intersect (see Figure 5-8). Since the length of the
y =−x Rm
R1 p
Figure 5-7: First case of the proof for no antiholes.
means that Rj intersects both R1 and Rm. Consider the rectangles Rj−1 and Rj+1,
since they do not intersect Rj, each one must be completely contained in one of the
semi-infinite zones Z1 or Z2. Furthermore, since Rj−1 and Rj+1 do intersect, they
both lie in the same zone. But this implies that one of R1 and Rm is not intersected
by both Rj−1 and Rj+1, which is a contradiction with the definition of the antihole.
y =−x ai1 aim aij Z1 Z2 Rj
Figure 5-8: Second case of the proof for no antiholes.
We have shown that I(R↓) contains no hole of size ≥ 5 and no odd antihole of
size ≥ 7 (size 5 is covered since antiholes and holes of size 5 coincide). By the Strong Perfect Graph Theorem [32], we conclude that I(R↓) is perfect.
Let us go back to the general case of 2dorgs. Recall that any such graph admits a bicolored rook representation (by Lemmas 3.4.1 and 3.4.9). In what follows let
G = G(A, B, R) where (A, B) is a bicolored rook representation. In this case no
two points of A ∪ B share the same position and every rectangle has full-dimensional interior.
An elementary, but important observation is the following.
Remark 5.3.2. If R = Γ(a, b) is an inclusion-wise minimal rectangle in R↓, then R
does not contain any point in (A ∪ B) \ {a, b}.
This remark holds since the existence of a point c ∈ R ∩ ((A ∪ B) \ {a, b}) im- plies that either Γ(a, c) or Γ(c, b) is a rectangle in R completely contained in R, contradicting its minimality.
By Remark 5.3.2, there are only four ways in which a pair of rectangles of R↓ can
corner-intersection if one rectangle contains a corner of the other in its topological
interior. If both are in R↓, the only way this can happen is that one rectangle contains
the top-left corner of the other, while the other contains the bottom-right corner of the first.
If the previous case does not happen, we say that the intersection is corner-free. A corner-free-intersection (c.f.i.) family is a collection of inclusion-wise minimal rectangles having no corner-intersections.
a0 a b b0 (a) corner-intersection a0 a b b0 a = a0 b b0 a0 a b = b0 (b) corner-free intersections
Figure 5-9: The only ways two rectangles in R↓ can intersect each other.
Note that c.f.i. families are skew-intersecting families. Therefore, by Lemma 3.4.9, if R↓ has no pair of corner-intersecting rectangles, I(R↓) is perfect.
Let z∗ be the optimal value of LP(R↓) and for every rectangle R ∈ R↓let µ(R) > 0
be its area4. Let ¯x be an optimal extreme point of the following linear program
LP(z∗, R↓) = min X R∈R↓ µ(R)xR: X R∈R↓ xR= z∗ and x ∈ P(R↓) .
Note that ¯x is a solution to LP(R↓) minimizing the total weighted area covered.
It is interesting to note that ¯x is also an optimal extreme point of the linear
program max X R∈R↓ (1 − εµ(R))xr: x ∈ P(R↓) ,
for sufficiently small values of ε. In particular, this means we can find ¯x by solving
only one linear program.
Theorem 5.3.3. The point ¯x is an integral point.
Proof. Suppose that ¯x is not integral. Let R = {R ∈ R↓: ¯xR > 0} be the set of
rectangles in the support of ¯x. We claim that R is a c.f.i. family. Assume for sake
of contradiction that R = Γ(a, b) and R0 = Γ(a0, b0) are two rectangles in R having corner-intersection as in Figure 5-9a. We apply the following uncrossing procedure: let ε = min(¯xR, ¯xR0) > 0 and consider the rectangles S = Γ(a, b0) and S0 = Γ(a0, b) in R↓. Consider the vector ˆx obtained from ¯x by decreasing xR and xR0 by ε and increasing by the same amount xS and xS0. It is easy to see that ˆx is a feasible
4For our discussion, the area or a rectangle R = Γ(a, b) is defined as (b
x− ax)(by− ay). However, our techniques also works if we define the area of a rectangle as the number of grid points it contains.
solution of LP(z∗, R↓) with strictly smaller weighted area than ¯x, contradicting its
optimality.
Since R is a c.f.i. family, I(R) is a perfect graph. Therefore, P(R) is an integral polytope. Consider now the set
F = P(R) ∩ ( x ∈RR↓: X R∈R xR= z∗, X R∈R µ(R)xR = X R∈R µ(R)¯xR ) . (5.31)
This set is a face of P(R) containing only optimum solutions of LP0(z∗, R↓). To
conclude the proof we show that ¯x is a vertex of F , and therefore, a vertex of P(R). If ¯x is not a vertex of F , we can find two different points in F such that ¯x is a convex
combination of those points. This means that ¯x is a convex combination of different
optimum solutions of LP0(z∗, R↓), contradicting the choice of ¯x.
We can find a maximum cross-free matching of G = G(A, B, R) where (A, B) is a bicolored rook representation, using Theorem 5.3.3 as follows: Find the optimal value z∗ of the linear program LP[n]2(R↓) = LP(R↓), where n = |A ∪ B| and then find an optimal extreme point of LP(z∗, R↓).
Using that 2dorgs are chordal-bipartite graphs, for which the maximum cross-free matching and the jump number problems are equivalent, we conclude the following.
Theorem 5.3.4. The maximum cross-free matching and, equivalently, the jump num-
ber of a 2dorg can be computed in polynomial time.
In this section we have shown not only that the value of the linear program LP(R↓)
equals mis(R↓) but also that an integer optimal solution of LP(R↓) can be found by
optimizing an easy to describe linear function over the optimal face of this linear program. In the next section, we give an algorithmic proof that mis(R↓) = mhs(R↓),
implying that the dual linear program LP0[n]2(R↓) (see (5.11)) also admits an integral
vertex. We conjecture that there is also a simple direction such that optimizing on this direction over the optimal face of LP0[n]2(R↓) yields the integral solution.