Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Domination when the stars are out

Domination when the Stars Are Out Danny Hermelin∗ Matthias Mnich† Erik Jan van Leeuwen‡ arXiv:1012.0012v1 [cs.DS] 30 Nov 2010 Gerhard J. Woeginger§ Abstract We algorithmize the recent structural characterization for claw-free graphs by Chudnovsky and Seymour. Building on this result, we show that Dominating Set on claw-free graphs is (i) fixed-parameter tractable and (ii) even possesses a polynomial kernel. To complement these results, we establish that Dominating Set is not fixed-parameter tractable on the slightly larger class of graphs that exclude K1,4 as an induced subgraph. Our results provide a dichotomy for Dominating Set in K1,ℓ -free graphs and show that the problem is fixed-parameter tractable if and only if ℓ ≤ 3. Finally, we show that our algorithmization can also be used to show that the related Connected Dominating Set problem is fixed-parameter tractable on claw-free graphs. ∗ Max-Planck-Institut für Informatik, Saarbrücken, Germany, hermelin@mpi-inf.mpg.de. International Computer Science Institute, Berkeley, USA, mmnich@icsi.berkeley.edu. ‡ Department of Informatics, University of Bergen, Norway, E.J.van.Leeuwen@ii.uib.no. § Department of Mathematics and Computer Science, TU Eindhoven, The Netherlands, gwoegi@win.tue.nl. † 1 1 Introduction The dominating set problem is the problem of determining whether a given graph G has a dominating set of a specified size k. (A subset D ⊆ V (G) is dominating if every vertex in G is either contained in D or adjacent to some vertex in D.) Dominating sets play a prominent role both in algorithmics and in combinatorics: There are books [27, 28] dedicated entirely to dominating sets, while Hedetniemi and Laskar list over 300 papers related to domination in graphs [29]. In complexity theory, Dominating Set was one of the first problems recognized as NP-complete [32], and one of the first examples of an NP-hard optimization problem with an approximation algorithm [31] whose approximation factor guarantee is tight under reasonable assumptions [21]. Dominating Set also plays a central role in parameterized complexity. It motivated the definition of the W-hierarchy, being the first natural example of a problem complete for the class W[2], and has been used since then in many reductions for showing intractability of other problems [16]. In particular, unless FPT=W[2], Dominating Set is not solvable by an algorithm with running time f (k) · nO(1) for any computable function f [15]. Since the dominating set problem is hard in its decision, approximation, and parameterized versions, research has focused on finding special graph classes for which the problem becomes tractable. In this paper we consider the class of claw-free graphs. A graph is claw-free if no vertex has three pairwise nonadjacent neighbors, i.e. if it does not contain K1,3 as an induced subgraph. The class of claw-free graphs contains several well-studied graph classes as a special case, including line graphs, unit interval graphs, the complements of triangle-free graphs, and graphs of several polyhedra and polytopes. Throughout the years, this graph class attracted much interest, and is by now the subject of hundreds of mathematical research papers and surveys [19]. In the context of algorithms, initial study was directed towards extending algorithms developed for line graphs. The foremost examples are the two independent results by Shibi [41] and Minty [35] (the latter corrected by Nakamura and Tamura [37]), which extend Edmond’s classical polynomialtime algorithm for Maximum Independent Set on line graphs [17], better known as the maximum matching, to the class of claw-free graphs. In contrast to the independent set problem, Dominating set on line graphs, also known as Edge Dominating Set, is NP-complete [43]. Nevertheless, Fernau recently showed that this problem has an f (k) · nO(1) time algorithm, where k is the of the solution [23]. Whether this result extends to claw-free graphs has been left an open question. There has also been considerable study devoted to graphs excluding K1,ℓ for ℓ > 3. These types of graphs appear frequently when considering geometric intersection graphs of various types. For instance, unit square graphs are K1,5 -free, and unit disk graphs are K1,6 -free. Marx showed that Dominating Set is W[1]-hard on unit squares graphs, implying that it is also hard on K1,5 -free graphs [34]. Note that the problem becomes easy on K1,2 -free graphs, since these graphs are just disjoint unions of cliques. Thus, the remaining cases left open are K1,3 -free and K1,4 -free graphs. It is important to note that we exclude these graphs as an induced subgraph and not as a subgraph. In the latter case, Dominating Set is actually known to be fixed-parameter tractable due to a result by Philip et al. [38]. 1.1 Our results In this paper, we show how to extend the algorithm of Fernau [23] from line graphs to claw-free graphs. For this, we use a recent highly nontrivial structural characterization of claw-free graphs due to Chudnovsky and Seymour. This characterization shows that every claw-free graph can be built by applying certain gluing operations to certain atomic structures. The proof of this characterization is contained in a sequence of seven papers (called Claw-free graphs I through VII ). The survey [8] gives a compact accessible summary of the main ideas in the proof. The original proof of the Chudnovsky and Seymour characterization theorem for claw-free 1 graphs is essentially nonalgorithmic. Thus, the main challenge in our approach was to provide an algorithmic version of this theorem. We fully meet and settle this challenge in Section 2. Several attempts to characterize claw-free graphs and its subclasses have been made before the full decomposition theorem of Chudnovsky and Seymour appeared. For instance, Fouquet [24] showed that certain claw-free graphs are either so-called quasi-line graphs or possesses a vertex with a C5 as an induced subgraph in its neighborhood. Inspired by this approach and drawing on ideas from the Chudnovsky-Seymour characterization, Faenza et al. [20] recently developed a new polynomial-time algorithm for Maximum Independent Set on claw-free graphs. For Dominating Set, however, the core difficulty of the problem persists even in these quasi-line graphs. Hence such a much finer decomposition is needed, which we develop in this paper. Moreover, we believe that having such a fine decomposition will prove useful in attacking other optimization problems on claw-free graphs. Using our algorithmic claw-free decomposition, we establish the following: • Dominating Set on claw-free graphs is fixed-parameter tractable. To be precise, we show that we can decide the existence of a dominating set of size at most k in O∗ (9k ) time (Section 3). • Connected Dominating Set on claw-free graphs is fixed-parameter tractable and solvable in O∗ (36k ) time (Section 3). This resolves an open question due to Misra et al. [36]. • Dominating Set on claw-free graphs has a polynomial kernel with O(k 4 ) vertices (Section 5). To complement our results, we show that Dominating Set is W[1]-hard on K1,4 -free graphs (see Section 6 for the proof). Thus, we completely determine the parameterized complexity status of Dominating Set in K1,ℓ -free graphs for all values of ℓ. 2 An Algorithmic View of the Structure of Claw-Free Graphs We give algorithms to find the decomposition of claw-free graphs implied by the structural characterization of claw-free graphs by Chudnovsky and Seymour. Moreover, we show that the characterization can be significantly simplified if we assume that the size of the maximum independent set of the graph is greater than three. Due to space limitations, we only state this theorem here and defer its full proof to the appendix. 2.1 Basic Definitions To understand the structure theorem, we need to introduce a significant amount of notation. All notions and definitions are essentially the same as in [10]. We work with a more general type of graph, a so-called trigraph. A trigraph is a graph with a distinguished subset of edges, that are called semi-edges and form a matching. Two vertices are called semiadjacent if there is a semi-edge between them, strongly adjacent if there is an edge between them that is not a semi-edge, and strongly antiadjacent if there is no edge between them. A graph is then simply a trigraph that has no semi-edges. We now say that u, v are adjacent if u, v are either strongly adjacent or semiadjacent, and u, v are antiadjacent if u, v are either strongly antiadjacent or semiadjacent. In a similar manner, we can distinguish (strong) neighborhoods, completeness, cliques, simplicial vertices, etc., as well as (strong) anti-neighborhoods, anti-completeness, stable sets, etc. We use α(G) to denote the maximum size of a stable set of G. A trigraph G is a thickening of a trigraph G′ if for every v ∈ V (G′ ) there is a nonempty set Xv ⊆ V (G), such that Xv is a strong clique in G for each v ∈ V (G′ ), Xu ∩ Xv = ∅ for all S distinct u, v ∈ V (G′ ), and v∈V (G′ ) Xv = V (G). Moreover, if u, v are strongly adjacent in G′ , then Xu is strongly Xv -complete in G; if u, v are strongly antiadjacent in G′ , then Xu is strongly Xv -anticomplete in G; and if u, v are semiadjacent in G′ , then Xu is neither strongly Xv -complete nor strongly Xv -anticomplete in G. 2 Note that if G is a thickening of G′ and G′ is a thickening of G′′ , then G is also a thickening of G′′ . Also note that if a graph G is a thickening of trigraph G′ and u, v are semiadjacent in G′ , then |Xu | + |Xv | ≥ 3. A strong clique X of a trigraph G is homogeneous if every vertex in G\X is either strongly complete or strongly anticomplete to X. A trigraph G admits twins if G has a homogeneous strong clique of size 2. A pair of strong cliques (A, B) is homogeneous if every vertex v ∈ V (G)\(A ∪ B) is either strongly complete or strongly anticomplete to A, and is either strongly complete or strongly anticomplete to B. A homogeneous pair of cliques (A, B) is a W-join if A is not strongly complete nor strongly anticomplete to B, and A or B has size at least 2. A W-join is proper if no member of A is strongly complete or strongly anticomplete to B and no member of B is strongly complete or strongly anticomplete to A. Observe that by thickening a trigraph to a graph, one creates twins and W-joins. Hence given a graph G, we can find a trigraph G′ such that G is a thickening of G′ by contracting twins into a single vertex and replacing W-joins by semi-edges. 2.2 Strips and Stripes A strip-graph H consists of disjoint finite sets V (H) and E(H), and an incidence relation between V (H) and E(H) (i.e. a subset of V (H) × E(H)). For any F ∈ E(H), let F denote the set of h ∈ V (H) incident with F . Note that a strip graph is essentially a hypergraph, except that we allow multiple edges and empty edges. A strip-structure (H, η) of a trigraph G is a strip-graph H with E(H) 6= ∅ and a function η such that for each F ∈ E(H), η(F ) ∈ 2V (G) and for each h ∈ F , η(F, h) ⊆ η(F ), satisfying: • The sets η(F ) (F ∈ E(H)) are nonempty, pairwise disjoint, and have union V (G). • For each h ∈ V (H), the union of the sets η(F, h) for all F ∈ E(H) with h ∈ F is a strong clique of G. • For all distinct F1 , F2 ∈ E(H), if v1 ∈ η(F1 ) and v2 ∈ η(F2 ) are adjacent in G, then there exists h ∈ F1 ∩ F2 such that v1 ∈ η(F1 , h) and v2 ∈ η(F2 , h). • For each F ∈ E(H), the strip corresponding to F is claw-free. Here the strip corresponding to F ∈ E(H), where F = {h1 , . . . , hk }, is defined as follows. Let z1 , . . . , zk be new vertices and let J be the trigraph obtained from G[η(F )] by adding z1 , . . . , zk and for each i making zi strongly complete to η(F, hi ) and strongly anticomplete to J\η(F, hi ). Then (J, {z1 , . . . , zk }) is the strip corresponding to F . Observe that there is a direct correspondence between hi and zi and between η(F, hi ) and N (zi ). Moreover, given just a strip-structure, it is easy to reconstruct the graph it is based on. S We define η(h) = F | h∈F η(F, h) for all h ∈ V (H). We discern two special types of strips. A strip (J, Z) is a spot if J has three vertices, say v, z1 , z2 , and v is strongly adjacent to z1 , z2 , and z1 is strongly antiadjacent to z2 , and Z = {z1 , z2 }. A strip (J, Z) is a stripe if J is a claw-free trigraph and Z ⊆ V (J) is a set of strongly simplicial vertices, such that Z is strongly stable and no vertex of V (J)\Z is adjacent to more than one vertex of Z. We say that a stripe (J, Z) is a thickening of a stripe (J ′ , Z ′ ) if J is a thickening of J ′ with sets S Xv (v ∈ V (J ′ )), such that |Xz | = 1 for each z ∈ Z ′ and Z = z∈Z ′ Xz . 2.3 Special Claw-Free Trigraphs As mentioned before, the structural characterization shows that claw-free graphs can be decomposed into several base classes. Below we define those classes used in our structure theorem. An arc is a connected subset of the sphere S1 . A circular-arc graph is the intersection graph of a set I of arcs. If the arcs do not cover S1 , this is an interval graph. A circular-arc graph is proper if no arc of I contains another arc of I. 3 A line trigraph G of some graph H is a trigraph where V (G) = E(H) and e, f ∈ E(H) are adjacent in G if and only if e and f share an endpoint in H. Moreover, e, f are strongly adjacent if e and f share an endpoint of degree at least three. Let G be the trigraph with V (G) = {v1 , . . . , v13 } such that {v1 , . . . , v6 } is an induced cycle; v7 is strongly adjacent to v1 and v2 ; v8 is strongly adjacent to v4 , v5 , and possibly adjacent to v7 ; v9 is strongly adjacent to v1 , v2 , v3 , and v6 ; v10 is strongly adjacent to v3 , v4 , v5 , and v6 , and adjacent to v9 ; v11 is strongly adjacent to v1 , v3 , v4 , v6 , v9 , and v10 ; v12 is strongly adjacent to v2 , v3 , v5 , v6 , v9 , and v10 ; v13 is strongly adjacent to v1 , v2 , v4 , v5 , v7 , and v8 . Then G\X for any X ⊆ {v7 , v11 , v12 , v13 } is an XX-trigraph. The following trigraphs are called near-antiprismatic trigraphs. Let G be a trigraph that is the disjoint union of three n-vertex strong cliques A, B, C for n ≥ 2 and two vertices a0 , b0 . Let X ⊆ A ∪ B ∪ C with |C\X| ≥ 2 and let the graph have the following adjacencies. For 1 ≤ i, j ≤ n, ai and bj are adjacent if and only if i = j, and ci is antiadjacent to aj and bj if and only if i = j. All (anti-)adjacencies are strong, except that possibly ai is semiadjacent to bi for at most one value of i ∈ {1, . . . , n}, and if so then ci ∈ X; ai is semiadjacent to ci for at most one value of i ∈ {1, . . . , n}, and if so then bi ∈ X; bi is semiadjacent to ci for at most one value of i ∈ {1, . . . , n}, and if so then ai ∈ X. Moreover, a0 is strongly complete to A, b0 is strongly complete to B, and a0 is antiadjacent to b0 . Then G\X is near-antiprismatic. We also define certain special stripes. Let J be near-antiprismatic, let a0 , b0 be as in the above definition, with a0 , b0 strongly antiadjacent, and let Z = {a0 , b0 }. The class of all such stripes (J, Z) is denoted by Z2 . Let H be a graph and let h1 , . . . , h5 be a path in H, such that h1 and h5 have degree one and every edge of H is incident with one of h2 , h3 , h4 . Let J be obtained from a line trigraph of H by making the vertices corresponding to edges h2 h3 and h3 h4 either semiadjacent or strongly antiadjacent, and let Z = {h1 h2 , h4 h5 }. The class of all such stripes (J, Z) is denoted by Z3 . Let J be the trigraph with vertex set {a0 , a1 , a2 , b0 , b1 , b2 , b3 , c1 , c2 } such that {a0 , a1 , a2 }, {b0 , b1 , b2 , b3 }, {a2 , c1 , c2 }, and {a1 , b1 , c2 } are strong cliques, b2 , c1 are strongly adjacent, b2 , c2 are semiadjacent, and b3 , c1 are semiadjacent. Let Z = {a0 , b0 }. The class of all such stripes (J, Z) is denoted by Z4 . Let J be an XX-trigraph, let v1 , . . . , v13 , X be as in the definition of XX-trigraphs, let v7 , v8 be strongly antiadjacent in J, and let Z = {v7 , v8 }\X. The class of all such stripes (J, Z) is denoted by Z5 . 2.4 Algorithmic Structure Theorem theorem of claw-free graphs. Our main result is the following algorithmic structure Theorem 2.1 Let G be a connected claw-free graph, such that G does not admit twins or proper W-joins and α(G) > 3. Then either • G is a thickening of an XX-trigraph, or G is a proper circular-arc graph, or • G admits a strip-structure such that each strip (J, Z) either is a spot or is a stripe with 1 ≤ |Z| ≤ 2 for which either – J is a proper circular-arc graph and |Z| = 1, – J is a proper interval graph and |Z| = 2, – (J, Z) is a thickening of a member of Z2 ∪ Z3 ∪ Z4 ∪ Z5 , or – |Z| = 1, α(J) ≤ 3, and J\N [Z] 6= ∅. Moreover, we can distinguish the cases and find the strip-structure in polynomial time. The proof is given in the appendix. 4 3 Application to Fixed-Parameter Algorithms: Dominating Set Using Theorem 2.1, we show that Dominating Set and Connected Dominating Set on claw-free graphs are fixed-parameter tractable. Due to space limitations, we defer the proof for Connected Dominating Set to the appendix. Let γ(G) denote the minimum size of a dominating set of G. More generally, let γ(G, A), where A ⊆ V (G), denote the size of a smallest subset of V (G) dominating all vertices in V (G)\A. We often implicitly use the following result of Allan and Laskar [1]. Let i(G) denote the minimum size of an independent dominating set of G, that is, of any subset of V (G) that is both an independent set and a dominating set of G. Theorem 3.1 ([1]) If G is a claw-free graph, then i(G) = γ(G). Allan and Laskar also give an algorithm to turn any dominating set into an independent dominating set of the same or smaller size. The consequence for this paper is that we can assume throughout w.l.o.g. that any (minimum) dominating set that we consider is also an independent set. The idea of how to establish the fixed-parameter tractability of Dominating Set on claw-free graphs is as follows. We first show that we can remove twins and proper W-joins from G without changing the size of its minimum dominating set. If α(G) ≤ 3, then γ(G) ≤ 3, and we can easily find a minimum dominating set by exhaustive enumeration. Otherwise, if α(G) > 3, we can apply Theorem 2.1. Then G either belongs to some basic class, or it can be decomposed into strips. If G belongs to a basic class, we can again easily find a minimum dominating set. If G can be decomposed into strips, we solve Minimum Dominating Set separately on each strip. We then develop a fixed-parameter algorithm to stitch the solutions of the strips together. 3.1 Easy Cases and Further Structure We first show that we can remove twins and (proper) W-joins from a graph without changing the size of its minimum dominating set. Moreover, the reductions preserve claw-freeness. Lemma 3.2 Let a, b be twins of a graph G. Then γ(G) = γ(G − a). Proof: Let D be any minimum dominating set of G. Since N [a] = N [b], at most one of a, b is in D. If a ∈ D, replace a by b. The resulting set is a dominating set of G − a of the same size. Let D be any minimum dominating set of G − a. As D ∩ N [b] 6= ∅ and N [a] = N [b], D is a dominating set of G as well. Lemma 3.3 Let (A, B) be a W-join of a graph G and let X ⊆ V (G) be such that A ∩ X 6= ∅ implies A ⊆ X and the same for B. Construct a graph G′ as follows: 1. if a0 ∈ A is strongly complete to B and b0 ∈ B is strongly complete to A, remove A\{a0 } and B\{b0 }; 2. if no a0 ∈ A is strongly complete to B and no b0 ∈ B is strongly complete to A, remove all edges between A and B and remove all but one vertex from both A and B; 3. if a0 ∈ A is strongly complete to B and no b0 ∈ B is strongly complete to A, let a1 ∈ A be strongly antiadjacent to some b0 ∈ B, and remove all vertices of A\{a0 , a1 } and all vertices of B\{b0 }. Now let X ′ = X ∩ V (G′ ). Then γ(G, X) = γ(G′ , X ′ ). Proof: There are three cases to consider. 5 1. Note that a0 and b0 are adjacent in G′ . Let D′ ⊆ V (G′ ) dominate V (G′ )\X ′ . From the definition of a W-join, recall that every vertex of V (G)\(A ∪ B) is either A-complete or A-anticomplete and either B-complete or B-anticomplete. Moreover, A and B are cliques. If a0 ∈ D′ (resp. b0 ∈ D′ ), then a0 (resp. b0 ) dominates both A and B in G. Clearly, D′ is also a subset of V (G) dominating V (G)\X. Let D ⊆ V (G) dominate V (G)\X. If D ∩ A 6= ∅, we can assume that a0 ∈ D. Similarly, if D ∩ B 6= ∅, we can assume that b0 ∈ D. By the definition of a W-join, it follows that D ∩ A ⊆ {a0 }, that D ∩ B ⊆ {b0 }, and thus that D is also a subset of V (G′ ) dominating V (G′ )\X ′ . 2. Let a0 and b0 be the vertices of A and B respectively that were not removed. Note that a0 and b0 are not adjacent in G′ . Let D′ ⊆ V (G′ ) dominate V (G′ )\X ′ . Clearly, D′ is also a subset of V (G) dominating V (G)\X and |D| = |D′ |. Let D ⊆ V (G) dominate V (G)\X. Note that no vertex of A (resp. B) dominates all of B (resp. A). Now let D′ be the set containing all vertices of D that are also in G′ . If A ∩ D 6= ∅ (resp. B ∩ D 6= ∅), add a0 (resp. b0 ) to D′ . By the definition of a W-join, it follows that D′ is a subset of V (G′ ) dominating V (G′ )\X ′ and |D′ | ≤ |D|. 3. Note that a0 is adjacent to both a1 and b0 in G′ and that a1 and b0 are not adjacent in G or G′ . Let D′ ⊆ V (G′ ) dominate V (G′ )\X ′ . If a0 ∈ D′ , then D′ dominates N [A] and B in G. If a1 ∈ D′ , then D′ dominates N [A] in G, but not all of B. Hence there must be a vertex to ensure that B gets dominated. However, as a1 does not dominate b0 in G, D′ contains such a vertex. A similar argument holds for the case when b0 ∈ D′ . Then, from the definition of a W-join, D′ is also a subset of V (G) dominating V (G)\X. Let D ⊆ V (G) dominate V (G)\X. Now let D′ be the set containing all vertices of D that are also in G′ . If A ∩ D 6= ∅ (resp. B ∩ D 6= ∅, replace A ∩ D by a0 (resp. B ∩ D by b0 ) and call the resulting set D′ . Note that the set of vertices dominated in G by a0 is a superset of the set of vertices dominated in G by any other vertex of A. Moreover, no vertex of B is complete to A and any vertex in N [A]\B is complete to A, and thus any vertex of B ∩ D is replaceable by any other vertex of B. Clearly, D′ is a subset of V (G′ ) dominating V (G′ )\X ′ . The lemma follows. The second case of the lemma implies that we can remove proper W-joins. These reductions then allow us to use the structure theorem. We now show that if a graph G is in a ‘basic class’, a minimum dominating set can be computed in polynomial time. Theorem 3.4 ([30]) Let G be a circular-arc graph. Then γ(G) can be computed in linear time. Lemma 3.5 Let G be a graph that is a thickening of an XX-trigraph. Then γ(G) can be computed in polynomial time. Proof: Consider a graph G′ ∈ S2 such that G is a thickening of G′ . In G′ , make v7 , v8 and v9 , v10 strongly antiadjacent and call the resulting graph G′′ . If D is a dominating set in G′′ , then D corresponds to a dominating set in G of equal size. Observe now that v2 , v4 , v6 dominate all vertices of G′′ . Hence γ(G) is constant and thus can be computed in polynomial time. 6 Given a strip-structure of a graph, we want to compute a minimum dominating set efficiently for all its strips and be able to stitch these solutions together in an optimal fashion. To this end, we need to parameterize the minimum dominating set of a strip (J, Z) by what a minimum dominating set D of G would look like relative to this strip. Let F be the edge of the strip structure corresponding to (J, Z). Then for each h ∈ F corresponding to some z ∈ Z, there are three possible cases, depending on whether or not η(h) or η(F, h) contains a vertex of D or not. We model this by considering two disjoint sets X, Y ⊆ Z. We put z ∈ Z into X to model the situation where η(h) ∩ D = ∅ and we put z into Y to model the situation where (η(h)\η(F, h)) ∩ D 6= ∅. Then, for any class of strips we have, we have to show how to compute γ(J\(X ∪ Y ), N [Y ]) efficiently for any disjoint X, Y ⊆ Z. Observe that the case when z ∈ Z is neither in X nor in Y correctly models the case when η(F, h) ∩ D 6= ∅, because, since z is simplicial, we can always assume that any dominating set of J contains a neighbor of z instead of z. Lemma 3.6 Let (J, Z) be a stripe such that (J, Z) is a connected circular-arc graph. For any disjoint X, Y ⊆ Z, γ(J\(X ∪ Y ), N [Y ]) can be computed in linear time. Proof: Find a set of arcs I1 , . . . , In of the sphere S1 such that this is a representation of J as a circular arc graph. This can be done in linear time [14]. Since each z ∈ Z is strongly simplicial, there is a point pz ∈ S1 such that the arcs containing pz are precisely those corresponding to N [z]. We can assume that pz is contained in the interior of each of these intervals. Consider some disjoint X, Y ⊆ Z. For each z ∈ Y , remove the interval [pz − ǫ, pz + ǫ] from each arc for some infinitesimally small ǫ > 0. Let I1′ , . . . , In′ ′ be the resulting set of arcs and J ′ the intersecting graphs of these arcs. Note that n′ = n + |N [Y ]| and that J ′ is a circular arc graph. Consider some z ∈ Y . Observe that both copies of z in J ′ correspond to either a leftmost or a rightmost interval of the representation. For each copy, add a vertex to J ′ adjacent to only to z. Let J ′′ be the graph that is obtained after doing this for all z ∈ Y . Moreover, we remove all z ∈ X. By the preceding observation, J ′′ is still a circular arc graph. The vertices added to J ′ ensure that both copies of z for each z ∈ Y will be in some minimum dominating set of J ′′ . Hence γ(J ′′ ) − 2|Y | = γ(J\(X ∪ Y ), N [Y ]). As J ′′ is a circular arc graph, γ(J ′′ ) can be computed in linear time following Theorem 3.4. Lemma 3.7 Let (J, Z) be a thickening of a stripe in Z5 such that J is a graph. For any disjoint X, Y ⊆ Z, γ(J\(X ∪ Y ), N [Y ]) can be computed in polynomial time. Proof: Consider some disjoint X, Y ⊆ Z. For any z ∈ Y , add a new vertex adjacent to z only. Remove all z ∈ X. The resulting graph J ′ has γ(J ′ ) − |Y | = γ(J\(X ∪ Y ), N [Y ]). Observe now that one of {v4 , v6 , v7 }, {v2 , v6 , v8 }, {v3 , v6 , v7 , v8 }, {v2 , v4 , v6 } is to a dominating set of J ′ using similar arguing as in Lemma 3.5. Hence γ(J ′ ) ≤ 4 and thus γ(J ′ ) can be computed in polynomial time. Lemma 3.8 Let (J, Z) be a stripe with 1 ≤ |Z| ≤ 2, α(J) ≤ 3, J\N [Z] 6= ∅, and J is a graph. For any disjoint X, Y ⊆ Z, γ(J\(X ∪ Y ), N [Y ]) can be computed in polynomial time. Proof: Consider some disjoint X, Y ⊆ Z. For any z ∈ Y , add a new vertex adjacent to z only. Remove all z ∈ X. The resulting graph J ′ has γ(J ′ ) − |Y | = γ(J\(X ∪ Y ), N [Y ]). Since α(J ′ ) ≤ 5, γ(J ′ ) can be computed in polynomial time. We observe that if a stripe (J, Z) is a thickening of a member of Z2 ∪ Z3 ∪ Z4 , then α(J) ≤ 3. Hence the above lemma also applies to such stripes. 7 Lemma 3.9 Let (J, Z) be a spot. For any disjoint X, Y ⊆ Z, γ(J\(X ∪ Y ), N [Y ]) can be computed in constant time. This is trivial. We now investigate the strip-structure given by Theorem 2.1 in relation to the minimum dominating set problem. It follows from the strip-structure that we can see H as a multigraph with loops. The loops are precisely those F ∈ E(G) for which |F | = 1. We bicolor the edges of H as follows. Color an edge F ∈ E(H) black if the strip (J, Z) corresponding to F satisfies that V (J)\N [Z] 6= ∅, or that V (J) is a union of two strong cliques, |V (J)| ≥ 4, and |Z| = 2. All other edges are colored white. We can observe from Theorem 2.1 that strips corresponding to white edges of H are either spots or have exactly one edge and two vertices. Lemma 3.10 Strips corresponding to white edges of H are either spots or have exactly one edge and two vertices. Proof: Let F be a white edge and let (J, Z) be the corresponding strip. Suppose that |Z| = 1. Then V (J) = N [Z]. But since any two vertices of N (Z) are twins, it follows that V (J) = 2. So suppose that |Z| = 2. Since V (J) = N [Z], V (J) is a union of two strong cliques. But then |V (J)| ≤ 3. But then (J, Z) cannot be a stripe and thus it must be a spot by Theorem C.20. Lemma 3.11 If γ(G) ≤ k, then the subgraph HB of H induced by the black edges has at most 2k vertices. Proof: Let D be a minimum dominating set of G. We say that an edge F ∈ E(HB ) is marked if D ∩ η(F ) 6= ∅. Suppose that |V (HB )| > 2k. Then there is a vertex h ∈ V (HB ) that is not incident to a marked edge. Let F be any edge of HB incident to h and let (J, Z) be the strip corresponding to F . If V (J)\N [Z] 6= ∅, then D must contain a vertex of η(F ), a contradiction to the fact that F is unmarked. Hence V (J) is a union of two strong cliques. But then for D to be a dominating set of G, η(F ) ∩ D 6= ∅, or η(h) ∩ D 6= ∅ and η(h′ ) ∩ D 6= ∅, where F = {h, h′ }. Since F is unmarked and h is not incident to a marked edge, neither is the case. But then D is not a dominating set of G, a contradiction. Hence |V (HB )| ≤ 2k. Lemma 3.12 Let D be a dominating set of G with |D| ≤ k. Let H ′ denote the graph obtained from H by removing all black edges and removing all h ∈ V (H) incident to a black edge F ∈ E(H) for which η(F, h) ∩ D 6= ∅. Suppose that there are k ′ vertices h for which η(F, h) ∩ D 6= ∅ for some black edge F . Then D induces a vertex cover of H ′ of size at most 2(k − k ′ ). Proof: We say that an edge F ∈ E(H ′ ) is marked if D ∩ η(F ) 6= ∅. Now construct a vertex cover C as follows. For any marked edge, add both endpoints to C. It is clear that |C| ≤ 2(k − k ′ ). Moreover, it is clear that any edge of H ′ that is not incident to a vertex of C corresponds to a vertex not dominated by D. 3.2 FPT algorithm We now show how to stitch the results of the stripes together. Our approach extends ideas of Fernau [23] for parameterized Edge Dominating Set. Theorem 3.13 Let G be a claw-free graph and k ≥ 0 an integer. Then we can decide in O∗ (9k ) time whether γ(G) ≤ k. 8 Proof: Following Lemma 3.2 and 3.3, we can assume that G does not admit twins or proper Wjoins. Note that all twins in a graph can be found in polynomial time (see appendix), while proper W-joins can be found in O(n2 m) time [33]. If α(G) ≤ 3, then γ(G) ≤ 3, which we can determine in polynomial time by exhaustive enumeration. Therefore we can apply Theorem 2.1. Consider the various cases. If G is a proper circular-arc graph or if G is a thickening of an XX-trigraph, then γ(G) can be computed in polynomial time by Theorem 3.4 and Lemma 3.5. Otherwise, consider the strip-structure (H, η) found. Let D be a minimum dominating set of G. S Then for any F ∈ E(H), the way η(F ) is dominated is essentially determined by D ∩ ( h∈F η(h)). If we could guess this information, we can use the preceding lemmas to complete the theorem. Lemmas 3.11 and 3.12 suggest the following approach to guessing this information. Let S1 be any subset of the vertices of H that are incident to a black edge. Remove S1 and all black edges from H, and call the remaining graph H ′ . Let S2 be any minimal vertex cover of H ′ of size at most 2k − |S1 |. Let S = S1 ∪ S2 . For each such set S, we will determine a dominating set D such that D ∩ η(h) 6= ∅ for each h ∈ S. To this end, we construct an auxiliary multigraph G′ with vertices vh for each h ∈ S, a weight function w on the edges of G′ , and an integer k ′ . The idea is that k ′ is the number of vertices that any dominating set D of G must have if D ∩ η(h) 6= ∅ for each h ∈ S. Then we use the multigraph and its associated edge weight function to decide which strips should be made responsible for ensuring that D ∩ η(h) 6= ∅ for each h ∈ S, while minimizing |D|. Initially, G′ consists of just the vertices vh and no edges, and k ′ = 0. Consider some edge F ∈ E(H) and let (J, Z) be the strip corresponding to F . Suppose that F = {h} for some h ∈ V (H), i.e. that |Z| = 1. Note that (J, Z) must be a stripe, as spots have |Z| = 2. If h 6∈ S, then the strip is itself responsible for dominating all vertices in η(F ). So add γ(J\Z) to k ′ . Otherwise, i.e. if h ∈ S, then some vertex of η(h) will be in the dominating set and it could potentially also be in η(F ). So add a vertex vF to G′ , add an edge eF between vF and vh to G′ , with weight γ(J) − γ(J\Z, N [Z]). This models the additional cost of having a vertex of η(F, h) in the dominating set. Observe that since N [Z] is a strong clique, any dominating set for J can be assumed to have a vertex in N (Z), i.e. in η(F, h). Finally, add γ(J\Z, N [Z]) to k ′ . Suppose that F = {h, h′ } for distinct h, h′ ∈ V (H), i.e. that |Z| = 2. If (J, Z) is a spot, then F ∩ S 6= ∅, or the vertex in η(F ) will never be dominated. Add an edge eF to G′ . If h, h′ ∈ S, then eF runs between vh and vh′ . If only one of h and h′ belongs to S, say h ∈ S, add a new vertex vF to G′ and let eF run between vh and vF . The weight of eF is 1. If (J, Z) is a stripe, let Z = {z, z ′ }, where z corresponds to h and z ′ to h′ . If F ∩ S = ∅, add γ(J\Z) to k ′ . If F ∩ S = {h}, then add a vertex vF to G′ and an edge eF with weight γ(J\{z ′ }) − γ(J\Z, N [z]) between vF and vh . Moreover, add γ(J\Z, N [z]) to k ′ . The case when F ∩ S = {h′ } is similar. ′ ′ ′ to G′ . So assume that F ∩ S = {h, h′ }. Add two vertices vFh , vFh and three edges ehF , ehF , eh,h F ′ h,h Let eF run between vh and vh′ , and set its weight to γ(J) − γ(J\Z, N [Z]). Let ehF run between ′ ′ vFh and vh , and set its weight to γ(J\{z ′ }, N [z ′ ]) − γ(J\Z, N [Z]). Let ehF run between vFh and vh′ , and set its weight to γ(J\{z}, N [z]) − γ(J\Z, N [Z]). Finally, add γ(J\Z, N [Z]) to k ′ . Observe that each edge e added to G′ for some F ∈ E(H) in the above construction corresponds to a particular way to ensure that a dominating set of the strip F has a vertex in η(F, h), where e is incident to vh in G′ . The weight on the edge corresponds to the number of extra vertices it would cost to ensure this, compared to the cost of having no vertex in η(F, h). Therefore we want to find a subset of the edges of minimum total weight that covers all vertices vh of G′ . This clearly corresponds to a smallest dominating set D of G for which D ∩ η(h) 6= ∅ for each h ∈ S. Hence it remains to find a subset of E(G′ ) of minimum total weight that covers all vertices vh 9 of G′ . We first consider any parallel edges and remove them all except one of minimum weight. Hence we only need to solve this problem on a graph. This problem is precisely an instance of the minimum generalized weighted edge cover problem, where given a graph, a subset R of its vertices, and an edge weight function, one is asked to find a minimum-weight subset of edges covering R. This problem can be solved in cubic time [39, 23]. The above algorithm yields a smallest dominating set D with D ∩ η(h) 6= ∅ for each h ∈ S. We repeat this procedure for all S = S1 ∪ S2 . The number of possible choices for S1 is at most P2k 2k ∗ 2k−|S1 | ) time to enumerate all minimal vertex covers [13]. i=0 i . For each set S1 , we spend O (2 P2k 2k 2k−i Since i=0 i 2 = 9k by the binomial theorem, the above algorithm decides whether or not ∗ k γ(G) ≤ k in O (9 ) time. 4 Connected Dominating Set Let γc (G) denote the size of a minimum connected dominating set of G. Let γc (G, A), where A ⊆ V (G), denote the size of the smallest subset D of V (G) dominating V (G)\N [A], such that each connected component of G[D] contains at least one vertex of A. It is trivial to show the following relation between γ(G) and γc (G). Lemma 4.1 For any graph G, γc (G) ≤ 3 · γ(G). The approach we follow for Connected Dominating Set is similar to the one we followed previously for Dominating Set. 4.1 Removing Twins and Proper W-joins proper W-joins. We first show that we can remove twins and Lemma 4.2 Let a, b be twins of a graph G. Then γc (G) = γc (G − a). Proof: Clearly, if D is a minimum connected dominating set of G − a, then, as N [a] = N [b], D is a connected dominating set of G as well. Suppose that D is a minimum connected dominating set of G. If a ∈ D, then we can replace a by b and D would still be a connected dominating set of G. But then D is also a connected dominating set of G − a. This is quite similar as for Minimum Dominating Set. For proper W-joins, the situation is somewhat differently, as removing all edges crossing the W-join might disconnect the graph. Lemma 4.3 Let (A, B) be a proper W-join of a graph G. Let G′ be the graph obtained from G by removing A, B and adding vertices a, a′ , b, b′ . Connect a, a′ to N (A)\B, b, b′ to N (B)\A, a to a′ , b to b′ , and a to b. Then γc (G) = γc (G′ ). Moreover, G′ is claw-free if G is claw-free. Proof: Suppose that D is a connected dominating set of G. We first show that we can assume that |D ∩ A|, |D ∩ B| ≤ 1. For suppose that |D ∩ A| ≥ 2. Note that N [a]\B is the same for each a ∈ A. Hence we can remove all but one vertex of D ∩ A, except if the vertices of D ∩ A are the only vertices dominating B. But then we can replace a vertex of D ∩ A by a vertex of B adjacent to a second vertex of D ∩ A. It follows that we can assume that |D ∩ A|, |D ∩ B| ≤ 1. Now since (A, B) is a proper W-join, no vertex of A (resp. B) dominates all of B (resp. A). Hence D ∩ (N [A]\B) 6= ∅ and D ∩ (N [B]\A) 6= ∅. So let D′ be the set containing all vertices of D that are also in G′ . If D ∩ A 6= ∅, add a to D′ . If D ∩ B 6= ∅, add b to D′ . Clearly, D′ is a connected dominating set of G′ and |D′ | ≤ |D|. 10 Suppose that D′ is a connected dominating set of G′ . From the definition of a W-join, recall that every vertex of V (G)\(A ∪ B) is either A-complete or A-anticomplete and is either B-complete or B-anticomplete. Moreover, A and B are cliques. Let D be the set containing all vertices of D′ that are also in G. If one of a, a′ ∈ D′ and one of b, b′ ∈ D′ , add any two adjacent vertices, one of A and one of B, to D. Otherwise, if one of a, a′ ∈ D′ , add any vertex of A to D, and if one of b, b ∈ D′ , add any vertex of B to D. Then D is a dominating set of G and |D| ≤ |D′ |. Suppose that G is claw-free and that G′ has a claw (w, x, y, z) with center w. If at most one vertex of w, x, y, z is equal to one of a, a′ , b, b′ , then (w, x, y, z) directly corresponds to a claw in G. Because a, a′ and b, b′ form a clique, N [a]\{b} = N [a′ ], and N [b]\{a} = N [b′ ], at most two of w, x, y, z can be equal to one of a, a′ , b, b′ . If w ∈ V (G) ∩ V (G′ ), then w.l.o.g. x = a′ and y is one of b, b′ . But then we can replace x and y by any antiadjacent pair of vertices of A and B to get a claw in G. If w ∈ {a, a′ , b, b′ }, then w.l.o.g. w = a and x = b. But then we can replace w and x by any adjacent pair of vertices of A and B to get a claw in G. Hence G′ is claw-free. 4.2 Easy Cases Theorem 4.4 ([5]) Let G be a circular arc graph. Then γc (G) can be computed in linear time. Lemma 4.5 Let G be a graph that is a thickening of a member of S2 . Then γc (G) can be computed in polynomial time. Proof: Consider a graph G′ ∈ S2 such that G is a thickening of G′ . In G′ , make v7 , v8 and v9 , v10 strongly antiadjacent and call the resulting graph G′′ . If D is a connected dominating set in G′′ , then D corresponds to a connected dominating set in G of equal size. Observe now that v1 , v2 , v3 , v4 form a connected dominating set of G′′ . Hence γc (G) is constant and thus can be computed in polynomial time. Lemma 4.6 Let (J, Z) be a stripe such that (J, Z) ∈ Z1 ∪ Z6 and J is a connected graph. Then we can compute γc (J), γc (J, Z), and γc (J\{z}) for any z ∈ Z in polynomial time. Proof: By Theorem 4.4, it suffices to show how to compute γc (J, Z). If |Z| = 1, then this is just γc (J) if V (J) 6= N [Z] and 0 otherwise. So assume that |Z| = 2. Find a set of intervals I1 , . . . , In of the line such that this is a representation of J as an interval graph. This can be done in linear time [4]. We can assume that v1 ∈ Z and vn ∈ Z. Consider any i < j such that no arc lies between Ii and Ij and no interval contains either Ii or Ij . Construct J ′ from J by removing all intervals ending to the right of Ii , and by adding an interval overlapping the right endpoint of Ii and no other intervals of J ′ . Construct J ′′ from J by removing all intervals starting to the left of Ij , and by adding an interval overlapping the left endpoint of Ij and no other intervals of J ′ . Now compute γc (J ′ , v1 ) + γc (J ′′ , vn ) in polynomial time. The minimum over all i, j is equal to γc (J, Z). Lemma 4.7 Let (J, Z) be a thickening of a stripe in Z5 and J is a connected graph. Then we can compute γc (J), γc (J, Z), and γc (J\{z}) for any z ∈ Z in polynomial time. Proof: We can argue in a manner similar to Lemma 4.5 that v1 , v2 , v3 , v4 , v7 , v8 yields a connected dominating set of J. Then the lemma follows by exhaustively enumerating all possible solutions. Lemma 4.8 Let (J, Z) be a stripe with 1 ≤ |Z| ≤ 2, α(J) ≤ 3, J\N [Z] 6= ∅, and J is a graph. Then we can compute γc (J), γc (J, Z), and γc (J\{z}) for any z ∈ Z in polynomial time. Proof: It is easy to see that γc (J) ≤ 3·γ(J) ≤ 3·α(J) ≤ 9. Then the lemma follows by exhaustively enumerating all possible solutions. 11 4.3 Complexity Results Theorem 4.9 Let G be a claw-free graph and k ≥ 0 an integer. Then we can decide in O∗ (36k ) time whether γc (G) ≤ k. Proof: According to Lemma 4.2 and 4.3, we can assume that G does not admit twins or proper W-joins. Suppose that α(G) ≤ 3. Then γ(G) ≤ 3. Observe that γc (G) ≤ 3 · γ(G) ≤ 9. But then we can apply exhaustive enumeration to find a minimum connected dominating set of G in polynomial time. Now apply Theorem C.20. Consider the various cases. If G ∈ S3 or if G is a thickening of a member of S2 , then γc (G) can be computed in polynomial time by Theorem 4.4 and Lemma 4.5. Otherwise, let (H, η) be the strip-structure for G that was found. Observe that if D is a connected dominating set of G of size at most k, then a subset of D is a minimal dominating set of G of size at most k. In the proof of Theorem 3.13, we essentially showed how to enumerate all possible ’templates’ of minimal dominating sets of G of size at most k. To decide whether γc (G) ≤ k, we enumerate all such templates again, but now we have to ensure connect any dominating set that follows the template. Where we used a minimum-weight edge cover in Theorem 3.13, we use a minimum edge-weighted Steiner tree here. So let S1 be any subset of the vertices of H that are incident to a black edge. Remove S1 and all black edges from H let S2 be any minimal vertex cover of the remainder of H of size at most 2k − |S1 |. Let S = S1 ∪ S2 and initialize k ′ to 0. Note that we can assume that each black edge is incident to a vertex of S. Consider any F ∈ E(H) for which |F | = 1. Suppose that F = {h} for some h ∈ V (H) and let (J, Z) be the strip corresponding to F . Observe that h ∈ S. Remove F and, if V (J)\N [Z] 6= ∅, add γc (J) to k ′ . Note that remaining graph is still connected, that it has no loops, and that all remaining white edges are spots. Consider a black edge F and let F = {h, h′ }. If say h′ 6∈ S, we are not allowed to use vertices of η(h′ ) in the connected dominating set. Hence we add γc (J\{z ′ }) to k ′ , where z ′ is the vertex of Z corresponding to h and remove F from H. Since we assumed that S ∩ F 6= ∅ in the choice of S, it suffices to consider the case that h, h′ ∈ S. Then we set the weight of F to γc (J) − γc (J, Z) and add γc (J, Z) to k. Finally, we set the weight of all remaining white edges to 1. Let H ′ be the remaining multigraph and w the weight function we defined on it. Note that the weight function can be computed in polynomial time using Lemma 4.6, 4.7, and 4.8. If H ′ is not connected, we continue to the next S. Otherwise, observe that a Steiner tree of H ′ with terminal set S corresponds to a connected dominating set of G. In particular, if k ′ plus the weight of this Steiner tree is at most k, then G has a connected dominating set of size at most k. Therefore we want to find a Steiner tree of which the edges have minimum total weight. This can be done in O∗ (2|S| ) time [3]. Using the analysis of Theorem 3.13 and since |S| ≤ 2k, it follows that we can decide whether γc (G) ≤ k in O∗ (36k ) time. 5 Polynomial Kernel for Dominating Set We show that Dominating Set has a polynomial kernel on claw-free graphs. A kernelization algorithm for a parameterized problem Π computes in polynomial time, given an instance (x, k) of Π, a new instance (x′ , k ′ ) of Π, such that (x′ , k ′ ) ∈ Π if and only if (x, k) ∈ Π and |x′ | ≤ f (k) for some computable function f . The instance (x′ , k ′ ) is called a kernel of Π, and it is called a polynomial kernel if f is a polynomial. Not every fixed-parameter tractable problem admits a polynomial kernel, unless the polynomial hierarchy collapses to the third level [2]. 12 The basic idea of our kernel is to replace each stripe of the strip-structure given in Theorem 2.1 by a stripe of size at most linear in k. If we then reduce the strip-structure itself to have a polynomial number of vertices and edges, we obtain a kernel. 5.1 Reducing Stripes We first consider stripes (J, Z) with |Z| = 2. As a first step, we need to show that if a stripe (J, Z) is a thickening of a member of Z2 ∪ Z3 ∪ Z4 ∪ Z5 , we can distinguish of a member of which class (J, Z) is thickening of. We provide recognition algorithms for each class in the appendix. Now that we know the ‘type’ of (J, Z), we can reduce it. 5.2 5.2.1 When |Z| = 2 Z1 Lemma 5.1 Let (J, Z) be a proper interval graph for which γ(J) ≤ k. Then there is a proper interval graph (J ′ , Z), such that γ(J\(X ∪Y ), N [Y ]) = γ(J ′ \(X ∪Y ), N [Y ]) for any disjoint X, Y ⊆ Z and |V (J ′ )| ≤ 18k + 2. Proof: We make two crucial observations. First, we note that γ(J\(X ∪ Y ), N [Y ]) = γ(J\(X ∪ N [Y ])) for any disjoint X, Y ⊆ Z. For consider any vi ∈ N [Y ] that is in a minimum dominating set D of J\(X ∪ Y ). We may assume that vi is adjacent to v0 . Then vi must have a neighbor vj that is not in N [Y ], nor in the dominating set. Let vk 6= vj be any neighbor of vi that is not in N [Y ], nor in the dominating set. Since vj , vk are not adjacent to v0 , j, k > i. But then i < j < k or i < k < j, and thus vj and vk are adjacent. Hence (D\{vi }) ∪ {vj } is also a dominating set of J\(X ∪ Y ). By replacing in this way, we can show that γ(J\(X ∪ Y ), N [Y ]) = γ(J\(X ∪ N [Y ])) for any disjoint X, Y ⊆ Z. Second, we note that for any linear interval graph there is always a minimum dominating set with a special structure. A simple greedy strategy for finding a minimum dominating set in a linear interval graph is to recursively consider the undominated vertex vi of lowest index and add a neighbor of vi of maximum index to the dominating set. It is an easy exercise to prove that this always yields a minimum dominating set of J. We now show the following. Consider arbitrary disjoint X, Y ⊆ Z. Let D denote the dominating set for γ(J\(X ∪N [Y ])) as found by the above strategy and let Du denote the undominated vertices of lowest index as considered by the strategy. We claim that for any A ⊆ V (J), γ((J[A ∪ D ∪ Du ])\(X ∪ N [Y ])) = γ(J\(X ∪ N [Y ])). This follows immediately from the optimality of the greedy strategy. We now construct J ′ as follows. For each disjoint X, Y ⊆ Z, add the vertices of D and Du as defined above to J ′ . Also ensure that the vertices of Z are added. Since γ(J) ≤ k and there are nine choices for X, Y , it follows that |V (J ′ )| ≤ 18k + 2. 5.2.2 Z2 Lemma 5.2 Let (J, Z) be a stripe such that J is connected and J does not admit twins. Then we can decide in polynomial time whether or not (J, Z) is a thickening of some (J ′ , Z ′ ) ∈ Z2 . Moreover, we can find such a stripe (J ′ , Z ′ ), if it exists. The proof of this lemma is deferred to the appendix. Lemma 5.3 Let (J, Z) be a stripe such that (J, Z) is a thickening of a member of Z2 and J is a graph. Then we can find a claw-free stripe (J ′ , Z) with |V (J ′ )| ≤ 26, such that γ(J\(X ∪ Y ), N (Y )) = γ(J ′ \(X ∪ Y ), N (Y )) for any disjoint X, Y ⊆ Z. 13 Proof: Using Lemma 5.2, we can find (J ′′ , Z ′′ ) ∈ Z2 such that (J, Z) is a thickening of (J ′′ , Z ′′ ). In particular, we can find A, B, C and a labeling of the vertices as in the definition of Z2 . Using Lemma 3.3, we know how to reduce the at most three W-joins in J/semiadjacent pairs of vertices in J ′′ . It remains to reduce the number of other vertices of J. Consider the graph G′ as constructed in the above lemma and look at the different types of connected components it admits. Look at the set SAC of all connected components that consist of a single edges ac with a ∈ A, c ∈ C. Pick some edge a∗ c∗ ∈ SAC . Note that for any minimum set D dominating J\(N [Y ] ∪ X) for some disjoint X, Y ⊆ Z, we can always replace a vertex in D ∩ SAC ∩ A by a∗ and a vertex in D ∩ SAC ∩ C by c∗ . Moreover, if a∗ is dominated by some vertex v outside of SAC , then all vertices in SAC ∩ A are dominated by v. Similarly, if c∗ is dominated by some vertex v not in SAC , then v dominates all vertices in SAC ∩ C. It follows that we can remove the vertices of all components of SAC from J, except a∗ c∗ . In a similar manner, we can reduce the number of components with one edge between A and B and those with one edge between B and C. The number of single vertex components is at most three, as J does not admit twins. It remains to reduce the number of triangles. Let T denote the set of all triangles in G′ . Suppose that there are at least three triangles and consider two distinct triangles in T : ai bi ci and aj bj cj . Note that γ(J\(X ∪ Y ), N (Y )) ≤ 2 for any choice of disjoint X, Y ⊆ Z. So consider any minimum set D dominating J\(X ∪ N [Y ]) for some choice of disjoint X, Y ⊆ Z. If |D ∩ T | = 2, we can always use ai and bj instead to dominate J. If |D ∩ T | = 1, we can always replace any vertex in D ∩ T ∩ A by ai , any vertex in D ∩ T ∩ B by bj , and any vertex in D ∩ T ∩ C by ci . If D has D ∩ T ⊆ {ai , bi , ci , aj , bj , cj } and dominates both ai and aj , then it dominates all vertices in T ∩ A. This is trivial if D ∩ A 6= ∅. Otherwise, there is some c ∈ D ∩ C, which must dominate A\{ai , aj }, and thus D dominates T ∩ A. Similar arguments show that if D dominates both bi and bj (respectively ci and cj ), it dominates all vertices in T ∩ B (respectively T ∩ C). This reduction gives J ′ . Note that |V (J ′ )| ≤ 26. 5.2.3 Z3 Lemma 5.4 Given a stripe (J, Z) for which J does not admit twins and V (J) is not a union of two strong cliques, we can check in polynomial time whether (J, Z) is a thickening of a member of Z3 . Moreover, we can find such a member if it exists. The proof of this lemma is deferred to the appendix. Lemma 5.5 Let (J, Z) be a thickening of a member of Z3 , such that J is a graph, J does not admit twins, and V (J) is not a union of two strong cliques. Then there is a (J ′ , Z), that is a thickening of a member of Z3 , such that J ′ is a graph, γ(J\(X ∪ Y ), N [Y ]) = γ(J ′ \(X ∪ Y ), N [Y ]) for any disjoint X, Y ⊆ Z, and |V (J ′ )| ≤ 33. Proof: Apply the recognition algorithm as described above and let H be the graph underlying J. Let P = {h1 , . . . , h5 }. Note that any vertex of Xh2 h3 together with any vertex of Xh3 h4 dominates J\(X ∪ Y ) for any choice of disjoint X, Y ⊆ Z. Hence γ(J) ≤ 2. Consider any two edges e, f incident with pendant vertices of H that are not in P and that are also incident with the same vertex of P . Then NJ [e] = NJ [f ]. But then e and f are twins in J, a contradiction. Hence the number of pendant vertices of H in V (H)\P is at most three. Let T23 denote the set of vertices in V (H)\P of degree two that are adjacent to h2 and h3 . Suppose that |T23 | > 2 and let v1 , v2 be two distinguished vertices of T23 . Consider any minimum set D ⊆ V (J)\(X ∪ Y ) dominating V (J)\(X ∪ N [Y ]) for some disjoint X, Y ⊆ Z. Note that 14 1 ≤ |D| ≤ 2. If |D| = 2, then we can assume that D = {h2 h3 , h3 h4 }. If |D| = 1, then D does not contain a vertex v corresponding to an edge incident to a vertex of T23 , as there would be a vertex u corresponding to a suitably chosen incident to another vertex of T23 that is not dominated by v, unless u ∈ N [Y ]. But then we can replace v by h3 h4 . Moreover, if D dominates all vertices corresponding to edges incident with any two vertices of T23 , then it must dominate all vertices corresponding to edges incident with a vertex of T23 . Hence we can reduce T23 to at most two. We can use similar arguments to reduce the size of T24 and T34 to at most two. By a similar argument, we can reduce the number of vertices in V (H)\P of degree three to at most two. Using Lemma 3.3 to reduce the size of any W-joins left in the graph, we can construct a clawfree stripe (J ′ , Z ′ ) such that J ′ is a graph, γ(J\(X ∪ Y ), N [Y ]) = γ(J ′ \(X ∪ Y ), N [Y ]) for any disjoint X, Y ⊆ Z, and |V (J ′ )| ≤ 33. 5.2.4 Z4 Lemma 5.6 Given a stripe (J, Z) for which J does not admit twins, we can check in polynomial time whether (J, Z) is a thickening of a member of Z4 . Moreover, we can find such a member if it exists. The proof of this lemma is deferred to the appendix. Lemma 5.7 Let (J, Z) be a thickening of a member of Z4 , such that J is a graph. Then there is a claw-free stripe (J ′ , Z), such that J ′ is a graph, γ(J\(X ∪ Y ), N [Y ]) = γ(J ′ \(X ∪ Y ), N [Y ]) for any disjoint X, Y ⊆ Z, and |V (J ′ )| ≤ 11. Proof: Apply the recognition algorithm as described above. Now apply Lemma 3.3 to the W-joins (Xc1 , Xb3 ) and (Xc2 , Xb2 ). 5.2.5 Z5 Lemma 5.8 Let (J, Z) be a stripe such that J does not admit twins. Then we can decide in polynomial time whether (J, Z) is a thickening of a member of Z5 . Moreover, we can find such a (J ′ , Z ′ ) if it exists. The proof of this lemma is deferred to the appendix. Lemma 5.9 Let (J, Z) be a stripe such that J is a graph, J does not admit twins, and (J, Z) is a thickening of a member of Z5 . Then we can find a claw-free stripe (J ′ , Z) such that |V (J ′ )| ≤ 13 and γ(J\(X ∪ Y ), N (Y )) = γ(J ′ \(X ∪ Y ), N (Y )) for any disjoint X, Y ⊆ Z. Proof: Use Lemma 5.8 to find (J ′′ , Z ′′ ) ∈ Z5 such that (J, Z) is a thickening of (J ′′ , Z ′′ ). If J ′′ has a semiadjacent pair of vertices, then J has a W-join. We reduce this W-join following Lemma 3.3. Let J ′ be the resulting graph. It is easily seen that |V (J ′ )| ≤ 13. 5.3 When |Z| = 1 For stripes (J, Z) with |Z| = 1, we can follow a simpler approach. Lemma 5.10 Let (J, Z) be a thickening of an almost-unbreakable stripe such that |Z| = 1 and J is a graph. Then there is a claw-free stripe (J ′ , Z ′ ) and an integer k ′ ≥ 0, such that γ(J\Z, N [Z]) = γ(J ′ \Z ′ , N [Z ′ ]) + k ′ , γ(J\Z) = γ(J ′ \Z ′ ) + k ′ , γ(J) = γ(J ′ ) + k ′ , |Z ′ | = 1, and |V (J ′ )| ≤ 4. 15 Proof: Let Z = {z}. First, we observe that γ(J\Z, N [Z]) ≤ γ(J\Z) ≤ γ(J). The first inequality is immediate form the definition of γ(·, ·). To see the second inequality, recall that N [Z] is a strong clique. Consider any dominating set D of J. If z ∈ D, replace it by any vertex in N (z). The resulting set is still a dominating set of J, and by construction, also of J\Z. Secondly, observe that 0 ≤ |γ(J)| − |γ(J\Z, N [Z])| ≤ 1, because any dominating set of J\Z where N [Z] does not need to be dominated can be made into a dominating set of J by simply adding z to it. Hence there are three cases to consider. First, assume that γ(J\Z, N [Z]) + 1 = γ(J\Z) = γ(J). Let J ′ be a two-vertex path and let Z ′ = {z ′ }, where z ′ is one of the vertices of J ′ . Let k ′ = γ(J\Z, N [Z]). Note that γ(J ′ ) = γ(J ′ \Z ′ ) = 1 and that γ(J ′ \Z ′ , N [Z ′ ]) = 0. The lemma follows. Suppose instead that γ(J\Z, N [Z]) = γ(J\Z) = γ(J) − 1. Let J ′ be a four-vertex path and let Z ′ = {z ′ }, where z ′ is one of the end vertices of the path. Let k ′ = γ(J\Z, N [Z]) − 1. Note that γ(J ′ ) = 2 and that γ(J ′ \Z ′ , N [Z ′ ]) = γ(J ′ \Z ′ ) = 1. Moreover, k ′ ≥ 0, because γ(J\Z) < γ(J), implying that any minimum dominating set D for J\Z satisfies D ∩ N (Z) = ∅, even though the vertices in N (Z) have to be dominated. The lemma follows. Finally, suppose that γ(J\Z, N [Z]) = γ(J\Z) = γ(J). Let J ′ be a three-vertex path and let Z ′ = {z ′ }, where z ′ is one of the end vertices of the path. Let k ′ = γ(J) − 1. Note that γ(J ′ \Z ′ , N [Z ′ ]) = γ(J ′ \Z ′ ) = γ(J ′ ) = 1. Moreover, clearly γ(J) ≥ 1 and thus k ′ ≥ 0. The lemma follows. It follows that if for some stripe (J, Z) with |Z| = 1, we know γ(J\(X ∪ Y ), N (Y )) for any disjoint X, Y ⊆ Z, then we can replace it with a claw-free stripe (J ′ , Z ′ ) of constant size and |Z ′ | = 1. Moreover, given the sizes of the minimum dominating sets for the different X, Y , we can find (J ′ , Z ′ ) in constant time. 5.4 Reducing the Number of Strips We again consider the strip-structure as a multigraph with loops and color its edges black or white as before. Consider the subgraph HW of H induced by the white edges and flatten it by removing all parallel edges and replacing loops by pendant vertices. Then HW has a vertex cover of size at most 2k by Lemma 3.12 if γ(G) ≤ k. Now kernelize HW using the Buss rule. Repeatedly do the following until no longer possible: • Remove a vertex of degree 0. • Remove a vertex v of degree greater than 2k in HW and add v to a set M . ′ must have at most (2k)2 + 2k vertices, or we can answer It is clear that the remaining graph HW NO. Moreover, |M | ≤ 2k, or we can answer NO. Let HB denote the subgraph of H induced by black edges. From Lemma 3.11, |V (HB )| ≤ 2k, ′ ), M , and H . To each or we can answer NO. Now consider the subgraph of H induced by V (HW B vertex h ∈ M , we add a loop F with F = {h}, and set η(F ) = η(F, h) = vh∗ for some new vertex vh∗ . Call the resulting graph Hk . It is clear that |V (Hk )| ≤ 8k + 4k 2 . Lemma 5.11 Let Gk be the subgraph of G induced by Hk . Then γ(G) ≤ k if and only if γ(Gk ) ≤ k. Proof: Let D be a dominating set of Gk . Consider any vertex h in V (H) − V (Hk ) and any F ∈ E(H) incident to h. Then F = {h, h′ } for some h′ ∈ V (H) and η(F ) is a spot. In particular, since H is connected and by the construction of Hk , h′ ∈ M . Because of vh∗′ , D ∩ η(h′ ) 6= ∅. But then η(F ) is also dominated by D. It follows that D is also a dominating set of G. Let D be a dominating set of G of size at most k. Then D ∩ η(h) 6= ∅ for any h ∈ M . Moreover, for any h′ ∈ V (H) − V (Hk ), any vertex of η(h′ ) must be in η(h) for some h ∈ M . Hence we can replace any vertex v of D ∩ η(h′ ) by vh∗ for the h ∈ M for which v ∈ η(h) ∩ η(h′ ). The resulting set D′ is a dominating set of G and of Gk and has |D′ | ≤ |D|. 16 5.5 The Kernel We now show the following. Theorem 5.12 Minimum Dominating Set on claw-free graphs has an O(k 4 ) kernel. Proof: Consider an instance G, k of parameterized Minimum Dominating Set, where G is a clawfree graph. Following Lemma 3.2 and Lemma 3.3, we can assume that G does not admit twins or proper W-joins. Moreover, if α(G) ≤ 3, then γ(G) ≤ 3 and we can determine γ(G) in polynomial time. We can then determine whether or not γ(G) ≤ k and return a trivial YES- or NO-instance accordingly. We now apply Theorem 2.1 and consider the various cases. If G is a proper circular-arc graph or if G is a thickening of an XX-trigraph, then γ(G) can be computed in polynomial time by Theorem 3.4 and Lemma 3.5. We then determine whether or not γ(G) ≤ k and return a trivial YES- or NO-instance accordingly. Otherwise, consider the strip-structure (H, η) found. It follows from Lemma 5.11 that either we can return a trivial NO-instance, or we can reduce (H, η) to a strip-structure (Hk , ηk ) with |V (Hk )| = O(k 2 ). Let Gk be the graph induced by (Hk , ηk ). Then moreover γ(G) ≤ k if and only if γ(Gk ) ≤ k by Lemma 5.11. By abuse of notation, we can assume w.l.o.g. that H = Hk and η = ηk . We now consider different types of strips (J, Z) and show how to bound their number and size. Suppose that |Z| = 1. Consider all strips for which additionally |V (J)| = 2. Note that each h ∈ V (H) is incident to at most one F ∈ E(H) that corresponds to such a strip, for any two would imply the existence of twins in G. Hence we can limit the number of such strips by k. If |V (J)| > 2, then as G does not admit twins, J\N [Z] 6= ∅. Hence any dominating set of G must have at least one vertex in J\Z. Following Theorem 2.1, either J is a proper circular-arc graph, or α(J) ≤ 3, or (J, Z) is a thickening of a member of Z5 . In all three cases, we can compute γ(J\(X ∪ Y ), N (Y )) for any disjoint X, Y ⊆ Z in polynomial time, following Theorem 3.4 and Lemmas 3.7 and 3.8. We then apply Lemma 5.10 to replace (J, Z) by a stripe (J ′ , Z ′ ) of constant size. Since each dominating set of G must have at least one vertex in J\Z, the number of these stripes is at most k. So assume that |Z| = 2. Consider all stripes between h and h′ for certain h, h′ ∈ V (H) that are a union of two strong cliques. Suppose that there are j such stripes and denote the two cliques S of the i-th stripe by Ai and Bi . We can assume that Ai ⊆ η(h) and Bi ⊆ η(h′ ). Hence A = i Ai S is a strong clique and so is B = i Bi . But then we can actually view all these stripes as a single stripe that is the union of the two strong cliques A, B and assume that j ≤ 1. (Alternatively, one can reduce (A, B) to form a proper W-join in G if j ≥ 2.) If j = 1, we can show that this stripe is a thickening of a stripe with four vertices and one semiadjacent pair of vertices (see Lemma C.4 in the appendix). Then we use Lemma 3.3 to reduce this stripe to a claw-free stripe (J ′ , Z ′ ) with |V (J ′ )| ≤ 5 and |Z ′ | = 2. Since these stripes each correspond to a black edge of H, the total  number of such stripes in H is at most 2k by Lemma 3.11. 2 Observe that any two spots incident to the same h, h′ ∈ V (H) form twins. But then H contains 2 spots. Moreover, they already have constant size. at most 8k+4k 2 We conclude from Theorem 2.1 that the strips not considered thus far satisfy J\N [Z] 6= ∅ and that J\Z thus must contain a vertex of any dominating set of G. Moreover, J is a proper interval graph or (J, Z) is a thickening of a member of Z2 ∪ Z3 ∪ Z4 ∪ Z5 . Then it follows that we can ‘kernelize’ each such strip to have size O(k), following Lemma 5.1, 5.3, 5.5, 5.7, and 5.9. Since J\Z must contain a vertex of any dominating set of G, there are at most k such strips. Consider the strip structure (H ′ , η ′ ) and strips as constructed above. Let G′ be the graph induced by these strips. Then G′ is claw-free, has O(k 4 ) vertices by the above construction, and has a dominating set of size k if and only if G has one. 17 6 Hardness on K1,4 -free Graphs We show that k-Dominating Set is W[1]-hard when restricted to K1,4 -free graphs. Our hardness result is obtained by the so-called “k-Multicolored Clique reduction technique”, introduced and explained in [22]. The problem which we reduce from in this technique is defined as follows: k-Multicolored Clique Instance: A graph G and a vertex-coloring c : V (G) → {1, 2, . . . , k} for G. Question: Does G have a clique including vertices of all k colors ? That is, is there a subset of k vertices K ⊆ V (G) such that for all distinct u, v ∈ K: {u, v} ∈ E(G) and c(u) 6= c(v) ? Parameter: k. Theorem 6.1 ([22]) k-Multicolored Clique is W[1]-complete. The general idea in the k-Multicolored Clique reduction technique is to organize gadgets into three categories: Vertex-selection, edge-selection, and validation. The role of the first two is  to encode the selection of k vertices and k2 edges that together form the k-multicolored clique in the instance of the k-Multicolored Clique problem. The task of the validation gadget is, as its name suggests, to validate the selection of vertices and edges. That is, to make sure that the edges selected are in fact incident to the selected vertices. Below we give more detail on how this is done for k-Dominating Set in K1,4 -free graphs. Let us denote by (H, c, k) a given instance of k-Multicolored Clique, where H is a graph and c : V (H) → {1, . . . , k} is the vertex-coloring of H. We construct an instance (G, k ′ ) of kDominating Set as follows: The graph G will consists of three big cliques, each one corresponding to a different gadget (i.e. vertex-selection, edge-selection, and validation), and some additional dummy vertices. The vertex-selection clique is formed by the vertices A := {av : v ∈ V (H)}, the edge-selection clique is formed by B := {b{u,v} : {u, v} ∈ E(H)}, and the validation clique by C := {c(u,v) , c(v,u) : {u, v} ∈ E(H)}. Note that there are two “directed” validation vertices, c(u,v) and c(v,u) , for each edge {u, v} ∈ E(H). The dummy vertices will be denoted by X := {xi : 1 ≤ i ≤ k} and Y := {y{i,j} : 1 ≤ i < j ≤ k}. These are all the vertices of G, i.e. V (G) := A ∪ B ∪ C ∪ X ∪ Y . We next describe the edges connecting the vertices of G. The first three sets of edges connect all vertices in the same clique: • E1 := {{au , av } : au , av ∈ A and u 6= v}. • E2 := {{b{u,v} , b{u′ ,v′ } } : b{u,v} , b{u′ ,v′ } ∈ B and {u, v} = 6 {u′ , v ′ }}. • E3 := {{c(u,v) , c(u′ ,v′ ) } : c(u,v) , c(u′ ,v′ ) ∈ C and (u, v) 6= (u′ , v ′ )}. The next two sets of edges connect the dummy vertices to vertices in the selection gadgets. These edges will ensure that exactly k vertices will be chosen from the vertex-selection gadget, one for  each color, and exactly k2 vertices will be chosen from the edge-selection gadget, one for each pair of colors. • E4 := {{xi , av } : xi ∈ X, av ∈ A, and c(v) = i}. • E5 := {{y{i,j} , b{u,v} } : y{i,j} ∈ Y, b{u,v} ∈ B, and {c(u), c(v)} = {i, j}}. Finally, we add the two sets of edges which connect vertices in the selection gadgets to vertices in the validation gadget: • E6 := {{av , c(v,u) } : av ∈ A and c(v,u) ∈ C}. 18 Figure 1: A graphical example of the construction used in the reduction. Here vertices u and v are adjacent vertices in H from different color classes, i.e. c(u) = 6 c(v). Solid lines in the figure represent edges, while dashed lines represent non-edges. • E7 := {{b{u,v} , c(u′ ,v′ ) } : b{u,v} ∈ B, c(u′ ,v′ ) ∈ C, {c(u), c(v)} = {c(u′ ), c(v ′ )}, and {u, v} 6= {u′ , v ′ }}. Setting E(G) := 1≤i≤k Ei , and k ′ := k + k2 , completes the description of our construction. See Figure 1 below for a depictive example. It is clear that this reduction is a parameterized reduction. Furthermore, observe that G is indeed K1,4 -free since the neighborhood of each vertex can be partitioned into at most three cliques. Thus, to complete our argument, we show that (H, c) has a multicolored clique of size k iff and G has dominating of size k ′ . S  Lemma 6.2 If (H, c) has a multicolored clique of size k then G has dominating of size k ′ . Proof: Let K be a multicolored clique of size k in H. Then for any i ∈ {1, . . . , k}, there is some v ∈ K with c(v) = i, and for any distinct u, v ∈ K, we have {u, v} ∈ E(H). We argue that D := {av : v ∈ K} ∪ {b{u,v} : u, v ∈ K, u 6= v} is a dominating set in G. Indeed, all vertices of A and B are dominated by some av ∈ D and some b{u,v} ∈ D. For any i ∈ {1, . . . , k}, the dummy vertex xi is dominated by av ∈ D, where v ∈ K and c(v) = i, and for any distinct i, j ∈ {1, . . . , k}, the vertex y{i,j} is dominated by a{u,v} ∈ D, where u, v ∈ K and {c(u), c(v)} = {i, j}. Finally, take any vertex c(u,v) ∈ C. If u ∈ K, then au ∈ D dominates c(u,v) , and otherwise, the vertex b{u′ ,v′ } ∈ D with {c(u′ ), c(v ′ )} = {c(u), c(v)} dominates c(u,v) . Lemma 6.3 If G has dominating of size k ′ then (H, c) has a multicolored clique of size k. Proof: Let D be a dominating set of size k ′ in G. Then it is not difficult to see that due to the dummy vertices, for each i ∈ {1, . . . , k}, there is exactly one vertex av ∈ D with c(v) = i, and for each distinct i, j ∈ {1, . . . , k}, exactly one vertex b{u,v} ∈ D with {c(u), c(v)} = {i, j}. Furthermore, there are no other vertices in D. Let K := {u : au ∈ D}. We argue that K is a multicolored clique of size k in H. First observe that by the above arguments, K has exactly one vertex for each color i ∈ {1, . . . , k}, and so it suffices to argue that K forms a clique in H. For this, it is enough to show that for any pair of distinct vertices u, v ∈ K, we must have b{u,v} ∈ D. Suppose that this is not the case, and let u and v denote two vertices in K with b{u,v} ∈ / D. Let b{u′ ,v′ } be the vertex in D such that ′ ′ ′ ′ {c(u ), c(v )} = {c(u), c(v)}. Then {u , v } 6= {u, v}, so w.l.o.g. u′ 6= u and u′ 6= v. But then, by construction, the validation vertex c(u′ ,v′ ) is not dominated by D. Thus, we get that b{u,v} ∈ D for any pair of distinct vertices u, v ∈ K, which implies that {u, v} ∈ E(H) for any pair of distinct vertices u, v ∈ K. Thus K forms a clique in H, and the lemma is proven. 19 7 Conclusion We gave an algorithmic structure theorem for claw-free graphs from the structural characterization of these graphs by Chudnovsky and Seymour. This enabled us to determine the parameterized complexity of Dominating Set on claw-free graphs by showing it is fixed-parameter tractable and has a polynomial kernel. Combined with our hardness result for K1,4 -free graphs, this settles the parameterized complexity of the dominating set problem on K1,ℓ -free graphs for all values of ℓ. References [1] Allan, R.B., Laskar, R., “On Domination and Independent Domination Numbers of a Graph”, Discrete Mathematics 23 (1978), pp. 73–76. [2] Bodlaender, H.L., Downey, R.G., Fellows, M.R., Hermelin, D., “On problems without polynomial kernels”, Journal of Computer and System Sciences 75:8 (2009), pp. 423–434. [3] Björklund, A., Husfeldt, T., Kaski, P., Koivisto, M., “Fourier meets Möbius: Fast Subset Convolution”, STOC 2007, ACM, 2007, pp. 67–74. [4] Booth, K.S., Lueker, G.S., “Testing for the consecutive ones property, interval graphs and graph planarity using PQ-tree algorithms”, Journal of Computer and Systems Sciences 13 (1976), pp. 335–379. [5] Chang, M.-W., “Efficient Algorithms for the Domination Problems on Interval and CircularArc Graphs”, SIAM Journal on Computing 27:6 (1998), pp. 1671–1694. [6] Charbit, P., de Montgolfier, F., Raffinot, M., “Linear Time Split Decomposition Revisited”, preprint, http://arxiv.org/abs/0902.1700. [7] Charbit, P., Habib, M., Trotignon, N., Vušković, K., “Detecting 2-joins faster”, preprint. [8] Chudnovsky, M., Seymour, P.D., “The Structure of Claw-Free Graphs” in London Mathematical Society Lecture Note Series: Surveys in Combinatorics, Volume 327, 2005, pp. 153–171. [9] Chudnovsky, M., Seymour, P.D., “Claw-free graphs. IV. Decomposition theorem”, Journal of Combinatorial Theory, Series B 98:5 (September 2008), pp. 839–938. [10] Chudnovsky, M., Seymour, P.D., “Claw-free graphs. V. Global structure”, Journal of Combinatorial Theory, Series B 98:6 (November 2008), pp. 1373–1410. [11] Cornuéjols, G., Cunningham, W.H., “Composition for perfect graphs”, Discrete Mathematics 55:3 (1985), pp. 245–254. [12] Dahlhaus, E., “Parallel Algorithms for Hierarchical Clustering and Applications to Split Decomposition and Parity Graph Recognition”, Journal of Algorithms 36:2 (2000), pp. 205–240. [13] Damaschke, P., “Parameterized Enumeration, Transversals, and Imperfect Phylogeny Reconstruction” in Downey, R., Fellows, M., Dehne, P. (eds.) Proc. IWPEC 2004, LNCS 3162, Springer-Verlag, Berlin, 2004, pp. 1–12. [14] Deng, X., Hell, P., Huang, J., “Linear-Time Representation Algorithms for Proper Circular-Arc Graphs and Proper Interval Graphs”, SIAM Journal on Computing 25:2 (1996), pp. 390–403. [15] Downey, R.G., Fellows, M.R., “Fixed-parameter tractability and completeness”, Congressus Numerantium 87, 1992, pp. 161–178. [16] Downey, R.G., Fellows, M.R., Parameterized Complexity, Springer, New York, 1999. [17] Edmonds, J., “Paths, trees, and flowers”, Canadian Journal of Mathematics 17, pp. 449–467. [18] Eisenbrand, F., Oriolo, G., Stauffer, G., Ventura, P., “The Stable Set Polytope of Quasi-Line Graphs”, Combinatorica 28:1 (2008), pp. 45–67. 20 [19] Faudree, R., Flandrin, E., Ryjáček, Z., “Claw-free graphs – A survey”, Discrete Mathematics 164:1-3 (1997), pp. 87–147. [20] Faenza, Y., Oriolo, G., Stauffer, G., “An algorithmic decomposition of claw-free graphs leading to an O(n3 )-algorithm for the weighted stable set problem”, accepted to SODA 2011. [21] Feige, U., “A Threshold of ln n for Approximating Set Cover”, Journal of the ACM 45:4 (1998), pp. 634–652. [22] Fellows, M.R., Hermelin, D., Rosamond, F.A., Vialette, S., “On the parameterized complexity of multiple-interval graph problems”, Theoretical Computer Science 410:1 (2009), pp. 53-61. [23] Fernau, H., “Edge Dominating Set: Efficient Enumeration-Based Exact Algorithms” in Bodlaender, H.L., Langston, M.A. (eds.) Proc. IWPEC 2006, LNCS 4169, Springer-Verlag, Berlin, 2006, pp. 142–153. [24] Fouquet, J.L., “A Strengthening of Ben Rebea’s Lemma”, J. Combinat. Theory, Series B 59:1 (1993), pp. 35–40. [25] Gabow, H.N., Tarjan, R.E., “Faster Scaling Algorithms for General Graph Matching Problems”, Journal of the ACM 38:4 (October 1991), pp. 815–853. [26] Harel, D., Tarjan, R.E., “Fast Algorithms for Finding Nearest Common Ancestors”, SIAM Journal of Computing, 13:2 (May 1984), pp. 338–355. [27] Haynes, T.W., Hedetniemi, S.T, Slater, P.J., Fundamentals of domination in graphs, Marcel Dekker Inc., New York, 1998. [28] Haynes, T.W., Hedetniemi, S.T, Slater, P.J., Domination in graphs: Advanced Topics, Marcel Dekker Inc., New York, 1998. [29] Hedetniemi, S.T., Laskar, R.C., “Bibliography on domination in graphs and some basic definitions of domination parameters”, Discrete Mathematics 86:1-3 (1990), pp. 257–277. [30] Hsu, W.-L., Tsai, K.-H., “Linear-time algorithms on circular arc graphs”, Information Processing Letters 40 (November 1991), pp. 123–129. [31] Johnson, D.S., “Approximation algorithms for combinatorial problems”, Journal of Computer and System Sciences 9 (1974), pp. 256–278. [32] Karp, R.M., “Reducibility Among Combinatorial Problems” in Miller, R.E., Thatcher, J.W. (eds.) Complexity of Computer Computations, Plenum, New York, pp. 85–103. [33] King, A.D., Reed, B.A., “Bounding χ in Terms of ω and ∆ for Quasi-Line Graphs”, Journal of Graph Theory 59:3 (2008), pp. 215–228. [34] Marx, D., Parameterized Complexity of Independence and Domination on Geometric Graphs in Proc. IWPEC 2006, LNCS 4169, Springer-Verlag, Berlin, 2006, pp. 154–165. [35] Minty, G.J., “On maximal independent sets of vertices in claw-free graphs”, Journal of Combinatorial Theory Series, B 28:3 (1980), pp. 284–304. [36] Misra, N., Philip, G., Raman, V., Saurabh, S., “The effect of girth on the kernelization complexity of Connected Dominating Set” in FSTTCS 2010, to appear. [37] Nakamura, D., Tamura, A., “A revision of Minty’s algorithm for finding a maximum weighted stable set of a claw-free graph”, Journal of the Operations Research Society of Japan 44:2 (2001), pp. 194–204. [38] Philip, G., Raman, V., Sikdar, S., “Solving Dominating Set in Larger Classes of Graphs: FPT Algorithms and Polynomial Kernels” in Fiat, A., Sanders, P. (eds.) Proc. ESA 2009, LNCS 5757, Springer-Verlag, Berlin, 2009, pp. 694–705. [39] Plesnı́k, J., “Constrained weighted matchings and edge coverings in graphs”, Discrete Applied Mathematics 92:2-3 (June 1999), pp. 229–241. 21 [40] Roussopoulos, N.D., “A max{m, n} algorithm for determining the graph H from its line graph G”, Information Processing Letters 2:4 (1973), pp. 108–112. [41] Sbihi, N., “Algorithme de recherche d’un stable de cardinalité maximum dans un graphe sans étoile”, Discrete Mathematics 29:1 (1980), pp. 53–76. [42] Tarjan, R.E., “Efficiency of a Good But Not Linear Set Union Algorithm”, Journal of the ACM, 22:2 (April 1975), pp. 215–225. [43] Yannakakis, M., Gavril, F., “Edge dominating sets in graphs”, SIAM Journal on Applied Mathematics 38:3 (1980), pp. 364–372. 22 A Definitions We give formal definitions of all notions needed to understand the structural characterization of claw-free graphs by Chudnovsky and Seymour. The notation and definitions are the same as in [10]. A.1 Basic Definitions In this paper, we work with a more general type of graph, so-called trigraphs. All graphs are finite and simple. A trigraph G has a finite set of vertices V (G) and an adjacency function φG : V (G) × V (G) → {−1, 0, 1}, such that • φG (v, v) = 0 for all v ∈ V (G), • φG (u, v) = φG (v, u) for all u, v ∈ V (G), • at most one of φG (u, v), φG (u, w) = 0 for all distinct u, v, w ∈ V (G). We say that distinct u, v ∈ V (G) are strongly adjacent if φG (u, v) = 1, semiadjacent if φG (u, v) = 0, and strongly antiadjacent if φG (u, v) = −1. We then say that u, v are adjacent if u, v are either strongly adjacent or semiadjacent and u, v are antiadjacent if u, v are either strongly antiadjacent or semiadjacent. Moreover, a vertex u is a neighbor of a vertex v if u, v are adjacent and u, v are strong neighbors if u and v are strongly adjacent. The notions of antineighbor and strong antineighbor are similarly defined. We denote by N (v) the set of neighbors of a vertex v and define N [v] = N (v) ∪ {v}. Similarly, we define N (X) = {v | v ∈ N (x)\X, x ∈ X} and N [X] = N (X) ∪ X. Note that, by definition, the set of semiadjacent pairs of vertices of a trigraph is a matching. Moreover, if G contains no semiadjacent pairs of vertices, then G is just a graph. Or, in the reverse, a graph G′ regarded as a trigraph is the trigraph G where V (G) = V (G′ ) and φG (u, v) = 1 if u, v are adjacent in G′ and φG (u, v) = −1 otherwise. Given disjoint sets A, B ⊆ V (G), we say that A is complete to B or B-complete if every vertex of A is adjacent to every vertex of B. We say that A is strongly complete to B or strongly B-complete if every vertex of A is strongly adjacent to every vertex of B. If we say that a ∈ V (G) is (strongly) complete to B, we mean that {a} is (strongly) complete to B. The notions of anticomplete and strongly anticomplete are defined similarly. A set C ⊆ V (G) is a clique if every pair of vertices of C is adjacent and a strong clique if every pair of vertices of C is strongly adjacent. A clique of three vertices is a triangle. A set I ⊆ V (G) is stable if every pair of vertices of I is antiadjacent and strongly stable if every pair of vertices of I is strongly antiadjacent. Let α(G) denote the size of a largest subset of V (G) that is strongly stable. A vertex v of a trigraph is simplicial if N [v] is a clique and strongly simplicial if N [v] is a strong clique. A trigraph G is a thickening of a trigraph G′ if for every v ∈ V (G′ ) there is a nonempty set Xv ⊆ V (G), such that • • • • • Xu ∩ Xv = ∅ for all distinct u, v ∈ V (G′ ) and v∈V (G′ ) Xv = V (G), Xv is a strong clique in G for each v ∈ V (G′ ), if u, v are strongly adjacent in G′ , then Xu is strongly Xv -complete in G, if u, v are strongly antiadjacent in G′ , then Xu is strongly Xv -anticomplete in G, if u, v are semiadjacent in G′ , then Xu is neither strongly Xv -complete nor strongly Xv anticomplete in G. S Note that if G is a thickening of G′ and G′ is a thickening of G′′ , then G is also a thickening of G′′ . Also note that if a graph G is a thickening of trigraph G′ and u, v are semiadjacent in G′ , then |Xu | + |Xv | ≥ 3. For any X ⊆ V (G), G[X] is the trigraph induced by X, which is the trigraph with vertex set X and adjacency determined by the restriction of φG to X × X. We say that H is an induced 23 subtrigraph of G if H is isomorphic to G[X] for some X ⊆ V (G). We define G\X = G[V (G)\X]. Isomorphism between trigraphs is defined as expected. A claw is a trigraph with four vertices a, b, c, d, such that {b, c, d} is stable and complete to a. Then a is the center of the claw. If no induced subtrigraph of a trigraph G is isomorphic to a claw, then G is claw-free. A.2 Joins and Structures A strong clique X of a trigraph G is homogeneous if every vertex in G\X is either strongly complete or strongly anticomplete to X. A trigraph G admits twins if G has a homogeneous strong clique of size 2. A pair of strong cliques (A, B) is homogeneous if every vertex v ∈ V (G)\(A∪B) is either strongly complete or strongly anticomplete to A, and is either strongly complete or strongly anticomplete to B. A homogeneous pair of cliques (A, B) is a W-join if A is not strongly complete nor strongly anticomplete to B, and A or B has size at least 2. A W-join is proper if no member of A is strongly complete or strongly anticomplete to B and no member of B is strongly complete or strongly anticomplete to A. Observe that by thickening a trigraph, one creates twins and W-joins. Hence given a graph G, we can find a trigraph G′ such that G is a thickening of G′ by contracting twins into a single vertex and replacing W-joins by semiadjacent edges. A partition (V1 , V2 ) of V (G) of a trigraph G is a 0-join if V1 is strongly anticomplete to V2 and V1 , V2 6= ∅. A trigraph that does not admit a 0-join is called connected . A partition (V1 , V2 ) of V (G) of a trigraph G is a 1-join if there are sets A1 ⊆ V1 , A2 ⊆ V2 such that • A1 ∪ A2 is a strong clique, • V1 \A1 is strongly anticomplete to V2 , and V2 \A2 is strongly anticomplete to V1 , • Ai , V \Ai 6= ∅ for i = 1, 2. A partition (V1 , V2 ) of V (G) of a trigraph G is a pseudo-1-join if there are sets A1 ⊆ V1 , A2 ⊆ V2 such that • A1 ∪ A2 is a strong clique, • V1 \A1 is strongly anticomplete to V2 , and V2 \A2 is strongly anticomplete to V1 , • both V1 and V2 are not strong stable sets. A trigraph admitting a 1-join and no 0-join admits a pseudo-1-join, but the converse is false. We will denote (pseudo-) 1-joins either by the partition (V1 , V2 ) of the vertices or the ’connecting subsets’ (A1 , A2 ). Note that V1 , V2 can be easily determined if we just know A1 , A2 , and vice versa. A partition (V0 , V1 , V2 ) of V (G) of a trigraph G forms a generalized 2-join if for i = 1, 2 there are disjoint sets Ai , Bi ⊆ Vi such that • V0 , V1 and V2 are pairwise strongly anticomplete, except that V0 ∪ A1 ∪ A2 and V0 ∪ B1 ∪ B2 form a strong clique, • Ai , Bi , Vi \(Ai ∪ Bi ) 6= ∅ for i = 1, 2. If V0 = ∅, we call it a 2-join. A partition (V0 , V1 , V2 ) of V (G) of a trigraph G forms a pseudo-2-join if for i = 1, 2 there are disjoint sets Ai , Bi ⊆ Vi such that 24 • V0 , V1 and V2 are pairwise strongly anticomplete, except that V0 ∪ A1 ∪ A2 and V0 ∪ B1 ∪ B2 form a strong clique, • both V1 and V2 are not strong stable sets. A graph admitting a (generalized) 2-join and no 1-join admits a pseudo-2-join, but the converse is false. We will use both the notation (V0 , V1 , V2 ) or (V1 , V2 ) and the notation (A1 , A2 , B1 , B2 ) for (generalized/pseudo-) 2-joins. A partition (V1 , V2 , V3 , V4 ) of V (G) of a trigraph G forms a biclique if • • • • • V1 6= ∅, and V1 ∪ V2 and V1 ∪ V3 form a strong clique, V1 is strongly anticomplete to V4 , either |V1 | ≥ 2 or V2 ∪ V3 is not a strong clique, V2 ∪ V3 ∪ V4 is not a strong stable set, if v2 ∈ V2 and v3 ∈ V3 are adjacent, then they have the same neighbors in V4 and v2 , v3 are not semiadjacent to any vertex of V4 . A three-cliqued trigraph (G; A, B, C) consists of a trigraph G and three pairwise disjoint strong cliques A, B, C in G such that V (G) = A ∪ B ∪ C. A hex-join of two distinct three-cliqued trigraphs (G1 ; A1 , B1 , C1 ) and (G2 ; A2 , B2 , C2 ) is the three-cliqued trigraph (G; A, B, C), where A = A1 ∪ A2 , B = B1 ∪ B2 , C = C1 ∪ C2 , and G is the trigraph with vertex set V (G) = V (G1 ) ∪ V (G2 ) and adjacency as follows: • G[V (G1 )] = G1 and G[V (G2 )] = G2 , • A1 is strongly complete to V (G2 )\B2 , B1 is strongly complete to V (G2 )\C2 , and C1 is strongly complete to V (G2 )\A2 , • the pairs (A1 , B2 ), (B1 , C2 ), (C1 , A2 ) are strongly anticomplete. A trigraph G admits a hex-join if G has three strong cliques A, B, C such that (G; A, B, C) is a three-cliqued trigraph expressible as a hex-join. A.3 Strips and Stripes A strip-graph H consists of disjoint finite sets V (H) and E(H), and an incidence relation between V (H) and E(H) (i.e. a subset of V (H) × E(H)). For any F ∈ E(H), let F denote the set of h ∈ V (H) incident with F . Note that the definition of strip graph is close to the definition of hypergraphs, except that we allow multiple edges and empty edges here. Let G be a trigraph and let Y ⊆ V (G). Then a family (X1 , . . . , Xk ) of subsets of Y is a circus in Y if • for 1 ≤ i ≤ k and x ∈ Xi , the set of neighbors of x in Y \Xi is a strong clique, • for 1 ≤ i < j ≤ k, Xi ∩ Xj is strongly anticomplete to Y \(Xi ∪ Xj ), • for 1 ≤ h < i < j ≤ k, Xh ∩ Xi ∩ Xj = ∅. A strip-structure (H, η) of a trigraph G is a strip-graph H with E(H) 6= ∅ and a function η such that for each F ∈ E(H), η(F ) ∈ 2V (G) and for each h ∈ F , η(F, h) ⊆ η(F ), satisfying: • The sets η(F ) (F ∈ E(H)) are nonempty, pairwise disjoint, and have union V (G). • For each h ∈ V (H), the union of the sets η(F, h) for all F ∈ E(H) with h ∈ F is a strong clique of G. • For all distinct F1 , F2 ∈ E(H), if v1 ∈ η(F1 ) and v2 ∈ η(F2 ) are adjacent in G, then there exists h ∈ F1 ∩ F2 such that v1 ∈ η(F1 , h) and v2 ∈ η(F2 , h). • For each F ∈ E(H), the family η(F, h) (h ∈ F ) is a circus in η(F ). 25 To simplify notation, we define η(h) = F |h∈F η(F, h) for all h ∈ V (H). Let (H, η) be a strip-structure of a trigraph G and let F ∈ E(H), where F = {h1 , . . . , hk }. Let v1 , . . . , vk be new vertices and let J be the trigraph obtained from G[η(F )] by adding v1 , . . . , vk and for each i making vi strongly complete to η(F, hi ) and strongly anticomplete to J\η(F, hi ). Then (J, {v1 , . . . , vk }) is the strip corresponding to F . Observe that if G is claw-free, stating that the family η(F, h) (h ∈ F ) is a circus in η(F ) is equivalent to stating that the strip corresponding to F is claw-free. A strip (J, Z) is a spot if J consists of three vertices v, z1 , and z2 such that v is strongly adjacent to z1 , z2 , and z1 is strongly antiadjacent to z2 , and Z = {z1 , z2 }. A strip (J, Z) is a stripe if J is a claw-free trigraph and Z ⊆ V (J) is a set of strongly simplicial vertices, such that Z is strongly stable and no vertex of V (J)\Z is adjacent to more than one vertex of Z. We say that a stripe (J, Z) is a thickening of a stripe (J ′ , Z ′ ) if J is a thickening of J ′ with sets S Xv (v ∈ V (J ′ )) such that |Xz | = 1 for each z ∈ Z ′ and Z = z∈Z ′ Xz . The nullity of a strip-structure (H, η) is the number of pairs (F, h) with F ∈ E(H), h ∈ F , and η(F, h) = ∅. Given a strip-structure (H, η) of a trigraph, we say that F ∈ E(H) is purified if either the sets η(F, h) (h ∈ F ) are pairwise disjoint, or F = {h1 , h2 }, |η(F )| = 1, and η(F, h1 ) = η(F, h2 ) = η(F ). A strip-structure (H, η) is purified if each F ∈ E(H) is purified. Observe that saying that F ∈ E(H) is purified is equivalent to saying that the strip corresponding to F is either a stripe or a spot. S A.4 Special Trigraphs In the definitions below, whenever adjacency between two vertices is not specified, they are strongly antiadjacent. Moreover, if two vertices are said to be adjacent, they can be either strongly adjacent or semiadjacent, unless otherwise specified. Similarly, if two vertices are said to be antiadjacent, they can be either strongly antiadjacent or semiadjacent, unless otherwise specified. Finally, if we say that {v1 , . . . , vi } is an induced cycle, we mean the cycle v1 -· · ·-vi -v1 . A line trigraph G of some graph H is a trigraph where V (G) = E(H) and e, f ∈ E(H) are adjacent in G if and only if e and f share an endpoint in H. Moreover, e, f are strongly adjacent if e and f share an endpoint of degree at least three. The class of all line trigraphs is denoted S0 . We use L(H) to denote the line graph of H. The icosahedron is the (planar) graph G with V (G) = {v1 , . . . , v12 } such that • for i = 1, . . . , 10, vi is adjacent to vi+1 and vi+2 (indices modulo 10), • v11 is adjacent to v1 , v3 , v5 , v7 , v9 , • v12 is adjacent to v2 , v4 , v6 , v8 , v10 . This graph regarded as a trigraph is denoted by G0 . Let G1 = G0 \{v12 }. Let G2 be obtained from G1 \{v10 } by possibly making v1 semiadjacent to v4 or making v6 semiadjacent to v9 . The class of trigraphs denoted by S1 consists precisely of G0 , G1 , and the four possibilities for G2 . Let G be the trigraph with V (G) = {v1 , . . . , v13 } such that • • • • • • {v1 , . . . , v6 } is an induced cycle, v7 is strongly adjacent to v1 and v2 , v8 is strongly adjacent to v4 , v5 and possibly adjacent to v7 , v9 is strongly adjacent to v1 , v2 , v3 , and v6 , v10 is strongly adjacent to v3 , v4 , v5 , and v6 , and adjacent to v9 , v11 is strongly adjacent to v1 , v3 , v4 , v6 , v9 , and v10 , 26 • v12 is strongly adjacent to v2 , v3 , v5 , v6 , v9 , and v10 , • v13 is strongly adjacent to v1 , v2 , v4 , v5 , v7 , and v8 . Then G\X for any X ⊆ {v7 , v11 , v12 , v13 } is an XX-trigraph. The class of all XX-trigraphs is denoted S2 . Consider the sphere S1 and a set I = {I1 , . . . , In } of subsets of S1 , such that no distinct Ii , Ij share an endpoint and no three members of I have union S1 . Let P be a finite subset of S1 and let G be the trigraph with V (G) = P such that distinct u, v ∈ P are adjacent in G if and only if u, v ∈ Ii for some i = 1, . . . , n. Moreover, u, v are strongly adjacent if at least one of u, v is in the interior of Ii . Call such trigraphs circular interval trigraphs and denote the class of all circular interval trigraphs by S3 . It is easy to prove that if a circular interval trigraph has no semiadjacent edges, then it is a proper circular arc graph. Let H be a graph with V (H) = {v1 , . . . , v7 } such that • {h1 , . . . , h5 } is an induced cycle, • h6 is adjacent to at least three of h1 , . . . , h5 , • h7 is adjacent to h6 . Let G be the graph obtained from the line graph of H by adding a new vertex adjacent to precisely those edges of E(H) not incident with h6 and regarding it as a trigraph. If h4 , h5 both have degree two in H, possibly make the vertices of G corresponding to edges h3 h4 and h1 h5 semiadjacent. The class of trigraphs containing precisely these trigraphs is denoted S4 . Let G be a trigraph that is the disjoint union of three n-vertex strong cliques A, B, C for n ≥ 2 and five vertices {d1 , . . . , d5 } such that for some X ⊆ A ∪ B ∪ C with |X ∩ A|, |X ∩ B|, |X ∩ C| ≤ 1, • for 1 ≤ i, j ≤ n, ai and bj are adjacent if and only if i = j, and ci is strongly adjacent to aj and bj if and only if i 6= j, • ai is semiadjacent to bi for at most one value of i ∈ {1, . . . , n}, and if so then ci ∈ X, • ai is semiadjacent to ci for at most one value of i ∈ {1, . . . , n}, and if so then bi ∈ X, • bi is semiadjacent to ci for at most one value of i ∈ {1, . . . , n}, and if so then ai ∈ X, • no two of A\X, B\X, C\X are strongly complete to each other, • d1 is strongly complete to A ∪ B ∪ C, • d2 is strongly complete to A ∪ B and adjacent to d1 , • d3 is strongly complete to A ∪ {d2 }, • d4 is strongly complete to B ∪ {d2 , d3 }, • d5 is strongly adjacent to d3 and d4 . The class of all trigraphs G\X is denoted by S5 . The following trigraphs are called near-antiprismatic or antihat trigraphs. Let G be a trigraph that is the disjoint union of three n-vertex strong cliques A, B, C for n ≥ 2 and two vertices a0 , b0 such that for some X ⊆ A ∪ B ∪ C with |C\X| ≥ 2, • for 1 ≤ i, j ≤ n, ai and bj are adjacent if and only if i = j, and ci is antiadjacent to aj and bj if and only if i = j. All such pairs are strongly adjacent or antiadjacent, except possibly – ai is semiadjacent to bi for at most one value of i ∈ {1, . . . , n}, and if so then ci ∈ X, – ai is semiadjacent to ci for at most one value of i ∈ {1, . . . , n}, and if so then bi ∈ X, – bi is semiadjacent to ci for at most one value of i ∈ {1, . . . , n}, and if so then ai ∈ X. • a0 is strongly complete to A, 27 • b0 is strongly complete to B, • a0 is antiadjacent to b0 , The class of all trigraphs G\X is denoted by S6 . A trigraph G is antiprismatic if for every X ⊆ V (G) with |X| = 4, X is not a claw and at least two pairs of vertices in X are strongly adjacent. The class of antiprismatic trigraphs is denoted by S7 . A.5 Special Stripes Consider a trigraph J with vertex set {v1 , . . . , vn } with n ≥ 2 such that for 1 ≤ i < j < k ≤ n, if vi and vk are adjacent in J, then vj is strongly adjacent to both vi and vk . This is a linear interval trigraph. Moreover, let v1 , vn be strongly antiadjacent, let no vertex be adjacent to both v1 and vn , and let no vertex be semiadjacent to either v1 or vn . Let Z = {v1 , vn }. The class of all such stripes (J, Z) is denoted by Z1 . Let J ∈ S6 , let a0 , b0 be as in the definition of S6 , with a0 , b0 strongly antiadjacent, and let Z = {a0 , b0 }. The class of all such stripes (J, Z) is denoted by Z2 . Let H be a graph and let h1 , . . . , h5 be a path in H, such that h1 and h5 have degree one and every edge of H is incident with one of h2 , h3 , h4 . Let J be obtained from the line trigraph of H by making the vertices corresponding to edges h2 h3 and h3 h4 either semiadjacent or strongly antiadjacent, and let Z = {h1 h2 , h4 h5 }. The class of all such stripes (J, Z) is denoted by Z3 . Let J be the trigraph with vertices {a0 , a1 , a2 , b0 , b1 , b2 , b3 , c1 , c2 } such that {a0 , a1 , a2 }, {b0 , b1 , b2 , b3 }, {a2 , c1 , c2 }, and {a1 , b1 , c2 } are strong cliques, b2 , c1 are strongly adjacent, b2 , c2 are semiadjacent, and b3 , c1 are semiadjacent. Let Z = {a0 , b0 }. The class of all such stripes (J, Z) is denoted by Z4 . Let J ∈ S2 , let v1 , . . . , v13 , X be as in the definition of S2 , let v7 , v8 be strongly antiadjacent in J, and let Z = {v7 , v8 }\X. The class of all such stripes (J, Z) is denoted by Z5 . Let J ∈ S3 , let I1 , . . . , In be as in the definition of S3 , let z ∈ V (G) belong to at most one of I1 , . . . , In and not be an endpoint of one of I1 , . . . , In . Then z is a strongly simplicial vertex of J. Let Z = {z}. The class of all such stripes (J, Z) is denoted by Z6 . Let J ∈ S4 , let H, h1 , . . . , h7 be as in the definition of S4 , let e be the edge in H between h6 and h7 , and let Z = {e}. The class of all such stripes (J, Z) is denoted by Z7 . Let J ∈ S5 , let d1 , . . . , d5 , A, B, C be as in the definition of S5 , and let Z = {d5 }. The class of all such stripes (J, Z) is denoted by Z8 . Let J be the trigraph where the vertex set is the union of five sets {z}, A, B, C, D with A = {a1 , . . . , an } and B = {b1 , . . . , bn } for some n ≥ 1, such that • {z} ∪ D is a strong clique, • A ∪ C and B ∪ C are strong cliques, • for 1 ≤ i ≤ n, ai and bi are antiadjacent and every vertex of D is strongly adjacent to precisely one of ai , bi , • for 1 ≤ i < j ≤ n, {ai , bi } is strongly complete to {aj , bj }, and • the adjacency between C and D is arbitrary. Note that J is antiprismatic. Let Z = {z}. The class of all such stripes (J, Z) is denoted by Z9 . A.6 Chudnovsky and Seymour Theorem A trigraph G is indecomposable if G neither admits twins, nor a W-join, nor a 0-join, nor a 1-join, nor a generalized 2-join, nor a hex-join. Theorem A.1 (Chudnovsky and Seymour [9, 10]) Every indecomposable trigraph belongs to S0 ∪ · · · ∪ S7 . 28 B Algorithms We propose algorithms to find 0-joins, (pseudo-) 1-joins, and (pseudo-/generalized) 2-joins in polynomial time. We should note that in the literature, 1-joins and 2-joins are usually defined in a different manner than as they were defined here (see e.g. [11, 12, 6, 7]). On claw-free graphs however, they might be more closely related, which could lead to faster algorithms for finding these joins. For the current version of this paper, it is most important that we have polynomial-time algorithms for finding these joins, which we included below. We emphasize that on general graphs, the definitions of the different types of joins used in this paper and those found in the literature diverge, which lead us to studying them separately. The algorithms were obtained independently from the literature results. Moreover, our algorithms work on general graphs, and thus may be of independent interest. Theorem B.1 In O(n + m) time, one can find a 0-join in a graph G, or report that G has no 0-join. Proof: Trivial, using depth/breadth-first search. Theorem B.2 In O(m∆(G)) time, one can find twins in a graph G or report that G does not admit twins. Proof: For each edge (u, v) ∈ E(G), check if N [u] = N [v]. This takes O(∆(G)) time. B.1 Finding 1-joins We now describe how to find 1-joins. Lemma B.3 Let (A1 , A2 ) be a 1-join of a connected graph G. Then G[V1 ] and G[V2 ] are connected. Proof: Suppose that G[V1 ] has two connected components C and C ′ . Because G[A1 ] is a clique, at most one of C, C ′ contains vertices of A1 . Suppose that C contains no vertices of A1 . Because (A1 , A2 ) is a 1-join, C is not connected to V2 . This contradicts that G is connected. A spanning tree T of a graph G is a BFS-spanning tree if it is obtained from a breadth-first search on G. The root of a BFS-spanning tree is the vertex that is the origin of the breadth-first search. Lemma B.4 Let T be a BFS-spanning tree of a connected graph G and let (A1 , A2 ) be a 1-join. Suppose that the root r of T is in V1 . Then there is a vertex v ∈ A1 such that all vertices of A2 are neighbors of v in T . Proof: This is immediate from the fact that T is a BFS-spanning tree. For a tree T , call a pair of vertices (u, v) diametral if the length of the u–v-path in T is maximum among all pairs. Lemma B.5 Given a tree T on n vertices, a diametral pair of vertices can be found in O(n) time. Proof: Let r be an arbitrary leaf of T and let u be a vertex furthest away in T from r. Let v be a vertex furthest away from u in T . Note that all these vertices can be found in O(n) time. We claim that (u, v) is a diametral pair. Suppose that there is no diametral pair containing u and let (a, b) be one such pair. Then the u–r-path in T intersects the a–b-path, or (a, b) would not be diametral. But then dist(a, u) or dist(b, u) is at least as large as dist(a, b), a contradiction. It follows that (u, v) is a diametral pair. 29 We require some auxiliary notions on trees. Given any rooted tree T , the nearest common ancestor of any two vertices a, b ∈ V (T ), denoted by nca(a, b), is the vertex c in T that is an ancestor of both a and b and no child of c is an ancestor of a and b. If a is not an ancestor of b and vice versa, define the a-nearest almost-common ancestor of a and b, or a-nca(a, b), as the child of nca(a, b) that is an ancestor of a. Lemma B.6 Let T be a BFS-spanning tree of a connected graph G. Then for any diametral pair (u, v), at most one of u, v is in A1 ∪ A2 for any 1-join (A1 , A2 ). Proof: Let T be a BFS-spanning tree of a graph G, let (u, v) be any diametral pair, and let (A1 , A2 ) be a 1-join. Suppose that the root r of T is in V1 . We distinguish three cases. (1) u, v ∈ A2 Note that u, v must be leafs of T . From Lemma B.4, there is a vertex w ∈ A1 adjacent in T to all vertices of A2 . Since G[V2 ] is connected, there is a path in T ∩ (V2 ∪ {w}) from w to a vertex x ∈ V2 \A2 that is a leaf of T . But then 3 ≥ distT (x, v) > distT (u, v) = 2, contradicting that (u, v) is a diametral pair. (2) v ∈ A1 , u ∈ A2 Consider the vertex w ∈ A1 adjacent to all vertices of A2 . Since G[V2 ] is connected, there is a path from w to a vertex x ∈ V2 \A2 that is a leaf of T . But then distT (x, v) > distT (u, v), contradicting that (u, v) is a diametral pair. (3) u, v ∈ A1 Neither u nor v are neighbors in T of some vertex w in A1 . For suppose that u has a neighbor w ∈ A1 in T . Because T is a BFS-spanning tree, all vertices of A2 are a neighbor of w and thus there is a vertex in V2 \A2 that is a leaf of T and has larger distance to v. Consider the vertex w ∈ A1 neighboring all vertices in A2 . Then w 6= u, v, as u and v are leafs. Moreover, w is not adjacent to u or v in T . Again there is a vertex x ∈ V2 \A2 that is a leaf of T with distT (w, x) ≥ 2 and thus distT (r, x) ≥ distT (r, w) + 2. Let a = nca(u, v), b = nca(u, w) and c = nca(v, w). Note that distT (u, v) = distT (r, u) + distT (r, v) − 2 · distT (r, a). If b and c are equal to a or an ancestor of a, then distT (u, x) = distT (r, u) + distT (r, x) − 2 · distT (r, b). Because (v, w) ∈ E(G) and T is a BFS-spanning tree, |distT (r, v) − distT (r, w)| ≤ 1. But then distT (r, x) > distT (r, v). Since distT (r, a) ≥ distT (r, b), this implies that distT (u, x) > distT (u, v). This contradicts that (u, v) form a diametral pair. Hence b or c is a descendant of a. Assume w.l.o.g. that c is a descendant of a. Then distT (c, x) = ≥ > = distT (r, x) − distT (r, c) distT (r, w) + 2 − distT (r, c) distT (r, v) − distT (r, c) distT (c, v). This means that distT (u, x) > distT (u, v), contradicting that (u, v) is diametral. Theorem B.7 In O(n(n + m)) time, one can find a 1-join in a connected graph G, or report that G does not have such a join. 30 Proof: Consider any BFS-spanning tree of G and some diametral pair (r, r′ ) of this tree. If G has a 1-join (A1 , A2 ), we know from the above lemma that at most one of r, r′ is in A1 ∪ A2 . Assume w.l.o.g. that r is not in A1 ∪ A2 (algorithmically we will actually try both r and r′ ). Construct a BFS-spanning tree T with r as its root. Let e = (u, v) be any edge of the spanning tree not incident with r. Assume that u ∈ A1 , v ∈ A2 , and v has a child w in T . By Lemma B.4 and B.3, we can assume such an edge to exist. Moreover, w ∈ V2 \A2 . Now find the set of all vertices in N [u] ∩ N [v]. This set forms the candidate set A := A1 ∪ A2 . This can be done in O(∆(G)) time. What remains is to verify that we have indeed found a 1-join. As a first step, we verify that A is a clique. This can be done in O(|A|2 ) or O(m) time. Next, we find the partition V1 , V2 . To this end, collect the set R of all vertices reachable from w in G − A, using say a breadth-first search. Let A′ = N (R). Note that A′ ⊆ A. Then consider N (A′ )\A and continue the breadth-first search in G − A from those vertices. Iteratively apply this procedure. If the search visits all vertices of G − A, then G has no 1-join with (u, v) as its basis. Otherwise, the set R of visited vertices forms V2 \A2 and the vertices in N (R) ∩ A form A2 . It is now easy to find A1 and V1 . The running time for each edge of T is bounded by O(n + m). Since we need to consider at most n − 2 edges of the spanning tree and at most two possible roots, the total running time of the algorithm is O(n(n + m)). We will now speed-up the part of the algorithm responsible for finding A1 and A2 , which is the most expensive part of the above lemma. We assume a random access machine model with logarithmic costs. A 1-join (A1 , A2 ) is minimal if there is no A ⊂ A1 such that (A1 \A, A2 ∪ A) is 1-join as well. Lemma B.8 If (A1 , A2 ) is a minimal 1-join, then G[V1 ] − E(G[A1 ]) is connected. Proof: For suppose not and let C be the set of connected components of G[V1 ] − E(G[A1 ]). For any C ∈ C, observe that C ∩ A1 6= ∅, because G[V1 ] is connected. But since the components are pairwise disjoint, this implies that the components induce a partition of A1 into nonempty subsets. As |C| ≥ 2, (A1 \(A1 ∩ C), A2 ∪ (A1 ∩ C)) is a 1-join for any C ∈ C, contradicting the minimality of (A1 , A2 ). Let α(i, j) denote the inverse Ackermann function. Theorem B.9 In O(m(∆(G) + α(m, ∆(G)))) time, one can find a 1-join in a connected graph G, or report that G does not have such a join. Proof: Consider again the rooted tree T and edge e = (u, v) from the previous lemma. As before, we assume that u ∈ A1 , v ∈ A2 for some 1-join (A1 , A2 ). Moreover, we may assume that u is closer to the root r of T than v. This in turn implies that all vertices of A2 are further from r than u. Given any rooted tree T and vertex t ∈ V (T ), define T (t) as the subtree of T , rooted at t, containing t and all of its descendants. If T is a spanning tree of a graph G, define h(t) as the nca(a, b) closest to r for any edge (a, b) ∈ E(G) incident with a vertex in T (t)\{t}. Clearly, h(t) is either t or an ancestor of t. Consider a graph G and a rooted spanning tree T of G. For any vertex p and its set of children C, we say that c, c′ ∈ C are linked if there is an edge (a, b) ∈ E(G) for which distT (a, b) ≥ 3, a ∈ T (c), and b ∈ T (c′ ). We then say that c, c′ ∈ C are sequentially linked if there is a sequence c = c1 , . . . , ci = c′ of children of C such that cj is linked to cj+1 for any j = 1, . . . , i − 1. Observe 31 that if c, c′ ∈ A1 ∪ A2 for some 1-join (A1 , A2 ) and c and c′ are sequentially linked, then either both c and c′ must be in A1 or both must be in A2 . Now think back on the algorithm of Theorem B.7 and let A be the candidate set for the join. All vertices for which we have not yet decided whether they should be in A1 or in A2 must be children of u. We say a child c of u is of type 1 if h(c) 6∈ T (u) or it is incident with an edge e 6∈ E(A) for which nca(e) 6∈ T (u). Here nca(e) is a shorthand for the nearest common ancestor of the two endpoints of e. Now consider the following observation. (1) A child c is in A1 for some minimal 1-join (A1 , A2 ) if and only if it is of type 1 or sequentially linked to a child of type 1. This follows immediately from Lemma B.8. Using this observation, we can split A into sets A1 and A2 . Note that this choice is only difficult for children of u. Other vertices must belong to A1 . For children of u, we use the above observation. If every child of u is, or is sequentially linked to, a vertex of type 1, then A cannot be split to form a 1-join. To use these ideas algorithmically, we should be able to compute nca and h efficiently. By preprocessing T in linear time, we can compute nca and a-nca in constant time for any pair of vertices using algorithms of Harel and Tarjan [26]. Define x(t) for any t ∈ V (T ) as the nca(t, t′ ) closest to r for any (t, t′ ) ∈ E(G). By preprocessing in linear time, we know the height of each vertex in the tree. Then we can compute x(t) in O(m) time. Now set h(t) = t for any leaf of T and set h(t) equal to max{x(t′ ), h(t′ )} for any nonleaf t, where the maximum is over all children t′ of t. This takes O(n) time. To determine whether two children c, c′ of a vertex p are sequentially linked, we use preprocessing with a union-find data structure. For each vertex p, associate one such data structure, initially with each child c of p in a separate set. Now for any edge (a, b) ∈ E(G), we determine x = nca(a, b). If x = a or x = b, then this edge is not relevant. Otherwise, determine y = a-nca(a, b) and z = b-nca(a, b). If y = a and z = b, then again this edge is not relevant. Otherwise, we perform a union in the data structure associated with x on y and z. This takes O(m · α(m, ∆(G))) time in total [42]. Afterwards, we process all structures such that find-operations will take constant time. This takes O(n) time. Using this data structure, we can answer in O(1) time whether two children are sequentially linked. This concludes the analysis of all preprocessing. Preprocessing takes O(m · α(m, ∆(G))) time in total. We now analyze the algorithm itself. Finding the candidate set A can be done in O(∆(G)) time. Since we do this n − 2 times, this contributes O(n · ∆(G)) to the running time. To determine the contribution of the total time it takes to verify that candidate sets form a clique, we note that we check a nonedge at most once per candidate set, so this uses O(n) time. An edge is checked only if both endpoints are in the closed neighborhood of the edge (u, v) that is the basis of the candidate set. Hence an edge is checked O(∆(G)) times during the course of the algorithm. This gives a contribution of O(m · ∆(G)) to the running time. It remains to analyze the running time for splitting the candidate set A into A1 and A2 . For this, we only need to check whether a child c of u is of type 1 or sequentially linked to a child of type 1. Determining whether h(c) 6∈ T (u) takes O(1) time. Hence we spend no more than O(n · ∆(G)) time on this in the course of the algorithm. We determine nca(e) for an edge at most ∆(G) times if one of its endpoints is a child of the current vertex u. Since this happens at most twice, we spend no more than O(m · ∆(G)) time on this. If we determine that a vertex is of type 1, we indicate in the set of the union-find data structure containing this vertex that it contains a vertex of type 32 1. Finally, the algorithm checks for each child whether it is or is sequentially linked to a vertex of type 1. This takes another O(n · ∆(G)) time over the course of the algorithm. The conclusion of the analysis is a running time for the algorithm of O(m · ∆(G) + m · α(m, ∆(G))). Corollary B.10 In O(m(∆(G) + α(m, ∆(G)))) time, one can find a pseudo-1-join in a connected graph G, or report that G does not have such a join. Proof: Let (A1 , A2 ) be a pseudo-1-join. Suppose that V1 \A1 = ∅. Since |A1 | must be at least two in this case, A1 contains twins. Hence we should first check whether G has twins whose neighborhood is a clique. If no such twins exist, any pseudo-1-join of G also is a 1-join, which an be found using Theorem B.9. Using Theorem B.2, we can find all twins in O(m · ∆(G)) time. Using similar ideas as in the proof of Theorem B.9, we can test all neighborhoods of twins for being a clique in O(m · ∆(G)) time in total. B.2 Finding 2-joins We now describe algorithms to find the various 2-joins. Lemma B.11 Let (A1 , A2 , B1 , B2 ) be a (generalized) 2-join of a connected graph G that does not admit a 1-join. Then G[V1 ] and G[V2 ] are connected. Proof: Suppose that G[V1 ] has at least two connected components and let C be one of them. If C does not contain vertices of A1 or B1 , then C is a connected component of G, contradicting the connectedness of G. Assume w.l.o.g. that C contains vertices of A1 . Then C contains no vertices of B1 . It follows that (A1 , A2 ∪ V0 ) is a 1-join, a contradiction. Theorem B.12 In O(nm(∆(G) + α(m, ∆(G)))) time, one can find a 2-join in a connected graph G that does not admit a 1-join, or report that G does not have such a join. Proof: Observe that if (A1 , A2 , B1 , B2 ) is a 2-join of G, then one of the connected components of G − (A1 ∪ A2 ) admits a 1-join. Furthermore, if T is a spanning tree of G, then there is an edge e = (u, v) of T such that u ∈ A1 , v ∈ A2 or u ∈ B1 , v ∈ B2 . We now proceed as follows. Find a spanning tree of G. For each edge (u, v) ∈ E(T ), we remove all edges between vertices in N [u] ∩ N [v] from G and try to find a 1-join in one of the connected components of this graph that does not use any vertices of N [u] ∩ N [v]. If no such join exists, then (u, v) cannot be a basis for a 2-join. Otherwise, let (B1 , B2 ) be this 1-join. Now remove all edges between B1 and B2 from G and try to find a 1-join (A1 , A2 ) in the remaining graph that does not use any vertices of B1 ∪ B2 and for which neither V1 \A1 nor V2 \A2 equals B1 or B2 . If no such 1-join exists, then G does not have a 2-join with (u, v) as a basis. Otherwise, let (A1 , A2 ) be the 1-join we just found. Then (A1 , A2 , B1 , B2 ) is a 2-join. Using the algorithm of Theorem B.9 as a subroutine, the described algorithm takes O(nm(∆(G)+ α(m, ∆(G)))) time. Theorem B.13 In O(nm(∆(G) + α(m, ∆(G)))) time, one can find a generalized 2-join in a connected graph G that does not admit a 1-join, or report that G does not have such a join. Proof: We first try to find a 2-join (i.e. a generalized 2-join with V0 = ∅), using Theorem B.12. If no 2-join exists, guess a vertex v ∈ V0 . Then V0 is equal to the set of vertices u ∈ N [v] for which N [u] = N [v]. We can now apply the strategy as in the proof of Theorem B.12 to G\V0 and ensure that both 1-joins found are in N (V0 ). 33 Theorem B.14 In O(nm(∆(G) + α(m, ∆(G)))) time, one can find a pseudo-2-join in a connected graph G that does not admit a pseudo-1-join, or report that G does not have such a join. Proof: We first try to find a generalized 2-join using Theorem B.13. If one exists, G has a pseudo2-join. Otherwise, suppose that G has a pseudo-2-join (V0 , V1 , V2 ) for which V1 \(A1 ∪ B1 ) = ∅. Suppose that there is no edge in G between A1 and B1 . Then w.l.o.g. |A1 | ≥ 2. But then (A1 , V (G)\A1 ) would form a pseudo-1-join of G, a contradiction. Hence we can just apply the same idea as in the proof of Theorem B.13, but when using Theorem B.12 inside of it, we do not insist that neither V1 \A1 nor V2 \A2 equals B1 or B2 . 34 C An Algorithmic Structure Theorem of Claw-Free Graphs We obtain an algorithmic structure theorem of claw-free graphs following from the structural characterization of claw-free graphs by Chudnovsky and Seymour [10]. C.1 Strip-structures A stripe (J, Z) is almost-unbreakable if • J neither admits a 0-join, nor a pseudo-1-join, nor a pseudo-2-join, • there are no twins u, v ∈ V (J)\Z, • there is no W -join (A, B) in J such that Z ∩ A, Z ∩ B = ∅. Theorem C.1 Every claw-free trigraph G admits a purified strip-structure with nullity zero such that all its strips are either spots or thickenings of almost-unbreakable stripes. If G is a graph, such a strip-structure can be found in polynomial time. Proof: Let H be such that V (H) = ∅, E(H) = {F }, and the incidence relation is empty and let η be such that η(F ) = V (G). Then (H, η) is a purified strip-structure for G with nullity zero. We now iteratively apply the following rules. We do not apply rule i until rule i − 1 cannot be applied to any strip. After applying a rule, we check for rule 1 again, etc., until no more rules can be applied to any strip. Consider any F ∈ E(H) and its corresponding strip (J, Z). Assume that (J, Z) is not a spot. Let F = {h1 , . . . , hk } and let Z = {v1 , . . . , vk }. (1) F is not purified If k ≤ 1, then F is purified. So suppose that k ≥ 2 and η(F, h1 ) ∩ η(F, h2 ) 6= ∅. Let W = η(F, h1 ) ∩ η(F, h2 ). If k ≥ 3, by (CS3), W ∩ η(F, hi ) = ∅ for 3 ≤ i ≤ k. Moreover, by (CS2), W is strongly anticomplete to η(F )\(η(F, h1 ) ∪ η(F, h2 )). Finally, by (SD2), W is a strong clique of G. Let W = {w1 , . . . , wℓ }. Create a new edge Fi′ for each wi and construct a new strip-structure ′ (H , η ′ ) for G as follows. • V (H ′ ) = V (H) and E(H ′ ) = E(H) ∪ {F1′ , . . . , Fℓ′ }, • for each F0 ∈ E(H) and h ∈ V (H), F0 is incident with h in H ′ if and only if they are adjacent in H, • each Fi′ is adjacent only with h1 , h2 for all 1 ≤ i ≤ ℓ, • for each F0 ∈ E(H)\{F }, η ′ (F0 ) = η(F0 ) and η ′ (F0 , h) = η(F0 , h) for all h ∈ F0 , • η ′ (F ) = η(F )\W , η ′ (F, h1 ) = η(F, h1 )\W , η ′ (F, h2 ) = η(F, h2 )\W , and η ′ (F, hi ) = η(F, hi ) for all 3 ≤ i ≤ k, • η ′ (Fi′ ) = {wi }, η ′ (Fi′ , h1 ) = {wi }, and η ′ (Fi′ , h2 ) = {wi } for all 1 ≤ i ≤ ℓ. If η(F ) = W , we remove F from H ′ . It can be quickly verified that (H ′ , η ′ ) is a strip-structure for G. Furthermore, F1′ , . . . , Fℓ′ are all purified. (2) η(F, hi ) = ∅ for some hi ∈ F Construct a new strip-structure (H ′ , η ′ ) for G as follows. • V (H ′ ) = V (H) and E(H ′ ) = E(H), • for each F0 ∈ E(H)\{F } and h ∈ V (H), F0 is incident with h in H ′ if and only if they are adjacent in H, • for each h ∈ V (H)\{hi }, F is incident with h in H ′ if and only if they are adjacent in H, • for each F0 ∈ E(H)\{F }, η ′ (F0 ) = η(F0 ) and η ′ (F0 , h) = η(F0 , h) for all h ∈ F0 , 35 • η ′ (F ) = η(F ) and η ′ (F, h) = η(F, h) for all h ∈ F \{hi }. Clearly, (H ′ , η ′ ) is a strip-structure for G. After exhaustively applying (1) and (2), (H, η) is a purified strip-structure of nullity zero. (3) J admits a 0-join (V1 , V2 ) For j = 1, 2, let Qj = Z ∩ Vj and let Pj = {hi | 1 ≤ i ≤ k and vi ∈ Vj }. Clearly, P1 ∩ P2 = ∅ and P1 ∪ P2 = F . As (H, η) has nullity zero, each vi has a neighbor in J\Z. Hence V1 \Q1 6= ∅ and V2 \Q2 6= ∅. Now consider two new edges F1′ and F2′ and let (H ′ , η ′ ) be defined as follows. • V (H ′ ) = V (H) and E(H ′ ) = (E(H)\{F }) ∪ {F1′ , F2′ } • for each F0 ∈ E(H)\{F } and h ∈ V (H), F0 is incident with h in H ′ if and only if they are incident in H • for j = 1, 2 and h ∈ V (H), Fj′ is incident with h in H ′ if and only if h ∈ Pj • for all F0 ∈ E(H)\{F }, η ′ (F0 ) = η(F0 ) and η ′ (F0 , h) = η(F0 , h) for all h ∈ F0 • for j = 1, 2, η ′ (Fj′ ) = Vj \Qj and η ′ (Fj′ , h) = η(F, h) for all h ∈ Pj Observe that (H ′ , η ′ ) is again a strip-structure for G. (4) J admits a pseudo-1-join (V1 , V2 ) As J has no 0-join, Ai 6= ∅ for i = 1, 2. For j = 1, 2, since Vj is not strongly stable, Vj \Z 6= ∅. For j = 1, 2, let Qj = Vj ∩ Z and let Pj = {hi | 1 ≤ i ≤ k and vi ∈ Vj }. Clearly, P1 ∩ P2 = ∅ and P1 ∪ P2 = F . Moreover, Vj \Qj 6= ∅. If Z ∩ (A1 ∪ A2 ) 6= ∅, suppose that v1 ∈ A1 . Then since A1 ∪ A2 is a strong clique and (H, η) is purified, Z ∩ (A1 ∪ A2 ) = {v1 } and Z\{v1 } is strongly anticomplete to A1 ∪ A2 . Furthermore, v1 is strongly anticomplete to J\(A1 ∪ A2 ), since every vertex in this set has an antineighbor in A1 ∪ A2 and v1 is strongly simplicial. Now consider two new edges F1′ and F2′ . If Z ∩ (A1 ∪ A2 ) = ∅, consider a new vertex h′ as well. Otherwise, suppose that v1 ∈ A1 and let h′ = h1 . Let (H ′ , η ′ ) be defined as follows. • V (H ′ ) = V (H) ∪ {h′ }, and E(H ′ ) = (E(H)\{F }) ∪ {F1′ , F2′ } • for each F0 ∈ E(H)\{F } and h ∈ V (H), F0 is incident with h in H ′ if and only if they are incident in H • for j = 1, 2 and h ∈ V (H), Fj′ is incident with h in H ′ if and only if h ∈ Pj • F1′ and F2′ are incident with h′ • for all F0 ∈ E(H)\{F }, η ′ (F0 ) = η(F0 ) and η ′ (F0 , h) = η(F0 , h) for all h ∈ F0 • for j = 1, 2, η ′ (Fj′ ) = Vj \Qj and η ′ (Fj′ , h) = η(F, h) for all h ∈ Pj − {h′ } • for j = 1, 2, η ′ (Fj′ , h′ ) = Aj \Qj . Observe that since J does not admit a 0-join, Aj \Qj 6= ∅ for j = 1, 2. It can now be readily verified that (H ′ , η ′ ) is a strip-structure of G. (5) J admits a pseudo-2-join 36 Apply the procedure as described in [10], 9.1-(3). Let (H, η) be the resulting strip-structure and let (J, Z) be any stripe of the strip-decomposition. Choose (J ′ , Z ′ ) with |V (J ′ )| minimum such that (J, Z) is a thickening of (J ′ , Z ′ ) and let Xv (v ∈ V (J ′ )) be the corresponding subsets. Hence no two vertices in V (J ′ )\Z ′ are twins in J ′ and there is no W-join (A, B) in J ′ with Z ′ ∩ A, Z ′ ∩ B = ∅. Moreover, by (3)-(5), J ′ does not admit a 0-join, a pseudo-1-join, or a pseudo-2-join. This shows that (J, Z) is a thickening of an almost-unbreakable stripe. Observe that in applying one of rules (1),(3)-(5), the number of edges of the strip-structure increases by at least one. As it follows from (SD1) that a strip-structure can have at most |V (G)| edges, we need only apply these rules at most |V (G)| times. Rule (2) needs only be possibly applied after Rule (1) has been applied. Furthermore, Rule (1) needs only possibly be applied after one of Rules (3)-(5) have been applied. Hence (1) is applied at most |V (G)|/2 times and Rule (2) at most |V (G)| times. Since applying a rule takes polynomial time, it takes polynomial time before no more rule can be applied. C.2 Almost-Unbreakable Stripes Lemma C.2 If (J, Z) is (a thickening of ) an almost-unbreakable stripe such that J\Z does not admit twins, then either J does not admit twins, or J is a strong clique with |V (J)| = 2 and |Z| = 1. Proof: Suppose that J admits twins u, v. Since J\Z does not admit twins and Z is strongly stable, exactly one of u, v is in Z. But then N [u] = N [v] is a strong clique. As (J, Z) is (a thickening of) an almost-unbreakable stripe, ({u, v}, V (J)\{u, v}) is not a pseudo-1-join of J, and V (J)\{u, v} must be strongly stable. Moreover, J does not admit a 0-join. So |V (J)\{u, v}| ≤ 1, and J is a strong clique, and thus |Z| ≤ 1. But as J\Z does not admit twins, |V (J)| = 2 and |Z| = 1. Lemma C.3 ([10], 10.4) Let (J, Z) be (a thickening of ) an almost-unbreakable stripe. Then either J is a thickening of an indecomposable member of S0 , . . . , S7 or J admits a hex-join. We now consider three different cases. C.3 J is a line graph or a union of two strong cliques Lemma C.4 Let (J, Z) be an almost-unbreakable stripe with |V (J)| > 2 such that V (J) is the union of two strong cliques. Then |V (J)| ≤ 4, and (J, Z) ∈ Z1 ∪ Z6 . Proof: By Lemma C.2, J does not admit twins. Let A, B be disjoint strong cliques in J with A ∪ B = V (J) such that A is maximal (i.e. no vertex of B is strongly complete to A). Let W denote the set of vertices of A that are strongly complete to B. Since J does not admit twins and |V (J)| > 2, |W | ≤ 1 and |A\W |, |B| ≥ 1. Since Z is strongly stable, |Z ∩ A|, |Z ∩ B| ≤ 1. Since vertices of Z are strongly simplicial and no member of A\W is strongly complete to B and vice versa, W ∩ Z = ∅. Similarly, each vertex of Z is either strongly anticomplete to A\W or strongly anticomplete to B. Since (A, B) is a homogeneous pair, one of |A|, |B| > 1, and since (J, Z) is almost-unbreakable, Z 6= ∅. Let A′ = A\W . Since (A′ \Z, B\Z) is a homogeneous pair that is not a W-join and J does not admit twins, |A′ \Z|, |B\Z| ≤ 1. Hence |V (J)| ≤ 5. Suppose that |V (J)| = 5. Since |A′ \Z| + |B\Z| ≤ 2 and |Z| ≤ 2, |A′ | + |B| ≤ 4 and thus |W | = 1. As (J, Z) is a stripe, no vertex of V (J) is adjacent to more than one vertex of Z. As W 37 is strongly complete to A′ and B, |Z| = 1. But then as |A′ \Z| + |B\Z| ≤ 2, |A′ | + |B| ≤ 3, and thus |V (J)| = |A| + |B| ≤ 4, a contradiction. Suppose that |V (J)| = 4. If say |A| = 3, then as J has no 0-join, a vertex of A is adjacent to b, where B = {b}. If all vertices of A adjacent to B are strongly adjacent to B, or if more than one vertex of A is strongly adjacent to b, then J admits twins, a contradiction. Hence |W | = 1, some vertex of A′ must be semiadjacent to b, and another vertex of A′ is strongly antiadjacent to b. Then (J, Z) ∈ Z6 . If |A| = 1, then no vertex of B is strongly adjacent to a, where A = {a}, for this would contradict the maximality of A. As only one vertex of B can be semiadjacent to a, B contains twins, a contradiction. So |A| = 2. If B ∩ Z 6= ∅ and |W | = 1, then A ∩ Z = ∅ and the vertex in A′ must be semiadjacent to the vertex in B\Z, as J does not admit twins. Then (J, Z) ∈ Z6 . If B ∩ Z 6= ∅ and W = ∅, then as A is neither strongly complete nor strongly anticomplete to B\Z, (A, B\Z) is a homogenous pair, and (J, Z) is almost-unbreakable, A ∩ Z 6= ∅. But then J is a four-vertex path and (J, Z) ∈ Z1 . If B ∩ Z = ∅, then A ∩ Z 6= ∅. As J does not admit twins, W = ∅. Since (A\Z, B) is a homogenous pair, A\Z is neither strongly complete nor strongly anticomplete to B, and (J, Z) is almost-unbreakable, B ∩ Z 6= ∅, a contradiction. Finally, suppose that |V (J)| = 3. Since Z 6= ∅ and J does not admit twins, J is not a triangle. But then J is a three-vertex path and (J, Z) is a member of Z6 . Corollary C.5 Let (J, Z) be a thickening of an almost-unbreakable stripe (J ′ , Z ′ ) such that J is a union of two strong cliques and Z 6= ∅. Then (J, Z) is a thickening of a member of Z1 ∪ Z6 . Proof: Since J is a union of two strong cliques, J ′ also is a union of two strong cliques. If |V (J ′ )| = 2, then J ′ consists of a strongly adjacent pair of vertices. Then (J ′ , Z ′ ) ∈ Z6 . If |V (J ′ )| > 2, then it follows from Lemma C.4 that (J ′ , Z ′ ) ∈ Z1 ∪ Z6 . The corollary follows. Lemma C.6 Let G be a thickening of a line trigraph of a graph H such that G admits no 0-join, pseudo-1-join, or pseudo-2-join. Then G admits no W-join and H has no vertex of degree two, or G is a union of two strong cliques. Proof: Follows from the proof of [10], 10.3. Lemma C.7 Let G be a thickening of a line trigraph of a graph H such that G admits no 0-join, pseudo-1-join, pseudo-2-join, or twins, and G is not a union of two strong cliques. Then G admits a biclique. Moreover, a biclique can be found in linear time. Proof: Following Lemma C.7, G admits no W-join and H has no vertex of degree two. Hence G is the line graph of H and we can find H from G in linear time [40]. If every edge of H is incident with a vertex of degree one, then H is a star and G is a strong clique, contradicting the assumption of the lemma. Hence there is an edge uv = e ∈ E(H) such that u, v both have degree at least three. Let P (resp. Q) be the sets of edges of H incident with u but not v (resp. with v but not u). Let V1 be the singleton set with the vertex of G corresponding to e, V2 (resp. V3 ) the set of vertices corresponding to vertices in P (resp. Q), and let V4 = V (G)\(V1 ∪ V2 ∪ V3 ). Note that V1 ∪ V2 and V1 ∪ V3 are strong cliques, V1 is strongly anticomplete to V4 , and, since |P | ≥ 2, V2 is not strongly stable. If v2 ∈ V2 and v3 ∈ V3 are adjacent, then the corresponding edges share a vertex in H. Hence v2 , v3 have the same neighbors in V4 . Finally, as |P |, |Q| ≥ 2, there exist p ∈ P and q ∈ Q with no common endpoint, and thus V2 ∪ V3 is not a strong clique. Then (V1 , V2 , V3 , V4 ) is a biclique. Because we know H, this biclique can be found in linear time. 38 Corollary C.8 Let (J, Z) be an almost-unbreakable stripe with |V (J)| > 2. If J is a thickening of a line trigraph, then (J, Z) ∈ Z1 ∪ Z6 or J admits a biclique. Proof: By Lemma C.2, J does not admit twins. If J is a union of two strong cliques, then the result follows from Lemma C.4. So assume that J is not a union of two strong cliques. Then Lemma C.7 shows that J admits a biclique. Corollary C.9 Let G be a thickening of a line trigraph of a graph H such that G admits no 0-join, pseudo-1-join, or pseudo-2-join. Then G admits no W-join and H has no vertex of degree two, or G is a union of two strong cliques. If G is not a union of two strong cliques, then G admits a biclique, and if additionally G has no twins, a biclique can be found in linear time. C.4 Dealing with Bicliques If we come across a biclique, we apply another rule to expand the strip-structure. The rule is described in [10], 9.1(4). Afterwards, we again apply the rules of Theorem C.1. C.5 J is a thickening of an indecomposable member of Si i ∈ {1, . . . , 7} Lemma C.10 ([10], 11.1) Let J ∈ Si for some i ∈ {1, 2, 4, 5, 6, 7} and suppose that J is indecomposable and V (J) is not a union of two strong cliques. • If z ∈ V (J) is a simplicial vertex, let Z be the set of all simplicial vertices of J. Then |Z| ≤ 2 and (J, Z) ∈ Zj for some j ∈ {2, 5, 7, 8, 9}. • If z ∈ V (J) is a near-simplicial vertex semiadjacent to z ′ , let Z = {z, z ′ }. Then (J ′ , Z) ∈ Z2 ∪ Z5 , where J ′ is the trigraph obtained from G by making z, z ′ strongly antiadjacent. Lemma C.11 Let (J, Z) be an almost-unbreakable stripe such that Z 6= ∅. If J is a thickening of a long circular interval trigraph, then (J, Z) ∈ Z1 ∪ Z6 . Proof: The proof is essentially the same as [10], 12.1. Lemma C.12 Let (J, Z) be an almost-unbreakable stripe with Z 6= ∅. If J is a thickening of an indecomposable member of Si , where i ∈ {1, . . . , 7}, then J is a union of two strong cliques or (J, Z) ∈ Zi , where i ∈ {1, 2, 5, 6, 7, 8, 9}. Proof: The proof is essentially the same as [10], 12.2. C.6 J admits a hex-join Lemma C.13 Let (J, Z) be an almost-unbreakable stripe such that J admits a hex-join. Then |Z| ≤ 2. Proof: Same proof as [10], 13.1. Lemma C.14 Let (J, Z) be an almost-unbreakable stripe with |Z| = 2. Then V (J) is the union of three strong cliques if and only if V (J)\N [Z] is a strong clique. Proof: Suppose that V (J)\N [Z] is a strong clique. Since (J, Z) is a stripe, the vertices in Z are strongly simplicial. It follows that V (J) is the union of three strong cliques. Let Z = {z1 , z2 }. Suppose that V (J) is the union of three strong cliques A, B, C. Since z1 and z2 are strongly antiadjacent, we can assume that z1 ∈ A and z2 ∈ B. But then V (J)\N [Z] ⊆ C. 39 Lemma C.15 Let (J, Z) be a thickening of an almost-unbreakable stripe with |Z| = 2, such that V (J) is the union of three strong cliques. Then (J, Z) is a thickening of a member of Z1 ∪Z2 ∪Z3 ∪Z4 . Proof: Same proof as [10], 13.2. Lemma C.16 Let (J, Z) be an almost-unbreakable stripe such that J admits a hex-join. Then J is a union of two strong cliques, or J\N [Z] 6= ∅ and α(J) ≤ 3. Proof: We may assume that J is not a union of two strong cliques. Since the neighborhood of each z ∈ Z is a strong clique and |Z| ≤ 2 by Lemma C.13, J\N [Z] 6= ∅. Moreover, J is a union of three strong cliques by the definition of a hex-join. C.7 Bringing it all together Lemma C.17 Let graph G be a thickening of a circular interval trigraph G′ . Then G is a circular interval graph or G contains a proper W-join. Proof: Suppose that G is not a circular interval graph. Then Eisenbrand et al. ([18], Lemma 2) showed that G admits a W-join (A, B) such that G[A ∪ B] contains a C4 as an induced subgraph. Iteratively remove vertices from A (resp. B) that are complete or anticomplete to B (resp. A) and call the resulting sets A′ and B ′ . As G[A ∪ B] has a C4 as an induced subgraph, |A′ |, |B ′ | ≥ 2. Hence (A′ , B ′ ) is a proper W-join. Lemma C.18 Let (J, Z) be a thickening of an almost-unbreakable stripe. Then J admits a proper W-join if and only if there is a proper W-join (A, B) in J such that Z ∩ A, Z ∩ B = ∅. Proof: Suppose that J admits a proper W-join (A, B). Suppose w.l.o.g. that Z ∩ A 6= ∅. As Z is strongly stable, we can assume that Z ∩ A = {z} for some z ∈ Z. Since (A, B) is a proper W-join, N [z] ∩ B 6= ∅. Say b ∈ N [z] ∩ B. As A is a strong clique and z ∈ A, A ⊆ N [z]. Since z is strongly simplicial, this implies that b is strongly complete to A, contradicting that (A, B) is a proper W-join. The converse is trivial. Theorem C.19 Let G be a connected claw-free graph, such that G does not admit twins or proper W-joins and α(G) > 3. Then either • G is a thickening of a member of S2 , • G ∈ S3 , or • G admits a strip-structure such that for each strip (J, Z) either – (J, Z) is a spot, or – (J, Z) is a stripe with 1 ≤ |Z| ≤ 2 for which either ∗ J is a circular interval graph, ∗ (J, Z) is a thickening of a member of Z2 ∪ Z3 ∪ Z4 ∪ Z5 , or ∗ |Z| = 1, α(J) ≤ 3, and J\N [Z] 6= ∅. Moreover, we can distinguish the cases and find the strip-structure in polynomial time. Proof: By Theorem C.1, G has a purified strip-structure (H, η) of nullity zero such that all its strips are spots or thickenings of almost-unbreakable stripes. Suppose first that |E(H)| = 1. Then the unique strip of (H, η) is (G, ∅), which is a spot or a thickening of an almost-unbreakable stripe. Since spots have |Z| = 2, G is a thickening of an almost-unbreakable stripe. Hence G does not admit a 0-join, a 1-join, or a generalized 2-join. Since α(G) > 3, G is not a union of three cliques, and G does not admit a hex-join. Choose G′ with |V (G′ )| minimum such that G is a thickening of G′ and let Xv (v ∈ V (G′ )) denote the corresponding sets. Then G′ ∈ S0 ∪ · · · ∪ S7 following Lemma C.3. We consider the various cases: 40 S7 : Suppose that G has a strong stable set I of size at least four. Then I corresponds to an independent set in G′′ , where G′′ is G′ with all semiadjacent edges removed. We call this independent set I as well. Since for any X ⊆ V (G′ ) with |X| = 4, at least two pairs of vertices in X are strongly adjacent, the same holds with respect to G′′ . Applying this to any subset of I of size four, we obtain a contradiction to the assumption that I is stable. Hence G′ 6∈ S7 . S6 : Recall that each member of S6 is a union of three strong cliques. Then G is also a union of three strong cliques and α(G) ≤ 3, a contradiction. S5 : Suppose that G has a strong stable set I of size at least four. Then I corresponds to an independent set in G′′ , where G′′ is G′ with all semiadjacent edges removed. We call this independent set I as well. Let A, B, C, d1 , . . . , d5 , X be as in the definition of S5 . Since A, B, C are strong cliques, |I ∩ (A ∪ B ∪ C)| ≤ 3. Suppose that |I ∩ (A ∪ B ∪ C)| = 3, then I has precisely one vertex from each of A, B, C, say ai , bj , ck respectively. Since ck is strongly adjacent to bj if and only if j 6= k, j = k. Similarly, i = k. But then i = j, thus ai and bj are adjacent in G′ . But then ai and bj must be semiadjacent in G′ and ck ∈ X. Hence ck 6∈ V (G′′ ), a contradiction. Hence |I ∩ (A ∪ B ∪ C)| ≤ 2. Note that d3 , d4 , d5 are strongly adjacent, so |I ∩ {d3 , d4 , d5 }| ≤ 1. Therefore d1 ∈ I or d2 ∈ I. As d1 is strongly complete to A ∪ B ∪ C, d1 ∈ I implies that |I| ≤ 3. Hence d1 6∈ I and d2 ∈ I. As d2 is strongly A ∪ B complete, |I ∩ (A ∪ B ∪ C)| ≤ 1, implying that |I| ≤ 3, a contradiction. S4 : Suppose again that G has a strong stable set I of size at least four. Then we can again consider G′′ , obtained from G′ by removing semiadjacent edges. Then I is an independent set in G′′ as well. Let H, h1 , . . . , h7 be as in the definition of S4 . Let E6 denote the set of edges of H incident with h6 and let x be the vertex added to L(H) to obtain G′ . Note that x is strongly adjacent to precisely the edges E(C) of the induced cycle C = {h1 , . . . , h5 }. Observe that V (G′′ ) = E6 ∪ E(C) ∪ {x}. Since E6 is a strong clique in G′′ , |I ∩ E6 | ≤ 1. Hence if x ∈ I, then |I| ≤ 2, a contradiction. Otherwise, as E(C) induces a 5-cycle, |I ∩ E(C)| ≤ 2 and thus |I| ≤ 3, a contradiction. S1 : It suffices to show that α(G) ≤ 3 if G′ = G0 . So let v1 , . . . , v12 be as in the definition of S1 and let I and G′′ be defined as above. If v11 , v12 ∈ I, then |I| = 2, a contradiction. Let I ′ = I ∩ {v1 , . . . , v10 } and let J denote the set of indices of the vertices in I ′ . If J contains only even or only odd integers, then |I ′ | ≤ 2 as vi is adjacent to vi+2 (indices modulo 10) for 1 ≤ i ≤ 10. Hence |I| ≤ 3, a contradiction. But then J contains both odd and even integers and thus v11 , v12 6∈ I. If j ∈ J, then j − 2, j − 1, j + 1, j + 2 6∈ J (integers modulo 10). Hence |I| = |J| ≤ ⌊10/3⌋ = 3, a contradiction. It follows that G is a thickening of an indecomposable member of S0 ∪ S2 ∪ S3 . Suppose that G is a thickening of a member of S0 . Since G is not a union of two strong cliques and G does not admit twins, G admits a biclique by Lemma C.7. Moreover, it can be found in linear time. We then apply the Rule for bicliques and recurse. Suppose that G is a thickening of a member of S3 . Since G does not admit a proper W-join, it follows from Lemma C.17 that G is circular interval graph. Hence we can just check if G is a circular interval graph to determine whether G is a thickening of a member of S3 . Recognizing a circular interval graph takes linear time [14]. If neither of the above two cases hold, then G must be a thickening of a member of S2 . 41 Now consider the case when |E(H)| > 1. Let (J, Z) be a strip under consideration. We can check in constant time whether or not (J, Z) is a spot. So assume that (J, Z) is not a spot. By attempting to bicolor the complement of J, we can check in polynomial time whether J is a union of two cliques. If so, then (J, Z) is a thickening of a member of Z1 ∪ Z6 by Corollary C.5. We describe later how to deal with this. Suppose now that J is a thickening of a line trigraph. We know that (J, Z) is not a union of two strong cliques. But then, by Lemma C.2 and C.6, J does not admit a W-join or twins. Hence J is a line graph L(H) for some graph H. Hence to determine whether J is a thickening of a line trigraph, it suffices to determine whether J is a line graph L(H). Recognition of line graphs and finding H can be done in linear time [40]. Since J is not the union of two strong cliques, it follows from Lemma C.7 that J admits a biclique, which can be found in linear time. We apply the Rule for bicliques and recurse. Suppose that |Z| = 2. If V (J)\N [Z] is a strong clique (which can be checked for in linear time), then V (J) is the union of three strong cliques by Lemma C.14. Then it follows from Lemma C.15 that (J, Z) is a thickening of a member of Zi , where i ∈ {1, 2, 3, 4}. We show later how to recognize the case when (J, Z) is a thickening of a member of Z1 . Suppose that |Z| = 1, α(J) ≤ 3, and J\N [Z] 6= ∅. This can be checked for in polynomial time. Moreover, this is exactly one of the cases in the theorem statement. Observe that if V (J) is the union of three nonempty strong cliques, we are exactly in one of the above two cases by Lemma C.14. Suppose that J is not a thickening of a line trigraph, V (J) is not the union of two or three strong cliques, and (J, Z) is not a spot. Recall that (J, Z) is a thickening of some almost-unbreakable stripe (J ′ , Z ′ ). Following Lemma C.3, this implies that J ′ is a thickening of an indecomposable member of S0 , . . . , S7 or J ′ admits a hex-join. If J ′ admits a hex-join, then J ′ is a union of three strong cliques and so is J, a contradiction. If J ′ is a thickening of an indecomposable member of S0 , then so is J, a contradiction. Hence J ′ is a thickening of an indecomposable member of S1 , . . . , S7 . It follows from Lemma C.12 that (J ′ , Z ′ ) is a member of Zi , where i ∈ {1, 2, 5, 6, 7, 8, 9}, or V (J ′ ) is a union of two strong cliques. In the latter case, V (J) is also a union of two strong cliques, a contradiction. If (J ′ , Z ′ ) is a member of Zi , where i ∈ {7, 8, 9}, then we can show that α(J) ≤ 3 and J\N [Z] 6= ∅. Suppose that (J ′ , Z ′ ) is a member of Z7 : Since J ′ ∈ S4 , we have already seen that α(J) ≤ 3. Since the edge h6 h7 is not incident with any edges of the cycle h1 . . . h5 , J\N [Z] 6= ∅. Z8 : Since J ′ ∈ S5 , we have already seen that α(J) ≤ 3. Since d5 is not incident with the nonempty strong cliques A, B, C, it follows that J\N [Z] 6= ∅. Z9 : Since J ′ ∈ S7 (J ′ is antiprismatic), we have already seen that α(J) ≤ 3. Moreover, z is strongly antiadjacent to the nonempty strong cliques A, B, C, so J\N [Z] 6= ∅. It follows that (J ′ , Z ′ ) ∈ Z1 ∪ Z2 ∪ Z5 ∪ Z6 and thus that (J, Z) is a thickening of a member of Z1 ∪ Z2 ∪ Z5 ∪ Z6 . It remains to recognize whether (J, Z) is a thickening of an almost-unbreakable member of Z1 ∪ Z6 . So assume that this is indeed the case. Suppose that J contains a proper W-join (A, B). If Z ∩ A, Z ∩ B = ∅, then (A, B) is also a proper W-join in G, a contradiction. But then J does not admit a proper W-join by Lemma C.18, and J is a circular interval graph by Lemma C.17. So to check if (J, Z) is a thickening of a member of Z1 ∪ Z6 , it suffices to check if J is a circular interval graph, which can be done in linear time [14]. 42 Note that the proof relies on recursion whenever we find a biclique. However, every time we find a biclique and apply the Rule for bicliques, |E(H)| increases by at least one. As |E(H)| ≤ |V (G)| by definition, at most |V (G)| recursive steps are needed. The theorem follows. Observe that Theorem 2.1 is an immediate consequence of Theorem C.19. Theorem C.20 Let G be a connected claw-free graph, such that G does not admit twins or proper W-joins and α(G) > 3. Then either • G is a thickening of a member of S2 , • G ∈ S3 , or • G admits a strip-structure such that for each strip (J, Z) either – (J, Z) is a spot, or – (J, Z) is a stripe with 1 ≤ |Z| ≤ 2 for which either ∗ J is a circular interval graph, ∗ (J, Z) is a thickening of a member of Z5 , or ∗ α(J) ≤ 3 and J\N [Z] 6= ∅. Moreover, we can distinguish the cases and find the strip-structure in polynomial time. Proof: We follow the proof of Theorem C.19. We claim that any stripe (J, Z) that is a thickening of a member (J ′ , Z ′ ) of Z2 ∪ Z3 ∪ Z4 has α(J) ≤ 3 and J\N [Z] 6= ∅. Z2 : Since J ′ ∈ S6 , we know that α(J) ≤ 3. Since the strong clique C in the definition of S6 has |C\X| ≥ 2 and both a0 and b0 are strongly antiadjacent to C, it follows that J\N [Z] 6= ∅. Z3 : Note that V (J) is the union of three nonempty strong cliques. Hence α(J) ≤ 3 and J\N [Z] 6= ∅. Z4 : Note that V (J) is the union of three nonempty strong cliques. Hence α(J) ≤ 3 and J\N [Z] 6= ∅. The theorem follows immediately. 43 D Proofs for Section 5 Proof of Lemma 5.2: Note that any member of Z2 has at most three semiadjacent pairs of vertices. The first goal is to find these pairs (if they exist). Observe that the definition of Z2 is symmetric for the choice of a0 , b0 . That is, if Z = {z1 , z2 }, we can choose a0 = z1 and b0 = z2 , or vice versa. Hence we may assume that we know a0 , b0 . But then let A = N (a0 ), B = N (b0 ), and C = V (J)\(A ∪ B). By definition, A, B, and C must be strong cliques. It is also clear that A, B 6= ∅ and that |C| ≥ 2. (1) If a ∈ A and b ∈ B are adjacent, they have the same set of neighbors in C. Moreover, all neighbors of a and b in C are strong neighbors. Suppose that c ∈ C is adjacent to a, but antiadjacent to b. Then {a, a0 , b, c} is a claw (with center a). Let A∗ denote the set of vertices in A that are strongly complete to C. Let B ∗ denote the set of vertices in B that are strongly complete to C. (2) (A∗ , B ∗ ) is a W-join, or |A∗ |, |B ∗ | ≤ 1 Suppose that |A∗ | = 0 and |B ∗ | > 1. Then by (1), B ∗ is strongly anticomplete to A. But then any two vertices in B ∗ are twins. This contradicts the assumption that J does not admit twins. Similarly, |B ∗ | = 0 implies that |A∗ | ≤ 1. So suppose that |A∗ |, |B ∗ | ≥ 1 and w.l.o.g. that |A∗ | ≥ 2. It follows from the definition of A∗ and B ∗ and from (1) that A∗ is strongly anticomplete to B\B ∗ and that B ∗ is strongly anticomplete to A\A∗ . If A∗ is strongly complete or strongly anticomplete to B ∗ , then any two vertices of A∗ form twins, a contradiction. Hence A∗ is neither strongly complete nor strongly anticomplete to B ∗ and thus (A∗ , B ∗ ) is a W-join. (3) If ai , bi are semiadjacent in J ′ , for some (J ′ , Z ′ ) ∈ Z2 for which (J, Z) is a thickening of (J ′ , Z ′ ), then Xai ⊆ A∗ and Xbi ⊆ B ∗ . This follows immediately from the fact that if ai , bi are semiadjacent, then ci ∈ X by the definition of Z2 , and thus ai and bi are complete to C\X in J ′ . Let A′ denote the set of all vertices in A that are strongly anticomplete to B. Similarly, let B ′ denote the set of all vertices in B that are strongly anticomplete to A. Let Q be the set of vertices in C complete to A\A′ and to B\B ′ . Let P = C\Q. (4) P is strongly complete to A′ and B ′ By definition, any vertex of A\A′ is adjacent to some vertex of B\B ′ . By (1) and the definition of P , any p ∈ P is antiadjacent to at least one vertex in A\A′ and to at least one vertex in B\B ′ . But then it follows from the definition of Z2 that P is strongly complete to A′ and B ′ . Now let Xq1 denote the set of vertices in Q that are antiadjacent to at least one vertex of A′ . Let NA′ denote the set of vertices in A′ that some x ∈ Xq1 is antiadjacent to. (5) (Xq1 , NA′ ) is a W-join, or |Xq1 |, |NA′ | ≤ 1. We claim that B is strongly complete to Xq1 . For suppose that c ∈ Xq1 and b ∈ B are antiadjacent. Then c ∈ Xci and b ∈ Xbi in any thickening of a member of Z2 that results in (J, Z). However, c is 44 antiadjacent to some a ∈ A′ by the definition of Q. It follows that a ∈ Xai in this thickening. But then a and b are adjacent in J, contradicting that a ∈ A′ . Since Xq1 ⊆ Q, Xq1 is strongly complete to A\A′ . By definition of Xq1 , Xq1 is strongly complete to A′ \NA′ . By (4), NA′ is strongly complete to P . Moreover, by the definition of Xq1 , Q\Xq1 is complete to A′ , and thus to NA′ as well. Hence if |Xq1 |, |NA′ | ≥ 1 and at least one of |Xq1 |, |NA′ | ≥ 2, (Xq1 , NA′ ) is a W-join. So suppose that |Xq1 | = 0 and |NA′ | ≥ 2. Then observe that any two members of NA′ are twins, a contradiction. Similarly, if |NA′ | = 0, then |NA′ | ≤ 1. Let Xq2 denote the set of vertices in Q that are antiadjacent to at least one vertex of B ′ . Let NB ′ denote the set of vertices in B ′ that some x ∈ Xq2 is antiadjacent to. Then (Xq1 , NB ′ ) is a W-join, or |Xq1 |, |NB ′ | ≤ 1, using similar arguments as in the proof of (5). (6) If ai , ci are semiadjacent in J ′ , where (J, Z) is a thickening of (J ′ , Z ′ ) ∈ Z2 , then Xai ⊆ NA′ and Xci ⊆ Xq1 . Similarly, if bi , ci are semiadjacent, then Xbi ⊆ NB ′ and X ci ⊆ X q 2 . This follows immediately from the definition of Z2 . It is also easy to see that the sets A∗ , B ∗ , Xq1 , NA′ , Xq2 , NB ′ are pairwise disjoint. Hence any of (A∗ , B ∗ ), (Xq1 , NA′ ), (Xq2 , NB ′ ) that form a W-join can be replaced by a semiadjacent pair of vertices, with the same index i. The indices are different for each pair however. We use indices from {1, 2, 3} for this. Now let A, B, C denote the vertices remaining in A, B, C respectively after removing vertices involved in any one of the three possible W-joins we just found. Now consider the graph G′ , where V (G′ ) = A ∪ B ∪ C and • a ∈ A, b ∈ B are adjacent if and only if they are strongly adjacent in J, • a ∈ A, c ∈ C are adjacent if and only if they are strongly antiadjacent in J, • a ∈ B, c ∈ C are adjacent if and only if they are strongly antiadjacent in J. Then from the definition of Z2 , G′ can only contain vertices, edges, and triangles as connected components. We label the vertices in each connected component with a unique label from {4, 5, . . .}. This concludes the recognition algorithm. Proof of Lemma 5.4: Let Z = {z1 , z2 }. Since V (J) is not a union of two strong cliques, V (J)\N [Z] 6= ∅. Consider vertices in V (J)\N [Z]. If there is only one such vertex v, then Xh2 h3 is the set of strong neighbors of v in N (z1 ) and Xh3 h4 is the set of strong neighbors of v in N (z1 ). Note that |V (J)\N [Z]| = 1 implies that all edges of H are incident with h2 or h4 , except the one corresponding to v, which is incident with h3 . If v is semiadjacent to some vertex of J, then v corresponds to an edge incident to a vertex of degree two in H. Then according to Figure 2, the choice of Xh2 h3 and Xh3 h4 made above corresponds to some valid choice of H. So assume that v is strongly complete to all its neighbors. There are several non-isomorphic forms that H can take now (see Figure 3). However, these are indistinguishable if we just know J. It is easy to see however that the choice of Xh2 h3 and Xh3 h4 made above corresponds to some valid choice of H. If there are at least two such vertices u, v in V (J)\N [Z], then Xh2 h3 is the intersection of the strong neighborhoods of u, v, and z1 and Xh3 h4 is the intersection of the strong neighborhoods of u, v, and z2 (see for example Figure 4). We can now identify the other parts of H. First, h1 h2 = z1 and h4 h5 = z2 . Let L2 , L3 , and L4 respectively denote the set of vertices in V (J)\(Xh2 h3 ∪ Xh3 h4 ∪ Z) adjacent and complete to {h1 h2 } ∪ Xh2 h3 , Xh2 h3 ∪ Xh3 h4 , and Xh3 h4 ∪ {h4 h5 }. If v ∈ L2 (L3 respectively L4 ) is not adjacent 45 h6 h1 h2 h 2 h6 h3 h6 h3 h4 h5 h1 h2 h2 h3 h3 h4 h4 h5 Figure 2: A graph H with exactly one edge incident to h3 that can lead to a semiadjacent pair of vertices when used in the definition of Z3 . h6 h1 h2 h 2 h6 h3 h6 h3 h4 h5 h1 h2 h2 h3 h3 h4 h4 h5 h6 h1 h2 h2 h6 h3 h4 h5 h2 h4 h6 h1 h2 h2 h3 h3 h4 h4 h5 h6 h1 h3 h6 h3 h6 h3 h4 h5 h1 h2 h2 h3 h3 h4 h4 h5 Figure 3: Three examples of graphs H with exactly one edge incident to h3 and the stripes they induce when used in the definition of Z3 . Observe that the top two graphs in the right column can be seen as thickenings of an appropriately chosen version of the bottom one. h6 h1 h2 h7 h3 h3 h6 h3 h7 h4 h5 h1 h2 h2 h3 h3 h4 h4 h5 Figure 4: A graph H with more than one edge incident to h3 and the induced stripe when used in the definition of Z3 . 46 b1 a2 b3 a1 b2 c2 a0 b0 c1 Figure 5: The stripe Z4 . to any vertices in L3 ∪ L4 (L2 ∪ L4 respectively L2 ∪ L3 ), then v is an edge incident with a pendant vertex of H. If v ∈ L2 is adjacent to a vertex u ∈ L3 and a vertex w ∈ L4 , then u and w must be adjacent, and u, v, w correspond to edges incident with a vertex of degree three. Now consider all vertices of L2 , L3 , L4 not characterized so far. We can partition each set Li into disjoint cliques as follows. For each 1 ≤ i < j ≤ 3, construct a bipartite graph Gij , where V (Gij ) consists of the vertices of Li and Lj and E(Gij ) consists of all edges between Li and Lj in J. For each connected component of G23 and G24 , group the vertices of L2 in this connected component. This induces a partition of L2 . Do the same for L3 and L4 . We say that two groups C ∈ Li , C ′ ∈ Lj with i 6= j are related if a vertex of C is adjacent to a vertex of C ′ . By the construction of the groups, each group will be related to exactly one other group. These pairs correspond exactly to edges of H incident with a vertex of degree two. Proof of Lemma 5.6: Recall that Z = {a0 , b0 }. Moreover, |N (a0 )| = 2, while |N (b0 )| ≥ 3, as J does not admit twins. Hence we can assume we know a0 and b0 . Let u, v denote the neighbors of a0 . Then u = a1 and v = a2 , or vice versa. By definition, Xc2 = (N (u) ∩ N (v))\{a0 }. Similarly, {b1 } = N (b0 ) ∩ (N (u) ∪ N (v)) and {a1 } = N (b1 )\(N [b0 ] ∪ Xc2 ). Then we have also identified a2 . It follows that Xc1 = N (a2 )\({a0 , a1 } ∪ Xc2 ). Now let Xb2 be the subset of the remaining vertices that are complete to Xc1 and put the other vertices in Xb3 . If Xb3 happens to be strongly anticomplete to Xc1 , there must be a vertex we put into Xb2 that is strongly anticomplete to Xc2 . Add this vertex to the set Xb3 . See Figure 5. If the sets we identified are not pairwise disjoint, or not all nonempty, or not all cliques, then (J, Z) is not a thickening of a member of Z4 . Otherwise, it is easy checked if (J, Z) is a thickening of a member of Z4 . Proof of Lemma 5.8: Suppose that (J, Z) is indeed a thickening of (J ′ , Z ′ ) ∈ Z5 and let v1 , . . . , v13 , X be as in the definition of Z5 . Note that v13 is (strongly) adjacent to both v7 and v8 . Since Z ′ = {v7 , v8 } and no vertex of a stripe can be adjacent to more than one vertex of Z ′ , v13 ∈ X. There is also quite a bit of symmetry in the labeling of V (J ′ ). In fact, we can freely swap the labels of v7 and v8 or of v11 and v12 , by appropriately relabeling the other vertices of J ′ (i.e. relabeling those vertices with label 1, . . . , 6, 9, 10). See Figure 6. It follows that if Z = {z1 , z2 }, we can assume w.l.o.g. that v7 = z1 and that v8 = z2 . Then N (v7 ) = {v1 , v2 } and N (v8 ) = {v4 , v5 }. Observe that v9 is the only vertex adjacent to both v1 and v2 . Hence Xv9 = (N (v1 ) ∩ N (v2 ))\{v7 }. Note that Xv9 can be found in this way even though we do not yet know exactly which vertex of N (v7 ) corresponds to v1 and which to v2 . Similarly, 47 12 11 6 1 7 5 9 10 2 8 4 3 12 11 3 4 8 2 10 9 5 7 1 6 11 12 6 5 8 1 10 9 4 7 2 3 Figure 6: The stripe in Z5 with |Z| = 2 with three possible labelings. 48 Xv10 = (N (v4 ) ∩ N (v5 ))\{v8 }. Then either |Xv9 | = |Xv10 | = 1 and Xv9 and Xv10 are strongly anticomplete to each other, or |Xv9 |, |Xv10 | ≥ 1 and Xv9 and Xv10 are neither strongly complete nor strongly anticomplete to each other. Now Xv9 and Xv10 share exactly two neighbors, namely v3 and v6 , i.e. {v3 , v6 } = (N (Xv9 )\Xv10 )∩ (N (Xv10 )\Xv9 ). Then J has at most two vertices that were not previously considered. These are v11 and v12 . We assign these labels arbitrarily. Following our earlier observation, we can now fix the labels of v1 , . . . , v6 . 49