Generalized Colourings (Matrix Partitions) of Cographs
ABSTRACT Ordinary colourings of cographs are well understood; we focus on more general colourings, known as matrix partitions. We show
that all matrix partition problems for cographs admit polynomial time algorithms and forbidden induced subgraph characterizations,
even for the list version of the problems. Cographs are the largest natural class of graphs that have been shown to have this
property. We bound the size of a biggest minimal Mobstruction cograph G, both in the presence of lists, and (with better bounds) without lists. Finally, we improve these bounds when either the
matrix M, or the cograph G, is restricted.
-
Citations (0)
-
Cited In (0)
Page 1
Generalized Colourings (Matrix Partitions)
of Cographs
Tom´ as Feder
268 Waverley St., Palo Alto, CA 94301, USA
tomas@theory.stanford.edu,
Pavol Hell
School of Computing Science
Simon Fraser University
Burnaby, B.C., Canada V5A 1S6
pavol@cs.sfu.ca,
and
Winfried Hochst¨ attler
FernUniversit¨ at in Hagen
D-58084 Hagen, Germany
Winfried.Hochstaettler@fernuni-hagen.de
Abstract
Ordinary colourings of cographs are well understood; we focus on
more general colourings, known as matrix partitions. We show that all
matrix partition problems for cographs admit polynomial time algo-
rithms and forbidden induced subgraph characterizations, even for the
list version of the problems. Cographs are the largest natural class of
graphs that have been shown to have this property. We bound the size
of a biggest minimal M-obstruction cograph G, both in the presence of
lists, and (with better bounds) without lists. Finally, we improve these
bounds when either the matrix M, or the cograph G, is restricted.
1
Page 2
1Introduction
Cographs are a well understood class of graphs [4, 5, 14, 18]. A recursive
definition is as follows. The one-vertex graph K1is a cograph; if G′and G′′
are cographs, then so are the disjoint union G′∪ G′′and their join G′+ G′′
(obtained from G′∪G′′by adding all edges joining vertices of G′to vertices
of G′′). It follows that the complement of a cograph is a cograph, and in
fact the join of G′and G′′is the complement of the disjoint union of G′and
G′′. It is not hard to show that G is a cograph if and only if it contains no
induced path with four vertices [18]. Cographs can be recognized in linear
time [5], and they can be represented, in the same time, by their cotree
[5], which embodies the sequence of binary operations ∪,+, from the recur-
sive definition, used in their construction. Many combinatorial optimization
problems can be efficiently solved on the class of cographs, using the cotree
representation [4, 5, 14]. This includes computing the chromatic number,
and, more specifically, deciding if a cograph G is k-colourable. This suggests
looking at more general colouring problems for the class of cographs. In fact,
such investigations have already begun in [6, 19].
In [3, 7, 10, 11], a framework was developed, which encompasses many
generalizations of colourings. Let M be a symmetric m by m matrix over
0,1,∗. An M-partition of a graph G is a partition of the vertex set V (G) into
m parts V1,V2,...,Vmsuch that Viis a clique (respectively independent set)
whenever M(i,i) = 1 (respectively M(i,i) = 0), and there are all possible
edges (respectively no edges) between parts Viand Vjwhenever M(i,j) = 1
(respectively M(i,j) = 0). Thus the diagonal entries prescribe when the
parts are cliques or independent sets, and the off-diagonal entries prescribe
when the parts are completely adjacent or nonadjacent (with ∗ meaning no
restriction). A graph G that does not admit an M-partition is called an
M-obstruction, and is also said to obstruct M. A minimal M-obstruction is
a graph G which is an M-obstruction, but such that every proper induced
subgraph of G admits an M-partition. If M is a set of matrices, we say
that G is a minimal M-obstruction if it is an M-obstruction for all M ∈ M,
but every proper induced subgraph of G admits an M-partition for some
M ∈ M.
Given a graph G, we sometimes associate lists with its vertices: a list
L(v) of a vertex v is a subset of {1,2,... ,m}, and it prescribes the parts
to which v can be placed. In other words, a list M-partition of G (with
respect to the lists L(v),v ∈ V (G)) is an M-partition of G in which each
vertex v belongs to a part Vi with i ∈ L(v). Note that the trivial case
when all lists are L(v) = {1,2,... ,m} corresponds to the situation when
2
Page 3
no lists are given. M-obstructions and minimal M-obstructions (as well as
M-obstructions and minimal M-obstructions) for graphs G with lists L are
defined in the obvious way.
In the (list) M-partition problem, we have a fixed matrix M, and are
asked to decide whether or not a given graph G (with lists) does or does not
admit a (list) M-partition (with respect to the given lists).
We shall mostly focus on matrices M which have no diagonal ∗’s. If
M has a diagonal ∗, then every graph G admits an M-partition; however,
if lists are involved we will allow diagonal ∗’s. A matrix without diagonal
∗’s may be written in a block form, by first listing the rows and columns
with diagonal 0’s, then those with diagonal 1’s. The matrix falls into four
blocks, a k by k diagonal matrix A with a zero diagonal, an ℓ by ℓ diagonal
matrix B with a diagonal of 1’s, and a k by ℓ off-diagonal matrix C and
its transpose. We shall say that M is a constant matrix, if the off-diagonal
entries of A are all the same, say equal to a, the off-diagonal entries of B
are all the same, say b, and all entries of C are the same, say c. In this case,
we also say that M is an (a,b,c)-block matrix. Note that we may assume
that a ?= 0 and b ?= 1, or else we can decrease k or ℓ.
Let M be a fixed matrix; if we prove that all cographs that are mini-
mal M-obstructions have at most K vertices, then we can characterize M-
partitionability of cographs by a finite set of forbidden induced subgraphs.
The complement M of a matrix M has all 0’s changed to 1’s and vice
versa. It is clear that G admits an M-partition if and only if G admits an
M-partition, and that this also applies in the obvious way to M-partitions
with lists, and to M-partitions.
If the matrix M is a (∗,∗,∗)-block matrix, then an M-partition of G is
precisely a partition of the vertices of G into k independent sets and ℓ cliques.
Such partitions have been introduced in [1] (see also [10, 11, 17]), and further
studied in [15, 16] for the class of chordal graphs (see also [12, 13]) and in
[9] for the class of perfect graphs. More recently, they have been studied
(without lists) for the class of cographs in [6, 19].
Suppose M is an m by m matrix; we shall refer to the integers 1,2,...,m
as parts, since they index the set of parts in any M-partition of a graph.
Given two sets of parts, P,Q ⊆ {1,2,...,m}, we define MP,Q to be the
submatrix of M obtained by taking the rows in P and the columns in Q.
We also let MP denote MP,P.
3
Page 4
2List Partition Problems
We first prove that for every matrix M the list M-partition problem for
cographs can be solved in polynomial time, and characterized by finitely
many forbidden induced subgraphs (with lists). By contrast, it is shown
in [12, 13] that there exist matrices M for which the M-partition problem
restricted to chordal graphs is NP-complete, even without lists.
Many of our arguments use the following observation. A disconnected
graph G = G1∪G2has an M-partition if and only if G1has an MP-partition
and G2has an MQ-partition, for some matrix M ∈ M and sets P,Q of parts
such that MP,Qcontains no 1. Of course the argument applies also with lists,
if we view G1,G2as inheriting the corresponding lists. We shall state this
in the contrapositive form as follows.
Lemma 2.1 Let M be fixed, and let G = G1∪G2be a disconnected graph,
with lists.
Then G is an M-obstruction if and only if for any matrix M ∈ M and
any two sets P,Q of parts from M such that MP,Qdoes not contain a 1, the
graph G1(with the corresponding lists) is an MP-obstruction, or the graph
G2(with the corresponding lists) is an MQ-obstruction.
Suppose M is fixed, and G = G1∪ G2is disconnected.
Let M1 be a set of matrices MP, where M ∈ M and P is a set of
parts in M, such that G1 is an MP-obstruction, and let M2 be a set of
matrices MQ, where M ∈ M and Q is a set of parts in M, such that G2
is an MQ-obstruction. If, for any M ∈ M, and any sets of parts P,Q of
M such that MP,Qdoes not contain a 1, we have MP∈ M1or MQ∈ M2,
then the lemma ensures that for any subgraphs G′
which are M1-obstruction and M2-obstruction respectively, the subgraph
G′= G′
2of G is also an M-obstruction. Thus the minimality of G also
implies the minimality of G1,G2. Such sets M1,M2can be always chosen -
for instance as the sets of all matrices MPsuch that G1is an MP-obstruction,
respectively all matrices MQsuch that G2is an MQ-obstruction.
1of G1 and G′
2of G2
1∪G′
Corollary 2.2 Let M be fixed, and let G = G1∪ G2 be a disconnected
graph, with lists. Let M1and M2be chosen as described above.
Then G is an M-obstruction if and only if G1is an M1-obstruction and
G2is an M2-obstruction.
Moreover, if G is a minimal M-obstruction, then G1is a minimal M1-
obstruction, and G2is a minimal M2-obstruction.
4
Page 5
Let f(m) be the smallest integer such that for every m by m matrix M
and every minimal M-obstruction cograph G with lists, G has at most f(m)
vertices. (In other words, f(m) is the largest size, i.e., number of vertices,
of a minimal M-obstruction cograph, over all m by m matrices M.)
Theorem 2.3 For every integer m, we have
f(m) ≤ amm!
where a =
1
ln(3/2).
Proof. We apply Corollary 2.2 with M consisting of the single matrix M.
Clearly a minimal M-obstruction has size at most equal to the sum of the
sizes of minimal M′-obstructions for all M′∈ M; thus we have
f(m) ≤ 2
?
i<m
?m
i
?
f(i).
By induction, letting a = 1/ln(3/2), we have
f(m) ≤ 2m!am
?
0<j≤m
1/(j!aj) ≤ 2m!am(e1/a− 1) = amm!.
Lemma 2.1 also yields an efficient algorithm to solve the list M-partition
problem in the class of cographs. We consider the cotree of G, associating
with each node t of the cotree (corresponding to a cograph Gtinvolved in
the construction of G) a family of matrices Mt. The family Mtconsists of
all matrices MX, for X ⊆ {1,2,... ,m}, such that Gtobstructs MX. If t is
a node of the cotree with children t′,t′′corresponding to Gt= Gt′ ∪Gt′′, we
know that Gtobstructs MXif and only if for any P ⊆ X,Q ⊆ X with MP,Q
not containing 1, the graph Gt′ obstructs MP or the graph Gt′′ obstructs
MQ. Thus from the families Mt′,Mt′′ we can compute the family Mt. If
Gt = Gt′ + Gt′′, we use complementation, as discussed earlier. Since the
leaves of the cotree are single vertex cographs, each leaf t has Mt = ∅.
Then the given cograph G, is at the root r of the cotree, G = Gr, and we
conclude G has a list M-partition if and only if M ?∈ Mr.
Each set Mthas at most 2mmembers, since there are at most 2msubsets
of {1,2,...,m}. Thus we obtain the following bound. (Note that 2O(m)
accounts also for the time to check if M is one of the matrices in Mr.)
5
Page 6
Corollary 2.4 Every list M-partition problem for cographs can be solved in
time 2O(m)n, linear in n.
We could, of course, proceed similarly, to solve the cograph list M-
partition problem for a family M of matrices.
We note that in [6] there are efficient algorithms solving related partition
problems for cographs, for special matrices M, but not necessarily of fixed
size.
We now derive a lower bound on f(m). The special m by m matrix
Mmhas m diagonal zeros, and all off-diagonal entries ∗. Thus a list Mm-
partition of G is precisely a list m-colouring of G. It turns out that there
are very large cograph minimal Mm-obstructions. Since we are dealing with
list colourings, we shall use the corresponding terminology.
Theorem 2.5 For every positive integer m, there exists a minimal Mm-
obstruction cograph G, with lists, of size (e−1−ǫ(m))m!, where 1 ≥ ǫ(m) =
o(1).
Proof. We shall construct a cograph G, with lists from the set {1,...,m}
of colours, that does not have a list colouring, but each of its proper induced
subgraphs does. The construction will be done recursively. For each subset
of colours, K ⊆ {1,2,...,m}, we shall construct a graph G(K), with lists
from {1,...,m}, such that
• G(K) is list colourable with colours from a set S ⊆ {1,...,m} if and
only if |S| ≥ |K| and S ?= K, and,
• for each v ∈ V (G), the subgraph G(K)\v is list colourable with colours
from the set K.
Then G = G({1,2,... ,m}) will be a minimal Mm-obstruction, as de-
sired.
The recursion starts with sets K consisting of a single element i. The
graph G({i}) is a single vertex with list {1,...,m} \ i. This graph clearly
satisfies the above conditions. The graph G(K) with K ⊆ {1,...,m} and
|K| ≥ 2 is recursively defined as the disjoint union of all graphs G(K \ j)
for j ∈ K, together with an additional vertex vK, with list {1,...,m}, that
is adjacent to all other vertices. Note that each G(K) is a cograph, by
induction.
Let S be a set of colours such that G(K) has a list colouring with colours
from S, and let j0denote the colour of vKin such a colouring. Then each
6
Page 7
graph G(K \j) has a list colouring using the colours from S \j0, and hence,
by induction, |S \ j0| ≥ |K \ j|, and S ?= K. On the other hand, if we
remove vK, all components G(K \j) are colourable with colours from K by
induction, and if we remove any other vertex v ∈ G(K \ j0), then, again by
induction, we can colour G(K \ j0) \ v and all G(K \ j), for j ?= j0, with
colours from K \ j0, and colour vKby j0.
Thus G = G({1,...,m}) is a minimal Mm-obstruction (with lists). Let
g(k) denote the number of vertices of a graph G(K) with |K| = k. Then
g(1) = 1 and g(k) = 1 + kg(k − 1), and hence
g(m) =
m−1
?
i=0
m!
(m − i)!= m!
?
1≤i≤m
1/i! = m!(e − 1 − ǫ(m)),
where 1 ≥ ǫ(m) =?∞
i=m+1
1
i!= o(1).
Corollary 2.6 For every integer m, we have
(e − 1 − o(1))m! ≤ f(m) ≤ amm!
for a = 1/ln(3/2).
3Partition Problems Without Lists
For the remainder of the paper, we shall focus on the M-partition problem
without lists. This implies that we now think of M in the block form, having
k diagonal 0’s and ℓ diagonal 1’s, with m = k + ℓ. Specifically, the parts
1,2,...,k will be independent sets, and the parts k+1,k+2,...,k+ℓ = m
will be cliques.
Given that we have no lists, we can improve the general bounds on the
size of cograph minimal M-obstructions G. This is what we shall do in the
present section. In the following two sections we shall obtain even better
bounds when either the matrices M, or the cographs G, are restricted.
Lemma 3.1 Let M be a collection of matrices, each of size at most m.
If G is a minimal M-obstruction cograph with maximum clique size r,
then G has at most g(m,r) ≤ 2?m+r
The same conclusion applies if G has maximum independent set size r.
r
?+?m+r−1
r−1
?−?m+r−2
r−2
?−m−1 vertices.
7
Page 8
Proof.
its vertices can be partitioned into three graphs G0,G1,G2with no edges
between G0and G1,G2, and with all edges between G1and G2, where G1
and G2are non-empty. We may assume that G′= G1+G2contains a clique
of r vertices; in particular, there exists an integer 1 ≤ t ≤ r − 1 such that
the maximum clique size in G1 is r − t and in G2 is at most t. We now
consider how many vertices are needed to ensure that G does not admit an
M-partition for any matrix M ∈ M. Note that no matrix M ∈ M can
contain the submatrix Mr(defined above Theorem 2.5), since G is perfect,
and hence r-colourable.
Let g(m,r) denote the maximum number of vertices in a minimal M-
obstruction cograph G with maximum clique size r. We derive a recurrence
on g(m,r) by estimating separately G0, G1, and G2. If G0 is not empty,
then G′has an M-partition for some M ∈ M, and since M does not contain
Mr, each clique of size r in G′is placed in some set P of t ≤ r parts such
that MP contains a 1. This ensures that G0cannot use at least one part
of M. Thus G0 can be described as a minimal M′-obstruction where all
matrices in M′have size at most m − 1, i.e., G0has at most g(m − 1,r)
vertices. On the other hand, G1and G2have at most g(m,r−t) respectively
g(m,t) vertices, as noted above. We obtain the recurrence
Suppose G has maximum clique size r. Since G is a cograph,
g(m,r) ≤ g(m − 1,r) + g(m,r − t) + g(m,t),
g(0,r) = 1,g(m,1) ≤ m + 1.
In order to bound g(m,r) we consider the quantity
h(m,r) = 2
?m + r
r
?
+
?m + r − 1
r − 1
?−?n−1
?
−
?m + r − 2
r − 2
?we find that
?
.
Using the well-known identity?n
h(m,r) − h(m,r − 1) = h(m − 1,r),
and thus
kk−1
?=?n−1
k
(h(m,r)−h(m,r−1))−(h(m,r−1)−h(m,r−2)) = h(m−1,r)−h(m−1,r−1)
?m + r − 2
rr − 1
(Note that?m+r−2
h(m,r − t) + h(m,t) for t + 1 ≤ r − t, and so h(m,r − t) + h(m,t) ≤
= 2
?
+
?m + r − 3
?
−
?m + r − 4
r − 2
?
≥ 0.
r
?≥?m+r−4
r−2
?.) Therefore h(m,r −(t+1))+h(m,t+1) ≤
8
Page 9
h(m,r−1)+h(m,1). Using the recursion for g(m,r) we conclude inductively
that g(m,r) ≤ h(m,r) − m − 1, namely
g(m,r)
≤
≤
=
h(m − 1,r) − m − 2 + h(m,r − t) − m − 1 + h(m,t) − m − 1
h(m − 1,r) + h(m,r − 1) + h(m,1) − 3m − 4
h(m,r) + 2(m + 1) + 1 − 3m − 4 = h(m,r) − m − 1.
The case of maximum independent set size r follows by complementation.
Theorem 3.2 Any minimal M-obstruction cograph G has at most O(8m/√m)
vertices.
Proof.
of the cotree a set Mt of submatrices of M, obstructed by the graph Gt
corresponding to the node t, and such that Gt obstructs Mt if and only
if the two graphs Gt′,Gt′′, corresponding to the two children t′,t′′of t in
the cotree, obstruct Mt′ and Mt′′ respectively. This is analogous to the
algorithm inherent in Corollary 2.2. The root t0 of our cotree will have
Mt0consisting of the one (given) matrix M, and the corresponding (given)
graph Gt0= G. The total number of vertices of G is precisely the number
of leaves in the cotree. If Gthas maximum clique size at most ˜ m, and if all
matrices in Mthave size at most ˜ m, then the entire branch of the cotree
rooted at t contains at most 2?2 ˜ m
above lemma. If Gt= Gt′ ∪Gt′′, and if both Gt′ and Gt′′ contain a clique of
size greater than k (the number of diagonal 0’s in M), then we can choose
Mt′ and Mt′′ to consist of matrices with maximum size smaller than the
maximum size of a matrix in Mt. Indeed, any M′-partition of Gt′ (or of
Gt′′), with M′∈ Mt, uses a part j of M which is a clique (j > k), and which
therefore cannot be used by Gt′′ (respectively Gt′); thus it suffices to certify
the non-partitionability of Gt′ and Gt′′ for matrices of strictly smaller size.
Similarly, if Gt= Gt′ + Gt′′, and both Gt′ and Gt′′ contain an independent
set of size greater than ℓ, it suffices to certify their non-partitionability for
matrices of size strictly smaller than the maximum size of a matrix in Mt.
We let g( ˜ m) denote the maximum size of a minimal M-obstruction co-
graph G, over all sets M consisting of matrices of size at most ˜ m. Suppose
G = G′∪ G′′(the case G = G′+ G′′is similar), and the maximum clique
sizes in G′,G′′are c′,c′′respectively, with c′≥ c′′. We have observed above
that if c′≥ c′′> k, then G has at most 2g( ˜ m − 1) vertices. If c′′≤ c′≤ ˜ m,
We shall consider a cotree for G, and associate with each node t
˜ m
?+?2 ˜ m−1
˜ m−1
?−?2 ˜ m−2
˜ m−2
?− ˜ m−1 leaves, by the
9
Page 10
then both G′and G′′have size at most 2?2 ˜ m
the lemma, whence G has size at most 2[2?2 ˜ m
If c′> ˜ m and c′′≤ k we continue exploring the cotree, obtaining a sequence
of graphs G′
We always assume that if G′
size greater than ˜ m and G′′
i+1has maximum clique size at most k, and if
G′
i+1has an independent set of size greater than
˜ m and G′′
i+1has maximum independent set size at most ℓ. We now argue
that the sequence cannot be too long, namely, that s ≤ 2˜ m. Indeed, we may
assume that the sets Mtare reduced, in the sense that no MP,MQ∈ Mt
have P ⊆ Q (as any graph obstructing MPalso obstructs MQ). If we let Ni
denote the set of all maximal sets P of parts (out of the m parts of M) such
that MP∈ Mtcorresponding to G′
G′′
i+1is not needed. Thus one maximal set is dropped in each step from Ni
to Ni+1. This implies that s ≤ 2˜ m, and we obtain the general recurrence
?2˜ m
˜ m
˜ m − 1
≤ O(23 ˜ m/√
which solves to g(m) ≤ O(8m/√m).
˜ m
?+?2 ˜ m−1
˜ m
˜ m−1
?−?2 ˜ m−2
˜ m−1
˜ m−2
?− ˜ m−1 by
˜ m−2
?− ˜ m−1].
i= G′
i+1has a clique of
?+?2 ˜ m−1
i+1∪ G′′
i+1∪ G′′
?−?2 ˜ m−2
0,G′
1,...,G′s, where G′
i= G′
i+1or G′
i+1+ G′′
i+1.
i= G′
i+1, then G′
i= G′
i+1+ G′′
i+1, then G′
i, then we see that Ni+1?= Ni, otherwise
g(˜ m) ≤ 2˜ m+1[2
?
+
?2˜ m − 1
?
−
?2˜ m − 2
˜ m − 2
?
− ˜ m − 2] + 2g( ˜ m − 1)
˜ m) + 2g( ˜ m − 1),
We now define F(m) to be the size (number of vertices) of a largest
minimal M-obstruction cograph G without lists, for any m by m matrix M.
From the above theorem we have an upper bound on F(m); the following
lower bound will follow from Theorem 5.2.
Corollary 3.3 We have
m2/4 ≤ F(m) ≤ O(8m/√m).
4 Constant matrices
In this section we prove that for each constant matrix M with k diagonal
0’s and ℓ diagonal 1’s, all cograph minimal M-obstructions have size at
most (k + 1)(ℓ + 1). These M-partitions for constant matrices M (i.e., for
(a,b,c)-block matrices M) have been investigated in the classes of perfect
and chordal graphs in [9, 12, 13], and, in the case of (∗,∗,∗)-block matrices
10
Page 11
(corresponding precisely to partitions into k independent sets and ℓ cliques),
in [6, 15, 16, 19]. Recall that we do not consider lists in this section.
We illustrate the technique in the special case of (∗,∗,∗)-block matrices,
proving the following result; special cases of this result have been proved,
by a different technique, in [6], cf. also [19].
Theorem 4.1 Let M be a (∗,∗,∗)-block matrix. Then each minimal M-
obstruction cograph is (k+1)-colourable, and partitionable into ℓ+1 cliques.
Proof. When ℓ = 0, each minimal M-obstruction is a minimal cograph G
that is not k-colourable. Since cographs are perfect, G = Kk+1, which is
both (k+1)-colourable, and partitionable to (0+1) cliques. The case k = 0
follows by complementation, and we can proceed by induction on k + ℓ.
Let the cograph G be a minimal M-obstruction; we may assume that G is
disconnected, G = G1∪ G2(or we can consider G instead). We shall now
use Corollary 2.2, with the set M consisting of the single matrix M, and
with all lists equal to {1,2,... ,m} (i.e., without lists); we shall be taking
into account the special form of M to choose particular families M1,M2.
Specifically, let j be the smallest integer such that G1has a partition into
k independent sets and j cliques. (Note that 0 ≤ j ≤ ℓ, by the minimality of
G.) Since G1has a partition into k independent sets and j cliques, G2does
not have a partition into k independent sets and ℓ − j cliques (otherwise
G is not an M-obstruction). Let M1 be the (∗,∗,∗)-block matrix with k
diagonal 0’s and j − 1 diagonal 1’s, and let M2be the (∗,∗,∗)-block matrix
with k diagonal 0’s and ℓ − j diagonal 1’s. We now let M1consist of M1
and all its submatrices, and let M2consist of M2and all its submatrices.
It is easy to check that these classes M1,M2satisfy the conditions stated
below Lemma 2.1. Indeed, if P,Q are such that MP?∈ M1,MQ?∈ M2, then
MPhas at least j diagonal 1’s (parts that are cliques), and MQhas at least
ℓ − j + 1 diagonal 1’s (parts that are cliques). This means that some part
i,i > k, (part that is a clique) lies in both P and Q, whence MP,Qcontains
a 1.
We conclude, by Corollary 2.2, that G1is a minimal M1-obstruction,
and G2is a minimal M2-obstruction, and hence a minimal M1-obstruction
and a minimal M2-obstruction respectively (because of the special form of
M1,M2).
Now, by the induction hypothesis, G1 is (k + 1)-colourable and parti-
tionable into j cliques, while G2is (k +1)-colourable and partitionable into
ℓ−j+1 cliques. It follows that G is both (k+1)-colourable and partitionable
into ℓ + 1 cliques.
11
Page 12
Note that a clique can meet an independent set in at most one vertex.
Thus we have an upper bound on the size of a minimal M-obstruction.
In fact, we can conclude that a minimal M-obstruction cograph G can be
described as follows. The vertices of G are vi,j,i = 0,1,...,k,j = 0,1,...,ℓ,
with any two vi,j,vi′,jadjacent, and no two vi,j,vi,j′ adjacent. (There are
additional constraints on when arbitrary vi,j,vi′,j′ are adjacent, arising from
the fact that G is a cograph. This aspect is examined in [6, 19].)
Corollary 4.2 Let M be a (∗,∗,∗)-block matrix. Then each cograph mini-
mal M-obstruction has exactly (k + 1)(ℓ + 1) vertices.
We shall prove the general result in a form better able to support in-
duction. Instead of obstructions to one single (a,b,c)-block matrix M with
k diagonal 0’s and ℓ diagonal 1’s, we shall consider collections M consist-
ing of (a,b,c)-block matrices M0,M1,M2,...,Mr, each having kidiagonal
0’s and ℓidiagonal 1’s. We shall further assume that the collection M is
staircase-like, meaning that ki≤ kjand ℓi≥ ℓjfor all i < j. If we have strict
inequality everywhere, we call the collection strictly staircase-like. Clearly
every collection of (a,b,c)-block matrices N contains a staircase-like subcol-
lection M1as well as a strictly staircase-like subcollection M2, such that a
graph G is an N-obstruction if and only if it is an M1-obstruction if and
only if it is an M2-obstruction.
For notational convenience we shall allow matrices with ki = −1 or
ℓi= −1. In this case we view each graph G as obstructing such a matrix.
In particular, we shall set k−1= ℓr+1= −1.
Theorem 4.3 Let a,b,c be fixed. Let M = {Mi}r
collection of (a,b,c)-block matrices.
Then the maximum size of a minimal M-obstruction cograph is at most
r
?
i=0
i=0be a staircase-like
f(M) =
(ki− ki−1)(ℓi+ 1) =
r
?
i=0
(ℓi− ℓi+1)(ki+ 1).
Proof.
scribed by their parameters ki,ℓi. To simplify the discussion, we shall write
each Miin the more descriptive form M[ki,ℓi], and also write the bounding
function f(M) in the more descriptive form f({(ki,ℓi)}r
Let G be a minimal M-obstruction. We may again suppose that G is
disconnected, say G = G1∪G2, and shall derive an upper bound on G from
upper bounds on G1,G2, using Corollary 2.2. Recall that we may assume
Since the values of a,b,c are fixed, the matrices Miare fully de-
i=0).
12
Page 13
that a ?= 0 and b ?= 1. We shall distinguish two main cases - when c ?= 1 and
when c = 1.
CASE 1: c ?= 1.
We first consider the subcase when a = ∗. Thus a = ∗,b ?= 1,c ?= 1,
and the matrices in M have no 1’s, except those on the main diagonal. As
in the proof of Theorem 4.1, the graph G obstructs M[ki,ℓi] if and only
if there exists some 0 ≤ ji ≤ ℓi+ 1 such that G1 obstructs M[ki,ji− 1]
and G2obstructs M[ki,ℓi− ji] (and, moreover, if G is a minimal M[ki,ℓi]-
obstruction, then G1is a minimal M[ki,ji−1]-obstruction, and G2a minimal
M[ki,ℓi− ji]-obstruction). As M[ki,d] is a submatrix of M[ki+1,d] we can
choose jiso that ji≥ ji+1and ℓi− ji≥ ℓi+1− ji+1. Using induction, and
setting jr+1= 0, we compute
f({(ki,ℓi)}r
i=0)=f({(ki,ji− 1)}r
r
?
i=0
r
?
i=0
i=0) + f({(ki,ℓi− ji)}r
i=0)
=
((ji− ji+1)(ki+ 1) + (ℓi− ji− ℓi+1+ ji+1)(ki+ 1))
=
(ℓi− ℓi+1)(ki+ 1).
Now we consider the other subcase, when a = 1. Here a = 1,b ?= 1,c ?= 1,
and there are off-diagonal ones between any parts j,j′that are independent
sets (j,j′≤ k). Thus any two vertices that are placed in different indepen-
dent sets must be adjacent. We can derive the following conditions from
Corollary 2.2, or by the arguments given below.
The graph G = G1∪ G2has an M[ki,ℓi]-partition if and only if it has
a partition where all parts i that are independent sets (i ≤ k) are in one of
G1,G2, or a partition in which there is only one part that is an independent
set, and that set intersects both G1 and G2 (for this we must have ki ≥
1). Equivalently, G obstructs M[ki,ℓi] if and only if the following three
conditions hold:
1. there exists a uiwith 0 ≤ ui≤ ℓi+1 such that G1obstructs M[0,ui−1]
and G2obstructs M[ki,ℓi− ui],
2. symmetrically, there exists a vi with 0 ≤ vi ≤ ℓi+ 1 such that G2
obstructs M[0,vi− 1] and G1obstructs M[ki,ℓi− vi], and
3. if ki≥ 1, there exists a wiwith 0 ≤ wi≤ ℓi+1 such that G1obstructs
M[1,wi− 1] and G2obstructs M[1,ℓi− wi].
13
Page 14
Note that we always can choose uiand visuch that
ui+ vi≥ ℓi+ 1for all 0 ≤ i ≤ r.(1)
If x denotes the largest value such that G1obstructs M[0,x−1] we may
actually assume that ui= min{x,ℓi+ 1} and vi= min{y,ℓi+ 1}, where y
denotes the largest value such that G2obstructs M[0,y − 1]. In particular,
this implies ui≥ ui+1and vi≥ vi+1for 0 ≤ 1 ≤ r − 1. Similarly, if i0is the
smallest index such that ki0≥ 1 we may assume that wi= min{wi0,ℓi0+1}.
Thus, in order to meet both conditions, it suffices that G1 obstructs
M[0,u0− 1],M[1,wi0− 1] and M[ki,ℓi− vi] for i ≥ 0, and G2 obstructs
M[0,v0− 1],M[1,ℓi0− wi0] and M[ki,ℓi− ui]. We may assume that the
parameters ki are strictly increasing, for if ki = ki+1 then, as ℓi > ℓi+1
any graph that obstructs M[ki,ℓi] also must obstruct M[ki+1,ℓi+1] and,
furthermore (ki+1− ki)(ℓi+1+ 1) = 0. By Corollary 4.2, we may assume
that r ≥ 1 or k0≥ 1.
If k0= 0 and k1= 1, we may assume that x = u0and y = v0have been
chosen such that u0+ v0= ℓ0+ 1 (x and y not necessarily maximal). Also
we may assume that w1= ℓ1− v1as well as ℓ1− w1= ℓ1− u1. Thus, also
u0− 1 = ℓ0− v0, w1= ℓ1− v1and v0− 1 = ℓ0− u0and using induction we
compute the size of G as the sum of the sizes of G1and G2, at most
?r
i=0(ki− ki−1)(ℓi− vi+ 1) +?r
=?r
≤?r
In order to complete this case it suffices to additionally consider the first
three summands in the induction step. Assume first, that k0≥ 2. Then we
have the first three summands in f(G1) are u0+ w0+ (k0− 1)(ℓ0+ 1 − v0)
and for G2we have v0+ℓ0+1−w1+(k0−1)(ℓ0+1−u0). Adding up these
numbers yields
i=0(ki− ki−1)(ℓi− ui+ 1)
i=0(ki− ki−1)((ℓi+ 1) − (ui+ vi− ℓi− 1))
i=0(ki− ki−1)(ℓi+ 1) = f(M).
(k0+ 1)(ℓ0+ 1) − (k0− 2)(u0+ v0− ℓ0− 1) ≤ (k0+ 1)(ℓ0+ 1).
If k0= 1 similar to the first case we may assume w0= u0= ℓ0+ 1 − v0
and we compute
u0+ w0+ (k1− k0)(2ℓ1+ 2 − v1− u1) + v0+ (ℓ0+ 1 − w0)
(k1− k0)(ℓ1+ 1) + 2(ℓ0+ 1) − (k1− k0)(u1+ v1− ℓ1− 1)
(k0+ 1)(ℓ0+ 1) + (k1− k0)(ℓ1+ 1).
=
≤
14
Page 15
Finally, if k0= 0 and k1≥ 2 again we may assume x+ y = u0+ v0= ℓ0
and compute
u0+ w1+ (k1− 1)(2ℓ1+ 2 − v1− u1) + v0+ ℓ1+ 1 − w1
(k0+ 1)(ℓ0+ 1) + (k1− k0)(ℓ1+ 1) − (k1− 1)(u1+ v1− ℓ1− 1)
(k0+ 1)(ℓ0+ 1) + (k1− k0)(ℓ1+ 1).
Thus, in any case G has at most f(M) vertices.
CASE 2: c = 1.
In this case a ?= 0,b ?= 1,c = 1, and a disconnected graph G = G1∪ G2
has an M[k,ℓ]-partition if and only if it has an M[0,ℓ]-partition, or an
M[k,0]-partition.It follows from facts proved in [8], and is easy to see
directly, that the only minimal M[k,0]-obstruction is Kk+1, except in the
case when a = 1 and k ≥ 2, when the disjoint union of K1and K2is the
only other minimal M[k,0]-obstruction. Complements of these graphs are
all the minimal M[0,ℓ]-obstructions, the complement of K1∪ K2, i.e., the
path P3with three vertices, only if ℓ ≥ 2 and b = 0.
Suppose now G is an M-obstruction. Let k,ℓ be largest integers such
that G obstructs M[k,0],M[0,ℓ]; note that kr≤ k,ℓ0≤ ℓ. We claim that G
contains a disconnected induced subgraph H which obstructs M[kr,0] and
M[0,ℓ0] and has size
=
≤
kr+ ℓ0+ 1 = f({(0,ℓ0),(kr,0)}) ≤ f({(ki,li)}r
We may assume that both krand ℓ0are positive, as in case kr= 0 or
ℓ0= 0 the claim holds trivially using the minimal M[kr,0]-obstructions and
the minimal M[0,ℓ0]-obstructions.
If G contains Kkr+1 and Kℓ0+1 then, since in a cograph any maxi-
mum clique meets any maximum independent set (see, for instance Theorem
11.3.3 in [2]), the union of any two such sets can serve as H (with kr+ℓ0+1
vertices).
Next, we consider the case that G contains Kkr+1and P3and ℓ0≥ 2. If
these obstructions are in different components, then we let H = Kkr+1∪P3,
of size kr+4 ≤ (ℓ0+1)+kr, unless ℓ0= 2. In the latter case we remove the
midpoint v of P3. Then H \ v has the right size and contains K3. If Kkr+1
and P3 are in the same component, then this component is not a clique.
Hence, by connectivity, it contains a clique K of size k0+1 ≥ 2 and a vertex
w which is adjacent to some vertex of K and non-adjacent to another. Now,
K + w contains a P3and has kr+ 2 < (ℓ0+ 1) + krvertices.
If G contains Kℓ0+1and K1+ K2and kr≥ 2, then we correspondingly
find an independent set I with ℓ0+ 1 vertices, and a vertex w adjacent to
i=0).
15