H-colouring Pt-free graphs in subexponential time
Carla Groenland1 , Karolina Okrasa2 , Paweł Rzążewski2 , Alex
Scott∗1 , Paul Seymour†3 , and Sophie Spirkl3
1
University of Oxford, {groenland,scott}@maths.ox.ac.uk
2
Faculty of Mathematics and Information Science, Warsaw
University of Technology,
[email protected],
[email protected] 3
Princeton University, {pds,sspirkl}@math.princeton.edu
March 14, 2019
Abstract
A graph is called Pt -free if it does not contain the path on t vertices as
an induced subgraph. Let H be a multigraph with the property that any
two distinct vertices share at most one common neighbour. We show that
the generating function for (list) graph√homomorphisms
from G to H can be
calculated in subexponential time 2O tn log(n) for n = |V (G)| in the class
of Pt -free graphs G. As a corollary, we show that the number of 3-colourings
of a Pt -free graph G can be found in subexponential time. On the other
hand, no subexponential time algorithm exists for 4-colourability of Pt -free
graphs assuming the Exponential Time Hypothesis. Along the way, we prove
that Pt -free graphs have pathwidth that is linear in their maximum degree.
Keywords: colouring, Pt -free, subexponential-time algorithm, partition
function, path-decomposition.
1 Introduction
Throughout this paper, graphs do not have multiple edges or loops. When we need
general graphs (with multiple edges and loops), we call them multigraphs. We use
the notation vv 0 for the edge {v, v 0 }. For a multigraph G, the set NG (v) = {v 0 :
vv 0 ∈ E(G)} contains v if and only if G has a loop at vertex v.
∗
Supported by a Leverhulme Trust Research Fellowship.
†
Supported by ONR grant N00014-14-1-0084 and NSF grant DMS-1265563.
1
A k-colouring of a graph G is a function c : V (G) → {1, . . . , k} such that
c(v) 6= c(v 0 ) for all vv 0 ∈ E(G). The decision problem k-colourability asks
whether a given graph G is k-colourable. This problem is NP-complete for k 3
in general. In order to investigate what graph structure makes the decision problem
hard, a natural question is whether the problem becomes easy if it is restricted
to instances that do not contain a particular structure. Thus we restrict to the
class of F -free graphs, that is, those graphs which do not contain F as an induced
subgraph, for some fixed graph F . If k is part of the input, a full classification
is given by Král et al. [18]. For fixed k 3, k-colourability is shown to be
NP-complete for F -free graphs if F is either a cycle C` for ` 3 [17] or the claw
K1,3 [14, 19]. Any graph F which does not contain a cycle nor the claw is a disjoint
union of paths.
Let Pt denote the path on t vertices. Polynomial-time algorithms for deciding
k-colourability for Pt -free graphs exist for t ¬ 5 [13], (k, t) = (4, 6) [6, 7] and
(k, t) = (3, 7) [4]. On the other hand, Huang [15] showed 4-colourability is
NP-complete for P7 -free graphs and 5-colourability is NP-complete for P6 -free
graphs. It is an open problem to determine the complexity of 3-colourability
of Pt -free graphs for t 8.
It is also open whether maximum independent set is decidable in poly-
nomial time for Pt -free graphs for t 7. Brause [5] and Bascó, Marx and Tuza
[2] independently showed a greedy exhaustive approach yields a subexponential-
time algorithm for maximum independent set on Pt -free graphs. In this paper
we show that there are subexponential-time algorithms for a larger class of prob-
lems, including 3-colourability and maximum independent set, and also
give counting results. Our algorithm builds on the following property of Pt -free
graphs.
Lemma 1. A Pt -free graph of maximum degree ∆ has pathwidth at most (∆−1)(t−
2) + 1. Moreover, a path-decomposition of this width can be found in polynomial
time.
This lemma is an improvement on the treewidth bound of Bascó et al. [1] for
Pt -free graphs (which they used to improve the algorithm of Bascó et al. [2]).
We now introduce our framework. Let H be a multigraph and G a (simple)
graph. A graph homomorphism from G to H is a map f : V (G) → V (H) such
that vv 0 ∈ E(G) implies f (v)f (v 0 ) ∈ E(H). (Thus a 3-colouring is a graph homo-
morphism to K3 .) A list H-colouring instance I = (G, L) consists of a graph G
together with a function L : V (G) → P(V (H)) that assigns a subset Lv ⊆ V (H)
to every v ∈ V (G). A list H-colouring of such an instance is a graph homomor-
phism f from G to H such that f (v) ∈ Lv for all v ∈ V (G). We denote the set of
list H-colourings of (G, L) by LC((G, L), H).
A useful way to summarise information about H-colourings of a graph G is to
use a multivariate generating function (see for example [21]). Given a multigraph
H, we define the partition function p(G,L)→H (x) by
X Y
p(G,L)→H (x) := wu,f (u) xf (u) .
f ∈LC((G,L),H) u∈V (G)
2
We omit the lists L where clear from context. The weights wv,h (for v ∈ V (G) and
h ∈ V (H)) are included to allow more general application and can be ignored by
choosing them identically one. For H = ({h, h0 }, {hh0 , h0 h0 }), pG→H (x) gives the
independent set polynomial when xh0 is set to one.
Summing appropriate coefficients of the polynomial, the partition function can
be used to for example count the number of list H-colourings, or to count the
number of “restrictive H-colourings” [8] in which a restriction is placed on the size
of the preimages of the vertices of H.
The following theorem is our main result and will be proved in Section 3.
Theorem 2. Let H be a multigraph so that |NH (h) ∩ NH (h0 )| ¬ 1 for all distinct
vertices h, h0 of H. For t 4, the polynomial pG→H (x) can be calculated for every
√
O tn log(n)
Pt -free graph G in time 2 where n = |V (G)|.
For simple graphs H, the condition |NH (h) ∩ NH (h0 )| ¬ 1 for all distinct h, h0
is equivalent to H not having C4 as (not necessarily induced) subgraph.
Corollary
√ 3.
The following problems can be solved for Pt -free graphs G in time
O tn log(n)
2 where n = |V (G)|:
• Counting the number of H-colourings for any fixed simple graph H with no
C4 subgraph.
• Computing the independent set polynomial.
In particular, it can be decided in subexponential time whether a Pt -free graph is
3-colourable (and the number of 3-colourings can be counted).
For example, if G is Pt -free and H is an odd cycle, then we can count the number
of H-colourings of G in subexponential time. This problem is #P -complete if all
graphs G are allowed [9] and the corresponding decision problem is NP-complete
[12].
The Exponential Time Hypothesis (ETH) [16] states that there is an > 0
such that there is no O(2n )-time algorithm for 3-sat. In Section 4 we prove the
following result that shows that it is in some sense unlikely that Corollary 3 will
extend to k-colouring Pt -free graphs for k > 3.
Proposition 4. If the Exponential Time Hypothesis is true, then there is no al-
gorithm running in time subexponential in the number of vertices of the graph for
• 4-colourability on P7 -free graphs;
• 3-colourability for F -free graphs for any connected F which is not a path.
This result might shed some light on why the complexity status of 3-colourability
of Pt -free graphs for t large has remained open whereas the complexity of k-
colourability of F -free graphs has been settled for other values of k or F .
3
2 Pathwidth of Pt-free graphs and dynamic pro-
gramming
A path-decomposition of a graph G is a sequence of subsets Xi of vertices of G
with three properties:
• The vertex set of G equals
S
i Xi ,
• For each edge of G, there exists an i such that both endpoints of the edge
belong to subset Xi , and
• X` ∩ Xj ⊆ Xi for every three indices 1 ¬ ` ¬ i ¬ j.
The pathwidth of G is defined as the minimum of maxi |Xi | − 1 over the path-
decompositions of G.
Let T be a rooted tree with root r. For a vertex v, let Tv denote the path of T
between r and v. For each vertex w, fix a linear order of the set of children of w.
We call this a plane tree. If u, v are both children of w and u is earlier than v in
the corresponding ordering, we say u is an elder sibling of v.
Let T be a spanning tree of a graph G, equipped with orders to make it a plane
tree. We call it an uncle tree of G if for every edge uv of G that is not an edge
of T , one of u, v has an elder sibling that is an ancestor of the other. We use the
following result of Seymour [22].
Theorem 5. For every connected graph we can compute an uncle tree with any
specified vertex as root in polynomial time.
(The proof is easy; grow a depth-first tree, subject to the condition that the
path of the tree between each vertex and the root is induced.)
Proof of Lemma 1. We may assume that G is connected. Take an uncle tree T of
G, and order its leaves as p1 , . . . , pk say, in the natural order of the leaves of a
plane tree. For 1 ¬ i ¬ k, let Xi be the set of vertices of T that either belong to
Tpi , or have an elder sibling (and hence also a parent) in this set. We claim that
the sequence (X1 , . . . , Xk ) is a path-decomposition of G. We check that:
• Every vertex belongs to some Xi (this is clear).
• For all u, v adjacent in G, there exists i with u, v ∈ Xi . To see this, since T is
an uncle tree we may assume that u has an elder sibling u0 that is an ancestor
of v. Choose a leaf pi of T such that Tpi contains v; then the common parent
of u, u0 belongs to Tpi , and hence u, v ∈ Xi .
• X` ∩Xj ⊆ Xi for 1 ¬ ` ¬ i ¬ j ¬ k. To see this, let v ∈ X` ∩Xj ; consequently
either v or an elder sibling of v belongs to Tp` , and either v or an elder sibling
belongs to Tpj . It follows that either v or an elder sibling of v belongs to Tpi ,
from the ordering of the leaves of T .
4
This proves the claim.
If T is an uncle tree of G, then each path of T starting from r is induced
in G; and so if G does not contain Pt , then |Tpi | ¬ t − 1 for each i, and so
|Xi | ¬ ∆ − 1 + (t − 3)(∆ − 2) + 1, where ∆ denotes the maximum degree of G.
We give a short outline of how the standard dynamic programming approach
can be applied to compute pG→H (x) in time 2O(p) n given a path-decomposition of
width p of a graph G on n vertices.
Let (X1 , . . . , Xk ) be the given path-decomposition of G. We define X(i) =
j¬i Xj . For each i ∈ [k] and list H-colouring g : Xi → V (H), we compute the
S
polynomial pG[X(i)]→H with the vertices in Xi precoloured: we define pi (g) as the
sum, over the list H-colourings f : X(i) → V (H) such that f |Xi = g, of
Y
wu,f (u) xf (u) .
u∈X(i)
For each list H-colouring g : X1 → V (H), we set p1 (g) = v∈X1 wv,g(v) xg(v) .
Q
Having computed all pi (g) for some i, for each list H-colouring g : Xi+1 → V (H)
we select the list H-colourings g1 , . . . , g` of Xi that are compatible with g, that is,
gi (v) = g(v) for v ∈ Xi ∩ Xi+1 and g(u)g(v) ∈ E(H) if uv ∈ E(G) for all u ∈ Xi
and v ∈ Xi+1 . Since NG [v] ∩ X(i) ⊆ Xi for all v ∈ Xi+1 \ Xi , we can then compute
`
X Y
pi+1 (g) = pi (gj ) wv,g(v) xg(v) .
j=1 v∈Xi+1 \Xi
Finally, we calculate the desired pG→H , which is the sum, over all list H-colourings
g of Xk , of pk (g).
3 Algorithm and time analysis
Throughout this section, H is a fixed multigraph such that |NH (h) ∩ NH (h0 )| ¬ 1
for all distinct h, h0 in H. We allow loops in H but no multiple edges.1 The Pt -free
graphs G are assumed to be simple.
We shall say a list colouring instance I = (G, L) has weight w(I) = v∈V (G) |Lv |
P
and is reduced if |Lv | 2 for all v ∈ V (G). The key observation we need is the
following.
Lemma 6. Let I = (G, L) be a reduced list H-colouring instance and let v ∈ V (G)
with degree d(v). For h ∈ V (H), let
Ch = {v 0 ∈ NG (v) : Lv0 ⊆ NH (h)}.
Then there is at most one h ∈ Lv for which |Ch | > 12 d(v).
1
It is possible to extend the algorithm to compute a version of pG→H (x) with edge weights
Ah,h0 for h, h0 ∈ V (H), but in this case the weights wv0 ,h0 have to be updated in Line 3 and 6 of
Algorithm HCol to wv0 ,h0 Ah,h0 for all v 0 ∈ Nv .
5
Proof. Suppose h 6= h0 in Lv both satisfy |Ch |, |Ch0 | > 12 d(v). Then there exists
v 0 ∈ NG (v) such that v 0 ∈ Ch ∩ Ch0 . Hence Lv0 ⊆ NH (h) ∩ NH (h0 ), so that by
our assumption on H we find |Lv0 | ¬ 1, contradicting the assumption that I is
reduced.
This lemma tells us that “colouring” a vertex v of degree d(v) = ∆ decreases
the weight of a reduced instance by at least 21 ∆ for all but one “colour” in Lv .
Either there is a vertex of high degree and we can reduce the weight significantly
by colouring this vertex, or ∆ is “small” and we can apply the results from the
previous section to compute pG→H (x) in time 2O(t∆) .
Our algorithm “HCol” for computing the list H-colouring function of a graph G
is given below. This algorithm either terminates or recurses on instances of strictly
smaller weight. Therefore, it always terminates in finite time. We can represent the
recursions by a tree: the root is the first call of the algorithm and each recursive
call creates a child. For Pt -free graphs, we can bound the number of nodes in this
recursion tree.
q √
Proposition 7. Let t 4, c > 4 t|V (H)|/ log(2) and f (w) = 2c w log(w) . Then
there exists an n0 for Algorithm HCol such that if it is applied to an instance
I = (G, L) of weight w(I) with G a Pt -free graph, then the number of nodes in the
corresponding recursion tree is bounded by f (w(I)).
Algorithm HCol: Outputs the list H-colouring function.
Input: a list H-colouring instance I = (G, L) for G = (V, E).
1. If |V | ¬ n0 , compute the list H-colouring function exhaustively.
2. If there exists v ∈ V such that |Lv | = 0, return 0.
3. If there exists v ∈ V such that |Lv | = 1, say Lv = {h}, then set L0v0 = Lv0 ∩NH (h)
for v 0 ∈ NG (v) and L0v0 = Lv0 for v 0 6∈ NG (v). Return wv,h xh HCol(G − v, L0 ).
4. If G is not connected, let G1 , . . . , Gk be the connected components. Return
Qk
i=1 HCol(Gi , L|V (Gi ) ). q
5. If the maximum degree of G is at most n log(n)/t, compute a path-
q
decomposition of G of width O tn log(n) and compute the result using dy-
namic programming.
6. Otherwise take v ∈ V of maximal degree. For h ∈ Lv , set Lhv0 = Lv ∩ NH (h) if
v 0 ∈ NG (v) and Lhv0 = Lv0 if v 0 6∈ NG (v). Return h∈Lv wv,h xh HCol(G − v, Lh ).
P
Algorithm HCol gives the correct answer for any graph G: in line 2 we note
that if some vertex has an empty list, then pG→H = 0; in line 3 we note that
if the list of a vertex v ∈ V (G) has a single element h ∈ V (H), then v has to
be mapped to h, i.e. pG→H (x) = wv,h xh pG−v→H (x); in line 4 we use the alge-
braic identity pG1 tG2 →H (x) = pG1 →H (x)pG2 →H (x); in line 6, we use pG→H (x) =
P 2
h∈Lv wv,h xh pG−v→H (x).
2
We left the lists of the vertices implicit in the notation; the precise way in which the lists
need to be updated is given in the algorithm.
6
Inspecting and updating the lists of vertices, finding a vertex of maximal degree
and finding the connected components of a graph on n vertices can all be done in
time Cn2 , where the constant C may depend on H and n0 . Line 5 is applied at
√
O tn log(n)
most once per node and takes 2 . Since |Lv | ¬ |V (H)| for all v ∈ V (G),
it follows that w(I) ¬|V (H)|n = O(n).√ Theorem 2follows from Proposition 7 by
√ √
O tn log(n) O tn log(n) O tn log(n)
observing that Cn2 2 2 =2 .
We require the following simple estimate.
Lemma
√ 8. Let m, y > 0 and c > y −1 . There exists an n0 ∈ N such that f (w) =
ec w log(w) satisfies
q
f (n − 2) + mf n − y n log(n) ¬ f (n)
for all n n0 .
√
Proof. Let > 0 be given such that 1 − x ¬ 1 − 12 xqand e−x ¬ 1 − x/2 for all
√
0 ¬ x ¬ . Choose n0 sufficiently large such that 2/n, y log(n)/n, c log(n)/ n ¬
q
and mn−cy/2 < c
2
log(n)/n for all n n0 (by assumption, cy > 1). We calculate
√ √ √ 1
2
c log(n) n−y n log(n)
q
c (n−2) log(n)
f (n − 2) + mf n − y n log(n) ¬ e + me
√ √
2
1
1−2/n 1−y log(n)/n
= f (n) + mf (n)
1
√
¬ f (n)1−1/n + mf (n)1− 2 y log(n)/n
√ 1
= f (n) e−c log(n)/n + me− 2 cy log(n)
But √ 1 1 q 1
e−c log(n)/n
+ me− 2 cy log(n) ¬ 1 − c log(n)/n + mn− 2 cy < 1.
2
Proof of Proposition 7. Let n0 be given from Lemma 8 applied with m = |V (H)|,
y= √ 1 and using c log(2) instead of c. Enlarging n0 if necessary for the last
4 t|V (H)|
three properties, we may now assume that
q
f (w − 2) + |V (H)|f w − y w log(w) ¬ f (w) for all w n0 ,
f (k) + f (`) + 1 ¬ f (k + `) for all k, ` n0 ,
f (k) + (w − k) + 1 ¬ f (w) for all w n0 , k < w,
w + 1 ¬ f (w) for all w n0 .
The proposition is proved by induction on w = w(I). If the algorithm termi-
nates in line 1, 2 or 5, then there is only one iteration and f (n) 1 for all n ∈ Z0 .
7
If the algorithm reaches line 3, then G has at least n0 vertices and |Lv | 1 for all
v ∈ V , so that w(I) n0 . Therefore, the statement holds for all w < n0 .
Suppose the statement has been shown for instances with w(I) < w for some
w n0 . If the algorithm recurses on line 3, then the removed vertex contributed at
least 1 to the weight, and so by induction at most f (w − 1) + 1 ¬ f (w) iterations
are taken.
If the algorithm reaches line 4, we may assume the instance is reduced, and
so w(I) ¬ 2|V (G)|. Suppose the graph G is disconnected with connected compo-
nents G1 , . . . , Gk . Let Ii = (Gi , L|V (Gi ) ) and note that Ii is also reduced. Hence if
|V (Gi )| ¬ 21 w(Ii ) ¬ n0 , then the recursive call on Gi will take a single iteration.
Renumber so that I1 , . . . , I` have weight at most 2n0 and I`+1 , . . . , Ik have weight
at least 2n0 . By induction the algorithm takes at most
`
X k
X
1+ f (w(Ii )) + 1 ¬ f (w)
i=1 i=`+1
iterations, where the inequality follows from the assumptions we placed on n0 ,
considering k − ` = 0, k − ` = 1 and k − ` > 1 separately.
At line 6, the hypothesis of Lemma 6 is satisfied. All but one of the instances
have their weight reduced by at least
1q 1 q q
n log(n)/t q w (log(w) − log(|V (H)|)) y w log(w)
2 2 t|V (H)|
(using that w = v∈V (G) |Lv | ¬ |V (H)|n and assuming log(w) − log(|V (H)|)
P
1
4
log(w) by enlarging n0 if necessary). The other instance has its weight reduced by
at least 2, since the vertex v with |Lv | 2 is removed. By induction,
the
q number of
nodes in the recursion tree is at most f (w −2)+(|V (H)|−1)f w − y w log(w) +
1 ¬ f (w).
4 Extensions
Our algorithm can easily be adapted to find the H-colouring f of G which min-
P
imises the cost v∈V (G) wv,f (v) ; in particular, Minimum Cost Homomorphism
[11] can be solved in subexponential time for G and H as above.
Note that Lemma 6 is the bottleneck for extending the time complexity to, for
example, 4-colouring (H = K4 ): it is possible that the neighbourhood of a vertex
v with Lv = {1, 2, 3, 4} has mostly neighbours with list {1, 2}, so that both C3
and C4 are large. Assuming the Exponential Time Hypothesis (ETH), this is to
be expected in view of Proposition 4: under ETH, no such subexponential time
algorithm can exist for 4-colourability on P7 -free graphs.
Proof of Proposition 4. Huang [15] gives a reduction of an instance of 3-sat with
m formulas and n variables into an instance of 4-colourability for a P7 -free
graph on O(n + m) vertices. Therefore, any algorithm for 4-colourability on
8
P7 -free graphs yields an algorithm for 3-sat with the same time dependence on
the input size.
Let F be a connected graph which is not a path. Then F contains either
the claw K1,3 or a cycle. We prove ETH implies that there is no subexponential
time algorithm for 3-colourability of F -free graphs. The standard reduction
(for example [10, Prop. 2.26]) from 3-sat to 3-colourability creates a graph
on O(n + m) vertices. Kamiński and Lozin [17] reduce 3-colourability to 3-
colourability on graphs of girth at least g (for every g 3) by (in the worst
case) replacing each vertex by a constant-sized gadget. This handles the case when
F contains a cycle.
For F containing the claw K1,3 , note that claw-free graphs are a superset of
line graphs. Holyer [14] reduces 3-sat to 3-edge colourability on 3-regular
graphs. Given n variables and m clauses, constant-sized gadgets are created for
each variable and clause; additional components are added to the variable gadgets
for each time it occurs in a clause. Since there are at most 3m such occurrences,
this creates a graph on O(n + m) vertices. Since the graph is 3-regular, the number
of edges is O(n + m) as well. Hence the line graph of such a graph will have
O(n + m) vertices. Since 3-colourings of the vertices of the line graph are in one-
to-one correspondence with 3-colourings of the edges of the original graph, we can
hence reduce 3-sat to 3-colourability of line graphs on O(n + m) vertices.
If ETH holds, then any polynomial-time reduction from 3-sat to a prob-
lem with a subexponential algorithm must “blow up” the instance size. Our re-
sult therefore suggests that, if one attempts to prove NP-completeness of 3-
colourability for Pt -free graphs (for t large) by designing gadgets, it may be
necessary either to start from a problem whose instance size has already been
“blown up” or to use gadgets which are not of bounded size.
Our algorithm only uses the property of Pt -free graphs that every induced
subgraph has pathwidth O(t∆). Seymour [22] proves that a tree-decomposition of
width O(`∆) can be computed efficiently for graphs that do not contain cycles
of length at least ` as induced subgraph; therefore, our algorithm extends to this
class of graphs (after adjusting the standard dynamic programming approach of for
example [3] to our setting in a similar fashion as done in Section 2). This motivates
the following question.
Problem. For fixed t, are 3-colourability and maximum independent set
solvable in polynomial time on graphs that have no induced cycles of length greater
than t?
Theorem 5 can also be used to bound tree-depth of Pt -free graphs. The tree-
depth of a graph G is the minimum height of a forest F on the same vertex set
with the property that for every edge of G, the corresponding vertices are in an
ancestor-descendant relationship to each other in F [20].
Corollary 9. The tree-depth of a connected Pt -free graph G of maximum degree
∆ is at most (t − 2)(∆ − 1) + 1.
9
Such a desired forest F can be computed as follows. First compute an uncle
tree T for G. For each non-leaf vertex v ∈ T , create a path Pv containing all the
children of v. The forest F is obtained by connecting the “end”point of a path Pv
to the “start”points of the paths of its children. Now recall that an uncle tree has
height at most t − 1 since each path from the root to a leaf is induced and that a
non-root, non-leaf node has at most ∆ − 1 children.
References
[1] Bacsó, G., Lokshtanov, D., Marx, D., Pilipczuk, M., Tuza, Z.,
and van Leeuwen, E. J. Subexponential-time Algorithms for Maximum
Independent Set in Pt -free and Broom-free Graphs, 2018.
[2] Bacsó, G., Marx, D., and Tuza, Z. H-Free Graphs, Independent Sets,
and Subexponential-Time Algorithms. In 11th International Symposium on
Parameterized and Exact Computation (IPEC 2016) (2017), J. Guo and
D. Hermelin, Eds., vol. 63 of Leibniz International Proceedings in Informatics
(LIPIcs), pp. 3:1–3:12.
[3] Bodlaender, H. L., Bonsma, P., and Lokshtanov, D. The fine details
of fast dynamic programming over tree decompositions. In Parameterized and
Exact Computation (Cham, 2013), G. Gutin and S. Szeider, Eds., Springer
International Publishing, pp. 41–53.
[4] Bonomo, F., Chudnovsky, M., Maceli, P., Schaudt, O., Stein, M.,
and Zhong, M. Three-coloring and list three-coloring of graphs without
induced paths on seven vertices. Combinatorica (2017).
[5] Brause, C. A subexponential-time algorithm for the Maximum Independent
Set Problem in Pt -free graphs. Discrete Applied Mathematics 231 (2017), 113–
118.
[6] Chudnovsky, M., Spirkl, S., and Zhong, M. Four-coloring P6 -free
graphs. I. Extending an excellent precoloring. arXiv:1802.02282 (2018).
[7] Chudnovsky, M., Spirkl, S., and Zhong, M. Four-coloring P6 -free
graphs. II. Finding an excellent precoloring. arXiv:1802.02283 (2018).
[8] Dı́az, J., Serna, M., and Thilikos, D. M. The restrictive H-coloring
problem. Discrete Applied Mathematics 145 (2005), 297–305.
[9] Dyer, M. E., and Greenhill, C. S. The complexity of counting graph
homomorphisms. Random Structures and Algorithms 17 (2000), 260–289.
[10] Goldreich, O. Computational Complexity: A Conceptual Perspective. Cam-
bridge University Press, New York, NY, USA, 2008.
10
[11] Gutin, G., Hell, P., Rafiey, A., and Yeo, A. A dichotomy for minimum
cost graph homomorphisms. European Journal of Combinatorics 29 (2008),
900–911.
[12] Hell, P., and Nešetřil, J. On the complexity of H-coloring. Journal of
Combinatorial Theory, Series B 48 (1990), 92–110.
[13] Hoàng, C. T., Kamiński, M., Lozin, V., Sawada, J., and Shu, X.
Deciding k-colorability of P5 -free graphs in polynomial time. Algorithmica 57
(2010), 74–81.
[14] Holyer, I. The NP-completeness of edge coloring. SIAM Journal on Com-
puting 10 (1981), 718–720.
[15] Huang, S. Improved complexity results on k-coloring Pt -free graphs. Euro-
pean Journal of Combinatorics 51 (2016), 336–346.
[16] Impagliazzo, R., and Paturi, R. On the complexity of k-SAT. Journal
of Computer and System Sciences 62 (2001), 367 – 375.
[17] Kamiński, M., and Lozin, V. Coloring edges and vertices of graphs without
short or long cycles. Contributions to Discrete Mathematics 2 (2007), 61–66.
[18] Král, D., Kratochvı́l, J., Tuza, Z., and Woeginger, G. J. Complex-
ity of coloring graphs without forbidden induced subgraphs. In 27th Inter-
national Workshop on Graph-Theoretic Concepts in Computer Science (WG)
(2001), A. Brandstädt and V. B. Le, Eds., Springer Berlin Heidelberg, pp. 254–
262.
[19] Leven, D., and Galil, Z. NP-completeness of finding the chromatic index
of regular graphs. Journal of Algorithms 4 (1983), 35–44.
[20] Nešetřil, J., and de Mendez, P. Bounded height trees and tree-depth.
In Sparsity: Graphs, Structures, and Algorithms, vol. 28. Springer, Berlin,
Heidelberg, 2012, pp. 115–144.
[21] Scott, A. D., and Sorkin, G. B. Polynomial constraint satisfaction
problems, graph bisection, and the Ising partition function. ACM Trans.
Algorithms 5 (2009), 45:1–45:27.
[22] Seymour, P. Tree-chromatic number. J. Combinatorial Theory, Ser B 116
(2016), 229–237.
11