Combinatorial optimization with 2-joins
aa r X i v : . [ c s . D M ] S e p Combinatorial optimization with 2-joins
Nicolas Trotignon ∗ and Kristina Vuˇskovi´c † July 4, 2011
Abstract
A 2-join is an edge cutset that naturally appears in decompositionof several classes of graphs closed under taking induced subgraphs, suchas perfect graphs and claw-free graphs. In this paper we construct com-binatorial polynomial time algorithms for finding a maximum weightedclique, a maximum weighted stable set and an optimal coloring for aclass of perfect graphs decomposable by 2-joins: the class of perfectgraphs that do not have a balanced skew partition, a 2-join in thecomplement, nor a homogeneous pair. The techniques we develop aregeneral enough to be easily applied to finding a maximum weightedstable set for another class of graphs known to be decomposable by2-joins, namely the class of even-hole-free graphs that do not have astar cutset.We also give a simple class of graphs decomposable by 2-joins intobipartite graphs and line graphs, and for which finding a maximumstable set is NP-hard. This shows that having holes all of the sameparity gives essential properties for the use of 2-joins in computingstable sets.
AMS Mathematics Subject Classification: 05C17, 05C75, 05C85, 68R10Key words: combinatorial optimization, maximum clique, minimum stableset, coloring, decomposition, structure, 2-join, perfect graphs, Berge graphs,even-hole-free graphs. ∗ CNRS, LIP – ENS Lyon (France), email: [email protected]. Partiallysupported by the French
Agence Nationale de la Recherche under reference anr Heredia10 jcjc 0204 01 . † School of Computing, University of Leeds, Leeds LS2 9JT, UK and Faculty of Com-puter Science, Union University, Knez Mihailova 6/VI, 11000 Belgrade, Serbia. E-mail:[email protected]. Partially supported by Serbian Ministry of Education and Sci-ence grants III44006 and OI174033 and EPSRC grant EP/H021426/1.The two authors are also supported by PHC Pavle Savi´c grant jointly awarded by EGIDE,an agency of the French Minist`ere des Affaires ´etrang`eres et europ´eennes, and SerbianMinistry for Science and Technological Development. Introduction
In this paper all graphs are simple and finite. We say that a graph G contains a graph F if F is isomorphic to an induced subgraph of G , and itis F -free if it does not contain F . A hole in a graph is an induced cycleof length at least 4. An antihole is the complement of a hole. A graph G is said to be perfect if for every induced subgraph G ′ of G , the chromaticnumber of G ′ is equal to the maximum size of a clique of G ′ . A graph issaid to be Berge if it does not contain an odd hole nor an odd antihole.In 1961, Berge [1] conjectured that every Berge graph is perfect. This wasknown as the
Strong Perfect Graph Conjecture (SPGC), it was an objectof much research until it was finally proved by Chudnovsky, Robertson,Seymour and Thomas in 2002 [8]. So Berge graphs and perfect graphs arethe same class of graphs, but we prefer to write “Berge” for results whichrely on the structure of the graphs, and “perfect” for results which rely onthe properties of their colorings. We now explain the motivation for thispaper and describe informally the results. We use several technical notionsthat will be defined precisely later.
In the 1980’s, Gr¨ostchel, Lov´asz and Schrijver [26, 27] devised a polynomialtime algorithm that optimally colors any perfect graph. This algorithmrelies on the ellipsoid method and consequently is impractical. Finding apurely combinatorial polynomial time algorithm is still an open question. Infact, after the resolution of the SPGC and the construction of polynomialtime recognition algorithm for Berge graphs [7], this is the key open problemin the area.The proof of the SPGC in [8] was obtained through a decompositiontheorem for Berge graphs. So, it is a natural question to ask whether thisdecomposition theorem can be used for coloring and other combinatorialoptimization problems. Up to now, it seems that the decomposition theoremis very difficult to use. Let us explain why. In a connected graph G , asubset of vertices and edges is a cutset if its removal disconnects G . ADecomposition Theorem for a class of graphs C is of the following form. Decomposition Theorem: If G belongs to C then G is either “basic” or G has some particular cutset. Decomposition Theorems can be used for proving theorems. For ex-ample, the SPGC was proved using the decomposition theorem for Berge2raphs [8], by ensuring that “basic” graphs are simple in the sense that theyare easily proved to be perfect directly, and the cutsets used have the prop-erty that they cannot occur in a minimum counter-example to the SPGC.Decomposition theorems can be used also for algorithms. For instance,they yielded many recognition algorithms. To recognize a class C with adecomposition theorem, “basic” graphs need to be simple in the sense thatthey can easily be recognized, and the cutsets used need to have the fol-lowing property. The removal of a cutset from a graph G disconnects G into two or more connected components. From these components blocks ofdecomposition are constructed by adding some more vertices and edges. Adecomposition is C -preserving if it satisfies the following: G belongs to C if and only if all the blocks of decomposition belong to C . A recognitionalgorithm takes a graph G as input and decomposes it using C -preservingdecompositions into a polynomial number of basic blocks, which are thenchecked, in polynomial time, whether they belong to C . This is an idealscenario, and it worked for example for obtaining recognition algorithms forregular matroids (using k -separations, k = 1 , ,
3) [41], max-flow min-cutmatroids (using 2-sums and ∆-sums) [44], and graphs that do not containa cycle with a unique chord (using 1-joins and vertex cutsets of size 1 or 2)[43].But several classes of graphs are too complex for allowing such a directapproach. The main problem is what we call strong cutsets . The typi-cal example of a strong cutset is the Chv´atal’s star cutset [3]: a cutsetthat contains one vertex and a subset of its neighbors. The problem withsuch a cutset is that it can be very big, for instance, it can be the wholevertex-set except two vertices. And since in the cutset itself, edges are quiteunconstrained, knowing that the graph has a star cutset tells little about itsstructure. From this discussion, it could even be thought that star cutsetsare just useless, but this is not the case: deep theorems use strong cutsets.The first one is the Hayward’s decomposition theorem of weakly triangu-lated graphs [28], a simple class of graphs that captures ideas that wereused later for all Berge graphs.More generally, using strong cutsets is essential for proving theoremsabout many complex classes of graphs closed under taking induced sub-graphs, the most famous example being the proof of the SPGC that uses ageneralization of star cutsets: the balanced skew partition . Robertson andSeymour have obtained results about minor-closed families of stunning gen-erality, see [33] for a survey. The Robertson-Seymour Theorem [38] statesthat every minor-closed class of graphs can be characterized by a finite fam-ily of excluded minors. Furthermore, every minor-closed property of graphs3an be tested in polynomial time [37]. The fact that a unified theory withdeep algorithmic consequences exists for classes closed under taking minorsand that no such theory exists up to now for the induced subgraph contain-ment relation has perhaps something to do with these strong cutsets.Yet, for recognition algorithms, strong cutsets can be used. Examples arebalanced matrices (using 2-joins and double star cutsets) [14], balanced 0 , ± cleaning , that is a preprocessingof graphs not worth describing here. For combinatorial optimization algo-rithms (maximum clique, coloring, . . . ), it seems that the cleaning is uselessand no one knows how strong cutsets could be used. What we are interested in is whether the known decomposition theoremsfor perfect graphs [8, 6, 42] and even-hole-free graphs [12, 19] can be usedto construct combinatorial polynomial time optimization algorithms. Butas we explained above, we do not know how to handle the strong cutsets(namely star cutsets and their generalizations, balanced skew partitions anddouble star cutsets). So we take the bottom-up approach . Let us explainthis. In all classes similar to Berge graphs (in the sense that strong cutsetsare needed for their decomposition), it can be proved that a decompositiontree can be built by using in a first step only the strong cutsets, and ina second step only the other cutsets (this is not at all obvious for Bergegraphs, see [42]). So it is natural to ask whether we can optimize on classesof graphs decomposable by cutsets that are not strong.For Berge graphs and even-hole-free graphs, if we assume that no strongcutset is needed, we obtain a class of graphs decomposable along , adecomposition that was introduced by Cornu´ejols and Cunningham in [17]where they prove that no minimum counter-example to the SPGC can admita 2-join. 2-Joins proved to be of great use in decomposition theorems, theywere also used in several recognition algorithms mentioned above, but neveryet have they been used in construction of optimization algorithms. Provingthat a minimally imperfect graph admits no 2-join is done by building blocksof decomposition w.r.t. a 2-join that are smaller graphs with the same cliquenumber and the same chromatic number as the original graph. But as we willsee, it is not at all straightforward to transform these ideas into optimizationalgorithms for our classes. 4ur main results are Theorem 9.1 and 9.2. They say that for Bergegraphs with no balanced skew partition, no 2-join in the complement andno homogeneous pair, the following problems can be solved combinatoriallyin polynomial time: maximum weighted clique, maximum weighted stableset and optimal coloring. The homogeneous pair and the 2-join in the com-plement are not really strong cutsets. Excluding homogeneous pairs wassuggested to us by Celina de Figueiredo [20] and is very helpful for severaltechnical reasons, see below. In this bottom-up approach, the next stepwould be to analyze how homogeneous pairs could be used in optimizationalgorithms. This step might be doable because some classes of Berge graphsare optimized with homogeneous pairs, see [24]. This might finally lead toa coloring algorithm for Berge graphs with no balanced skew partitions.Our approach is general enough to give results about even-hole-freegraphs that are structurally quite similar to Berge graphs. Their structurewas first studied by Conforti, Cornu´ejols, Kapoor and Vuˇskovi´c in [12] and[13]. They were focused on showing that even-hole-free graphs can be recog-nized in polynomial time (a problem that at that time was not even knownto be in NP), and their primary motivation was to develop techniques whichcan then be used in the study of Berge graphs. In [12] a decomposition theo-rem was obtained using 2-joins, star, double star and triple star cutsets, andin [13] a polynomial time decomposition based recognition algorithm wasconstructed. Later da Silva and Vuˇskovi´c [19] significantly strengthened thedecomposition theorem for even-hole-free graphs by using just 2-joins andstar cutsets, which significantly improved the running time of the recogni-tion algorithm for even-hole-free graphs. It is this strengthening that we usein this paper. One can find a maximum clique in an even-hole-free graphin polynomial time, since as observed by Farber [23] 4-hole-free graphs have O ( n ) maximal cliques and hence one can list them all in polynomial time(in all complexity analysis, n stands for the number of vertices of the inputgraph and m for the number of its edges). In [18] da Silva and Vuˇskovi´cshow that every even-hole-free graph has a vertex whose neighborhood ishole-free, which leads to a faster algorithm for finding a maximum clique inan even-hole-free graph. The complexities of finding a maximum stable setand an optimal coloring are not known for even-hole-free graphs. In Section 2 we precisely describe all the decomposition theorems we willbe working with. For even-hole-graphs, we rely on the theorem of da Silvaand Vuˇskovi´c [18]. For the decomposition of Berge graphs we rely on an5mprovement due to Trotignon [42] of the decomposition theorems of Chud-novsky, Robertson, Seymour and Thomas [8], and Chudnovsky [6]. We needthis improvement because we use the so called non-path 2-joins in the algo-rithms, and not simply the 2-joins as defined in [8]. For the same reason,we need to exclude the homogeneous pair because some Berge graphs aredecomposable only along path 2-join or homogeneous pair (an example isrepresented Figure 1).In Section 3 we show how to construct blocks of decomposition w.r.t. 2-joins that will be class-preserving. This allows us to recursively decomposealong 2-joins down to basic graphs.Using 2-joins in combinatorial optimization algorithms requires buildingblocks of decomposition and asking at least two questions for at least oneblock (while for recognition algorithms, one question is enough). When thisprocess is recursively applied it can potentially lead to an exponential blow-up even when the decomposition tree is linear in the size of the input graph.This problem is bypassed by using what we call extreme 2-joins , that is 2-joins whose one block of decomposition is basic. In Section 4 we prove thatnon-basic graphs in our classes actually have extreme 2-joins. Interestingly,we give an example showing that Berge graphs in general do not necessarilyhave extreme 2-joins, their existence is a special property of graphs withno star cutset. This allows us to build a decomposition tree in which everyinternal node has two children, at least one of which is a leaf, and hencecorresponds to a basic graph.In Section 5, we show how to put weights on vertices of the block of de-composition w.r.t. an extreme 2-join in order to compute maximum cliques.In fact the approach used here could solve the maximum weighted cliqueproblem for any class with a decomposition theorem along extreme 2-joinsdown to basic graphs for which the problem can be solved.For stable sets, the problem is more complicated. As an evidence, inSection 10, we show a simple class of graphs decomposable along extreme2-joins into bipartite graphs and line graphs of cycles with one chord. Thisclass has a structure close to Berge graphs and in fact much simpler in manyrespects. Yet, we prove that computing maximum stable sets for this classis NP-hard. So, in Section 6, devoted to stable sets, we need to somehowtake advantage of the parity of the cycles. To do so, in Subsection 6.1, weprove a couple of lemmas showing that a maximum weighted stable set anda 2-join overlap in a very special way for graphs where cycles are all of thesame parity. These lemmas allow an unusual construction for blocks thatpreserve simultaneously the weight of a maximal weighted stable set andbeing Berge. 6ur unusual blocks raise some problems. First, if we use them to fullydecompose a graph from our class, what we obtain in the leaves of thedecomposition tree are not basic graphs, but what we call extensions ofbasic graphs. In Section 7, we show how to solve optimization problems forextensions of basic graphs.Another problem (that is in fact the source of the previous one) is thatour blocks are not class-preserving. They do preserve being Berge, but theyintroduce balanced skew partitions. To bypass this problem, we constructour decomposition tree in Section 8 in two steps. First, we use classicalclass-preserving blocks. In the second step, we reprocess the tree to use theunusual blocks.In Section 9 we give the algorithms for solving the clique and stableset problems. We also recall a classical method to color a perfect graphassuming that subroutines exist for cliques and stable sets. We show thatthis method can be used for our class.Section 10 is devoted to the NP-hardness result mentioned above.
In this section we introduce all the decomposition theorems we will use inthis paper. But before we continue, for the convenience we first establishthe following notation for the classes of graphs we will be working with.We denote by C the class of all graphs. We use the superscript parity to mean that all holes have the same parity. So, C parity can be definedequivalently as the union of the odd-hole-free graphs and the even-hole-free graphs. Note that every Berge graph is in C parity . We will use thesuperscript ehf to restrict the class to even-hole-free graphs and Berge torestrict the class to Berge graphs. So for instance, C Berge denotes the class ofBerge graphs. We use the subscript no cutset to restrict the class to thosegraphs that do not have a balanced skew partition, a connected non-path2-join in the complement, nor a homogeneous pair. For technical reasons,mainly to avoid reproving results from [42], we also need the subscript nobsp to restrict a class to graphs with no balanced skew partition. We usethe subscript no sc to restrict the class to graphs with no star cutset. Weuse the subscript basic to restrict the class to the relevant basic graphs.Table 1 sums up all the classes used in this paper. The classes are definedmore formally in the remainder of this section.We call path any connected graph with at least one vertex of degree atmost 1 and no vertex of degree greater than 2. A path has at most two7lass Definition C parity Graphs where all holes have same parity C Berge
Berge graphs C ehf Graphs that do not contain even holes C Bergeno cutset
Berge graphs with no balanced skew partition, no con-nected non-path 2-join in the complement and no ho-mogeneous pair C Bergeno bsp
Berge graphs with no balanced skew partition C Bergebasic
Bipartite, line graphs of bipartite, path-cobipartiteand path-double split graphs; complements of all thesegraphs C ehfbasic Even-hole-free graphs that can be obtained from theline graph of a tree by adding at most two vertices C no sc Graphs that have no star cutset C parityno sc Graphs of C parity that have no star cutset C ehfno sc Even-hole-free graphs that have no star cutsetTable 1: Classes of graphsvertices of degree 1, which are the ends of the path. If a, b are the ends ofa path P we say that P is from a to b . The other vertices are the interior vertices of the path. We denote by v −· · · − v n the path whose edge set is { v v , . . . , v n − v n } . When P is a path, we say that P is a path of G if P isan induced subgraph of G . If P is a path and if a, b are two vertices of P then we denote by a − P − b the only induced subgraph of P that is path from a to b . The length of a path is the number of its edges. An antipath is thecomplement of a path. Let G be a graph and let A and B be two subsetsof V ( G ). A path of G is said to be outgoing from A to B if it has an end in A , an end in B , length at least 2, and no interior vertex in A ∪ B .The 2-join was first defined by Cornu´ejols and Cunningham [17]. Apartition ( X , X ) of the vertex-set is a if for i = 1 ,
2, there existdisjoint non-empty A i , B i ⊆ X i satisfying the following: • every vertex of A is adjacent to every vertex of A and every vertexof B is adjacent to every vertex of B ; • there are no other edges between X and X ;8 for i = 1 , | X i | ≥ • for i = 1 , X i is not a path of length 2 with an end in A i , an end in B i and its unique interior vertex in C i = X i \ ( A i ∪ B i ).The sets X , X are the two sides of the 2-join. When sets A i ’s and B i ’sare like in the definition we say that ( X , X , A , B , A , B ) is a split of( X , X ). Implicitly, for i = 1 ,
2, we will denote by C i the set X i \ ( A i ∪ B i ).A 2-join ( X , X ) in a graph G is said to be connected if for i = 1 , A i to B i with interior in C i .A 2-join is said to be a path 2-join if it has a split ( X , X , A , B , A , B )such that for some i ∈ { , } , G [ X i ] is a path with an end in A i , an end in B i and interior in C i . Implicitly we will then denote by a i the unique vertexin A i and by b i the unique vertex in B i . We say that X i is the path-side of the 2-join. Note that when G is not a hole then at most one of X , X is a path side of ( X , X ). A non-path 2-join is a 2-join that is not a path2-join. Note that all the 2-joins used in [11], [12], [13], [14] [15] and [16] arein fact non-path 2-joins. A vertex cutset in a graph G is a set S ⊂ V ( G ) such that G \ S is disconnected( G \ S means G [ V ( G ) \ S ]). By N [ x ] we mean N ( x ) ∪ { x } . A star cutset ina graph G is a vertex cutset S such that for some x ∈ S , S ⊆ N [ x ]. Such avertex x is called a center of the star, and we say that S is centered at x .A graph is in C ehfbasic if it is even-hole-free and one can obtain the linegraph of a tree by deleting at most two of its vertices.Building on the work in [29], da Silva and Vuˇskovi´c establish the follow-ing strengthening of the original decomposition theorem for even-hole-freegraphs [12]. Theorem 2.1 (da Silva and Vuˇskovi´c [19]) If G ∈ C ehf then either G ∈ C ehfbasic or G has a star cutset or a connected non-path 2-join. Actually in the decomposition theorem of [19], the basic graphs are de-fined in a more specific way, but for the purposes of the algorithms thestatement of Theorem 2.1 suffices. If X, Y ⊆ V ( G ) are disjoint, we say that X is complete to Y if every vertexin X is adjacent to every vertex in Y . We also say that ( X, Y ) is a complete air . We say that X is anticomplete to Y if there are no edges between X and Y . We also say that ( X, Y ) is an anticomplete pair . We say that agraph G is anticonnected if its complement G is connected.Skew partitions were first introduced by Chv´atal [3]. A skew partition of a graph G = ( V, E ) is a partition of V into two sets A and B such that A induces a graph that is not connected, and B induces a graph that is notanticonnected. When A , A , B , B are non-empty sets such that ( A , A )partitions A , ( A , A ) is an anticomplete pair, ( B , B ) partitions B , and( B , B ) is a complete pair, we say that ( A , A , B , B ) is a split of theskew partition ( A, B ). A balanced skew partition (first defined in [8]) is askew partition (
A, B ) with the additional property that every induced pathof length at least 2 with ends in B , interior in A has even length, and everyantipath of length at least 2 with ends in A , interior in B has even length.If ( A, B ) is a skew partition, we say that B is a skew cutset . If ( A, B ) isbalanced we say that the skew cutset B is balanced . Note that Chudnovskyet al. [8] proved that no minimum counter-example to the strong perfectgraph conjecture admits a balanced skew partition.Call double split graph (first defined in [8]) any graph G that may beconstructed as follows. Let k, l ≥ A = { a , . . . , a k } , B = { b , . . . , b k } , C = { c , . . . , c l } , D = { d , . . . , d l } be four disjoint sets.Let G have vertex-set A ∪ B ∪ C ∪ D and edges in such a way that: • a i is adjacent to b i for 1 ≤ i ≤ k . There are no edges between { a i , b i } and { a i ′ , b i ′ } for 1 ≤ i < i ′ ≤ k ; • c j is non-adjacent to d j for 1 ≤ j ≤ l . There are all four edges between { c j , d j } and { c j ′ , d j ′ } for 1 ≤ j < j ′ ≤ l ; • there are exactly two edges between { a i , b i } and { c j , d j } for 1 ≤ i ≤ k ,1 ≤ j ≤ l and these two edges are disjoint.The homogeneous pair was first defined by Chv´atal and Sbihi [4]. Thedefinition that we give here is a slight variation. A homogeneous pair is apartition of V ( G ) into six sets ( A, B, C, D, E, F ) such that: • A , B , C , D and F are non-empty (but E is possibly empty); • every vertex in A has a neighbor in B and a non-neighbor in B , andvice versa (note that this implies that A and B both contain at least2 vertices); • the pairs ( C, A ), (
A, F ), (
F, B ), (
B, D ) are complete;10 the pairs (
D, A ), (
A, E ), (
E, B ), (
B, C ) are anticomplete.All the decomposition theorems for Berge graphs that we mention noware published in papers that have a definition of a connected 2-join and ahomogeneous pair slightly more restrictive than ours. So, the statementsthat we give here follow directly from the original statements.The following theorem was first conjectured in a slightly different formby Conforti, Cornu´ejols and Vuˇskovi´c, who proved it in the particular caseof square-free graphs [15]. A corollary of it is the Strong Perfect GraphTheorem.
Theorem 2.2 (Chudnovsky, Robertson, Seymour and Thomas, [8])
Let G be a Berge graph. Then either G is bipartite, line graph of bipartite,complement of bipartite, complement of line graph of bipartite or doublesplit, or G has a homogeneous pair, or G has a balanced skew partition orone of G, G has a connected 2-join.
The theorem that we state now is due to Chudnovsky who proved it fromscratch, that is without assuming Theorem 2.2. Her proof uses the notionof trigraph . The theorem shows that homogeneous pairs are not necessaryto decompose Berge graphs. Thus it is a result stronger than Theorem 2.2.
Theorem 2.3 (Chudnovsky, [6, 5])
Let G be a Berge graph. Then either G is bipartite, line graph of bipartite, complement of bipartite, complementof line graph of bipartite or double split, or one of G, G has a connected2-join or G has a balanced skew partition. Theorem 2.3 allows path 2-joins and they are not easy to handle. Becausetheir path side is sometimes not substantial enough to allow building a blockof decomposition that carries sufficiently information. But there are otherreasons that we explain now. Let us first remind the starting point of thiswork: we do not know how to handle skew partitions in algorithms. So,things should be easier for a Berge graph with no skew partition. Such agraph is likely to have a 2-join, but when decomposing along this 2-join, wemay create a skew partition again. Thus, it seems impossible to devise a re-cursive algorithm that decomposes graphs with no balanced skew partitionsalong 2-joins. A careful study of this phenomenon, done in [42], shows thatpath 2-joins, more precisely certain kinds of path 2-join, are responsible forthis and can be avoided. Let us state this more precisely.11he following theorem shows that path 2-joins are not necessary to de-compose Berge graphs, but at the expense of extending balanced skew par-titions to general skew partitions and introducing a new basic class. So, thistheorem is useless for us (at least, we do not know how to use it). Beforestating the theorem, we need to define the new basic class.A graph G is path-cobipartite if it is a Berge graph obtained by subdi-viding an edge between the two cliques that partitions the complement of abipartite graph. More precisely, a graph is path-cobipartite if its vertex-setcan be partitioned into three sets A, B, P where A and B are non-emptycliques and P consist of vertices of degree 2, each of which belongs to theinterior of a unique path of odd length with one end a in A , the other one b in B . Moreover, a has neighbors only in A ∪ P and b has neighbors onlyin B ∪ P . Note that a path-cobipartite graph such that P is empty is thecomplement of bipartite graph. Note that our path-cobipartite graphs aresimply the complement of the path-bipartite graphs defined by Chudnovskyin [5]. For convenience, we prefer to think about them in the complementas we do. Theorem 2.4 (Chudnovsky, [5])
Let G be a Berge graph. Then either G is bipartite, line graph of bipartite, complement of bipartite, complementof line graph of bipartite, double split, path-bipartite, complement of path-bipartite, or G has a connected non-path 2-join, or G has a connected 2-join,or G has a homogeneous pair or G has a skew partition. A path-double split graph is any graph H that may be constructed asfollows. Let k, l ≥ A = { a , . . . , a k } , B = { b , . . . , b k } , C = { c , . . . , c l } , D = { d , . . . , d l } be four disjoint sets. Let E be anotherpossibly empty set disjoint from A , B , C , D . Let H have vertex-set A ∪ B ∪ C ∪ D ∪ E and edges in such a way that: • for every vertex v in E , v has degree 2 and there exists i ∈ { , . . . , k } such that v lies on a path of odd length from a i to b i ; • for 1 ≤ i ≤ k , there is a unique path of odd length (possibly 1) between a i and b i whose interior is in E . There are no edges between { a i , b i } and { a i ′ , b i ′ } for 1 ≤ i < i ′ ≤ k ; • c j is non-adjacent to d j for 1 ≤ j ≤ l . There are all four edges between { c j , d j } and { c j ′ , d j ′ } for 1 ≤ j < j ′ ≤ l ; • there are exactly two edges between { a i , b i } and { c j , d j } for 1 ≤ i ≤ k ,1 ≤ j ≤ l and these two edges are disjoint.12ote that a path-double split graph G has an obvious skew partition thatis not balanced: ( A ∪ B ∪ E, C ∪ D ). In fact, it is proved in [42], Lemma 4.5,that this is the unique skew partition of G . Also, either E is empty and thegraph is a double split graph or E is not empty and the graph has a path2-join. Path-double split graphs are the reason why in Theorem 2.4, oneneeds to add non-balanced skew partitions in the list of decompositions.We call flat path of a graph G any path of length at least 2, whose interiorvertices all have degree 2 in G and whose ends have no common neighborsoutside the path. A homogeneous 2-join is a partition of V ( G ) into sixnon-empty sets ( A, B, C, D, E, F ) such that: • ( A, B, C, D, E, F ) is a homogeneous pair such that E is not empty; • every vertex in E has degree 2 and belongs to a flat path of odd lengthwith an end in C , an end in D and whose interior is in E ; • every flat path outgoing from C to D and whose interior is in E is thepath-side of a non-cutting connected 2-join of G .Note we have not defined cutting and non-cutting Theorem 2.5 (Trotignon, [42])
Let G be a Berge graph. Then either G is bipartite, line graph of bipartite, complement of bipartite, complement ofline graph of bipartite or double split, or one of G, G is a path-cobipartitegraph, or one of
G, G is a path-double split graph, or one of
G, G has ahomogeneous 2-join, or one of
G, G has a connected non-path 2-join, or G has a balanced skew partition. Here, we will only use the obvious following corollary:
Theorem 2.6 If G is in C Bergeno cutset , then either G is in C Bergebasic or G has aconnected non-path 2-join. de e b b a a f f f f Figure 1: A graph that has a homogeneous 2-join ( { a , a } , { b , b } , { c } , { d } , { e , e } , { f , f , f , f } ) proof — Follows directly from Theorem 2.5 and the fact that a graphwith a homogeneous 2-join, or whose complement has a homogeneous 2-join, admits a homogeneous pair. ✷ Note that since we need to use non-path 2-joins, we really need to ex-clude homogeneous pairs (or to find a different approach). Indeed, thereexist Berge graphs that are decomposable only with path 2-joins and homo-geneous pairs. An example from [42] is shown Figure 1.
Blocks of decomposition with respect to a 2-join are built by replacing eachside of the 2-join by a path and the lemma below shows that for graphs in C parity there exists a unique way to choose the parity of that path. Lemma 3.1
Let G be a graph in C parity and ( X , X , A , B , A , B ) be asplit of a connected 2-join of G . Then for i = 1 , , all the paths with an endin A i , an end in B i and interior in C i have the same parity. proof — Since ( X , X ) is connected there exits a path P with one end in A − i , one end in B − i and interior in C − i . If two paths Q, R from A i to B i with interior in C i are of different parity then the holes P ∪ Q and P ∪ R are of different parity, a contradiction to G ∈ C parity . ✷ G be a graph and ( X , X , A , B , A , B ) be a split of a connected2-join of G . Let k , k ≥ blocks of decomposition of G with respect to ( X , X ) are the two graphs G k , G k that we describe now.We obtain G k by replacing X by a marker path P , of length k , from avertex a complete to A , to a vertex b complete to B (the interior of P has no neighbor in X ). The block G k is obtained similarly by replacing X by a marker path P of length k . We say that G k and G k are parity-preserving if G is in C parity , for i = 1 , Q i from A i to B i whose intermediate vertices are in C i (and such a path exists since ( X , X )is connected), the marker path P i has the same parity as Q i . Note that byLemma 3.1, our definition does not depend on the choice of a particular Q i . Here we show that assuming that a graph does not admit the cutsets weconsider gives several interesting properties for its 2-joins.
Lemma 3.2
Let G be in C no sc and let ( X , X , A , B , A , B ) be a split ofa 2-join of G . Then the following hold:(i) every component of G [ X i ] meets both A i and B i , i = 1 , ;(ii) ( X , X ) is connected;(iii) every u ∈ X i has a neighbor in X i , i = 1 , ;(iv) every vertex of A i has a non-neighbor in B i , i = 1 , ;(v) every vertex of B i has a non-neighbor in A i , i = 1 , ;(vi) | X i | ≥ , i = 1 , . proof — To prove (i), suppose for a contradiction that some connectedcomponent C of G [ X ] does not intersect B (the other cases are symmetric).If there is a vertex c ∈ C \ A then for any vertex u ∈ A , we have that { u } ∪ A is a star cutset that separates c from B . So, C ⊆ A . If | A | ≥ c ∈ C and a vertex c ′ = c in A . Then { c ′ } ∪ A isa star cutset that separates c from B . So, C = A = { c } . Hence, thereexists some component of G [ X ] that does not intersect A , so by the sameargument as above we deduce | B | = 1 and the unique vertex of B has noneighbor in X . Since | X | ≥
3, there is a vertex u in C . For any vertex v in X , { v } is a star cutset of G that separates u from A , a contradiction.Item (ii) follows directly from (i).15o prove (iii), just notice that if some vertex in X i has no neighbor in X i , then it forms a component of G [ X i ] that does not intersect one of A i , B i .This is a contradiction to (i).To prove (iv) and (v), consider a vertex a ∈ A complete to B (theothers cases are symmetric). If A ∪ C = { a } then B ∪ A ∪ { a } is astar cutset that separates ( A ∪ C ) \ { a } from B , a contradiction. So, A ∪ C = { a } and | B | ≥ X ≥
3. Let b = b ′ ∈ B . So, { b, a } ∪ B is a star cutset that separates b ′ from A , a contradiction.To prove (vi), suppose for a contradiction that | X | = 3. Up to symmetrywe assume | A | = 1, and let a be the unique vertex in A . As we justproved, every vertex of B has a non-neighbor in A . Since A = { a } , thismeans that a has no neighbor in B . Since ( X , X ) is a connected 2-join(because of (ii)), G [ X ] must be path of length 2 whose interior is in C .This contradicts the definition of a 2-join. ✷ Note that a star cutset of size at least 2 is a skew cutset. The followingwas noticed by Zambelli [45] and is sometimes very useful. A proof can befound in [42], Lemma 4.3.
Lemma 3.3
Let G be a Berge graph of order at least 5 with at least oneedge. If G has a star cutset then G has a balanced skew partition. Lemma 3.4
If a graph G is in C Bergeno bsp and admits a 2-join or a homogeneouspair, then neither G nor G has a star cutset. proof — Assume the hypothesis. Since G has 2-join or a homogeneouspair, it is of order at least 5 and both G and G have at least one edge. So,by Lemma 3.3, if G has a star cutset, then G has a balanced skew partition,a contradiction. Similarly, by Lemma 3.3, if G has a star cutset, then G hasa balanced skew partition, and hence so does G , a contradiction. ✷ Lemma 3.5
Let G ∈ C ehfno sc ∪ C Bergeno bsp . If ( X , X , A , B , A , B ) is a splitof a 2-join of G then every vertex of A i has a neighbor in X i \ A i , i = 1 , ;and every vertex of B i has a neighbor in X i \ B i , i = 1 , . proof — By Lemma 3.4, G has no star cutset, so by Lemma 3.2 (ii),( X , X ) is connected. Consider a vertex a ∈ A with no neighbor in X \ A (the other cases are similar). We put Z = ( A ∪ A ) \ { a } . So, Z is a cutsetthat separates a from the rest of the graph. We note that A = { a } because( X , X ) is connected. If G ∈ C Bergeno bsp then V ( G ) \ Z is a star cutset (centeredat a ) of G and this contradicts Lemma 3.4. If G ∈ C ehfno sc then we note that16t least one of A , A is a clique because G contains no 4-hole. So Z is astar cutset of G , a contradiction. ✷ Here we prove several lemmas of the same flavour, needed later for inductiveproofs and recursive algorithms. They all say that building the blocks of agraph with respect to some well chosen 2-join preserves several propertieslike being free of cutset or member of some class.
Lemma 3.6
Let G be a graph in C parityno sc and ( X , X ) a connected 2-joinof G . Let G k , G k be parity-preserving blocks of decomposition of G w.r.t. ( X , X ) , where k , k ≥ . If one of G k , G k contain an odd (resp. even)hole, then G contains an odd (resp. even) hole. proof — Let C be a hole in G k say. Let P = a −· · ·− b be the markerpath of G k . If C ⊆ X ∪ { a , b } then we obtain a hole C ′ of G as follows.By Lemma 3.2 (iv), there exist non-adjacent vertices a ′ ∈ A , b ′ ∈ B . If a ∈ C (resp. if b ∈ C ) then we replace a (resp. b ) by a ′ , (resp. b ′ ). So,holes C and C ′ have the same length and in particular the same parity.So we may assume that C contains interior vertices of P . This meansthat C is the union of P together with a path Q from A to B with interiorin C . We obtain a hole C ′ of G by replacing P by any path of G from A to B with interior in C . Such a path exists because ( X , X ) is connected.Holes C and C ′ have the same parity from the definition of parity-preservingblocks and Lemma 3.1. ✷ Lemma 3.7
Let G ∈ C ehfno sc ∪ C Bergeno bsp and let ( X , X ) be a connected 2-join of G . Let G k and G k be blocks of decomposition w.r.t. ( X , X ) . If k , k ≥ then G k and G k are both in C no sc . proof — By Lemma 3.4, G is in C no sc . Let ( X , X , A , B , A , B ) be asplit of ( X , X ). Let P = a −· · ·− b be the marker path of G k .Suppose that G k say has a star cutset S centered at x . If S ∩ P = ∅ then S is a star cutset of G , a contradiction. So S ∩ P = ∅ . If x P thenw.l.o.g. x ∈ A and hence S ∪ A is a star cutset of G , a contradiction.So x ∈ P . First suppose that x coincides with a or b , say x = a .Since k >
1, vertices of B ∪ { b } are all contained in the same component B of G k \ S . Let C be a connected component of G k \ S that is distinctfrom B . If C \ A = ∅ then for a ′ ∈ A , A ∪ { a ′ } is a star cutset of G , a17ontradiction. So C ⊆ A . Hence, some vertex c of C is in A and has noneighbor in X \ A , a contradiction to Lemma 3.5.Therefore, x ∈ P \ { a , b } . Since ( X , X ) satisfies (i) from Lemma 3.2,both G [ X ∪ { a } ] and G [ X ∪ { b } ] are connected. So, both a and b mustbe in S , a contradiction to k ≥ ✷ Lemma 3.8
Let G ∈ C ehfno sc . Let ( X , X ) be a connected 2-join of G andlet G k and G k be parity-preserving blocks of decomposition. If k , k ≥ then G k and G k are both in C ehfno sc . proof — For i = 1 ,
2, by Lemma 3.7, G k i i has no star cutset. By Lemma 3.6, G k i i contains no even hole. ✷ Lemma 3.9
Let G ∈ C Bergeno bsp and let ( X , X ) be a connected non-path 2-join of G . Let G k and G k be parity-preserving blocks of decomposition of G w.r.t. ( X , X ) where ≤ k , k ≤ . Then G k and G k are both in C Bergeno bsp . proof — Lemma 4.12 and 4.18 from [42] say that if ( X , X ) is proper thenthe conclusion holds, where a proper 2-join means a 2-join that satisfies (i)from Lemma 3.2. So, by Lemma 3.2, ( X , X ) is proper and the conclusionholds. ✷ Lemma 3.10
Let G ∈ C Bergeno bsp and let ( A, B, C, D, E, F ) be a homogeneouspair of G . Then every vertex of C has a neighbor in E ∪ D and every vertexof D has a neighbor in E ∪ C . proof — If there exists a vertex c ∈ C with no neighbor in E ∪ D then( A ∪ C ∪ F ) \ { c } is a skew cutset that separates c from the rest of the graph.Hence, G has a star-cutset centered at c , a contradiction to Lemma 3.4. Thecase with d ∈ D is similar. ✷ Berge graphs have a particular problem: their decomposition theoremsallow 2-joins in the complement. And swapping to the complement makesdifficult keeping track of maximum stable sets and cliques. The followinglemma shows how to bypass this problem.
Lemma 3.11
Let G ∈ C Bergeno cutset and let ( X , X ) be a connected non-path2-join of G . Let G k and G k be parity-preserving blocks of decomposition of G w.r.t. ( X , X ) where ≤ k , k ≤ . Then G k and G k are in C Bergeno cutset . roof — Note that G is in C Bergeno bsp . By Lemma 3.9, G k and G k are bothBerge graphs and G k and G k have no balanced skew partition. Because ofthe symmetry, we just have to prove the following two claims:( G k has no connected 2-join. Note that G k has a 2-join (a path 2-join). So by Lemma 3.4, G k has no starcutset. In G k , we denote by P = a − c − c − c ′ − b the marker path, where a is complete to A and b to B . Note that this path may be of length 3or 4. If it is of length 3, then we suppose c ′ = b , this is convenient to avoida multiplication of cases. Note that by Lemma 3.2 (ii), any 2-join of G k is connected. Let us suppose for a contradiction that G k has a 2-join. Let( X ′ , X ′ , A ′ , B ′ , A ′ , B ′ ) be a split of this 2-join. We put C ′ i = X ′ i \ ( A ′ i ∪ B ′ i ), i = 1 , c , c are of degree 2 in G k , they are of degree | V ( G k ) | − G k . Since by Lemma 3.2 (vi), | X ′ i | ≥ i = 1 ,
2, we must have c , c ∈ A ′ ∪ A ′ ∪ B ′ ∪ B ′ . Also, c , c are non-adjacent in G k so up to symmetrythere are two cases. Here below, the words “neighbor” and “non-neighbor”refer to adjacency in G k .Case 1: c ∈ A ′ , c ∈ B ′ . Then by Lemma 3.2, (iv) applied to ( X ′ , X ′ ), c must have a non-neighbor in B ′ , and this non-neighbor must be a ( a , c are the only non-neighbors of c ). So, a ∈ B ′ . Similarly, c must have anon-neighbor in A ′ , and this non-neighbor must be c ′ , i.e. c ′ ∈ A ′ . Butthen, since a c ′ is an edge of G k , this contradicts the definition of a 2-join.Case 2: c ∈ A ′ , c ∈ B ′ . We must have B ′ = { a } because a , c arethe only non-neighbors of c . For the same reason, A ′ = { c ′ } . Since a is a neighbor of c ′ , there is a contradiction to Lemma 3.2 (iv) applied to( X ′ , X ′ ). This proves (1).( G k has no homogeneous pair. Suppose for a contradiction that (
A, B, C, D, E, F ) is a homogeneous pair of G k . It is convenient to use now a slightly different notation for the markerpath P = a − c − c − c ′ − b . Now, when the path is of length 3, we suppose c ′ = c .By Lemma 3.10, every vertex in A, B, C, D, F has degree at least 3. So, c , c , c ′ ∈ E . We will reach the contradiction by giving an homogeneouspair ( A ′ , B ′ , C ′ , D ′ , E ′ , F ′ ) of G .In E ′ , we put every vertex of E \{ c , c , c ′ } , and we add C . If E contains a , we add A to E ′ . If E contains b , we add B to E ′ . We set A ′ = A B ′ = B . In C ′ , we put every vertex of C \ { a , b } . If C contains a , weadd A to C ′ . If C contains b , we add B to C ′ . We define similarly D ′ , F ′ from D and F respectively. Now we observe that ( A ′ , B ′ , C ′ , D ′ , E ′ , F ′ )partitions V ( G ) and is a homogeneous pair of G (note that E ′ is possiblyempty). This proves (2). ✷ In this section, we show how to find a 2-join in a graph so that one of theblocks has no more 2-joins. The idea behind this is that when ( X , X ) is a2-join of G and the block of decomposition G k has no more decompositionthen it is basic. So a lot of computations can be made on G [ X ] withoutleading to an exponential complexity.Let ( X , X ) be a connected non-path 2-join of a graph G . We saythat ( X , X ) is a minimally-sided connected non-path 2-join if for some i ∈ { , } , the following holds: for every connected non-path 2-join ( X ′ , X ′ )of G , neither X ′ ( X i nor X ′ ( X i holds. We call X i a minimal side ofthis minimally-sided 2-join. Note that minimally-sided connected non-path2-joins exist in any graph that admits a connected non-path 2-join.Let ( X , X ) be a connected non-path 2-join of G . We say that ( X , X )is an extreme 2-join if for some i ∈ { , } and all k ≥ G ki has no connected non-path 2-join. We say that X i is an extremeside of such a 2-join. Figure 2 shows that graphs in general do not have anextreme 2-join, but as we now show, graphs with no star cutset do. Lemma 4.1
Let G ∈ C no sc and let ( X , X , A , B , A , B ) be a splitof a connected non-path 2-join of G . If | A | = 1 then ( X \ A , X ∪ A , N G [ X ] ( A ) , B , A , B ) is a split of a connected non-path 2-join of G . proof — Assume A = { a } . So by Lemma 3.2 (v), a has no neighborin B . Let A ′ = N G [ X ] ( a ). Then A ′ ∩ B = ∅ . By Lemma 3.2 (vi), | X \ A | ≥
3. Since ( X , X ) is a non-path 2-join of G , it follows that( X \ A , X ∪ A , A ′ , B , A , B ) is a split of a non-path 2-join of G . ByLemma 3.2 (ii), ( X \ A , X ∪ A ) is connected. ✷ Lemma 4.2
Let G ∈ C no sc and let ( X , X , A , B , A , B ) be a split of aminimally-sided connected non-path 2-join of G . Let X be a minimal side.Then | A | ≥ and | B | ≥ . In particular, A ∪ B contains only verticesof degree at least 3. G (on the left) has a star cutset, but does not have anextreme connected non-path 2-join: G has a connected non-path 2-join rep-resented with bold lines, and all connected non-path 2-joins are equivalentto this one. Both of the blocks of decomposition are isomorphic to graph H (on the right), and H has a connected non-path 2-join whose edges arerepresented with bold lines. proof — If | A | = 1 then by Lemma 4.1, ( X \ A , X ∪ A ) is a connectednon-path 2-join of G , contradicting the assumption that ( X , X ) is mini-mally sided connected non-path 2-join of G . So | A | ≥
2, and by symmetry | B | ≥
2. By Lemma 3.2 (iii), all vertices of A ∪ B have degree at least3. ✷ Recall that a flat path of a graph G is any path of G of length at least 2,whose interior vertices all have degree 2 in G , and whose ends have nocommon neighbors outside the path. Lemma 4.3
Let G ∈ C no sc and let ( X , X , A , B , A , B ) be a split of aminimally sided connected non-path 2-join of G . Let X be a minimal side,and let P be a flat path of G . If P ∩ X = ∅ and P ∩ X = ∅ , then one ofthe following holds:(i) For an endvertex u of P , P \ u ⊆ X and u ∈ A ∪ B .(ii) For endvertices u and v of P , u ∈ A , v ∈ B , P \ { u, v } ⊆ X ,the length of P is at least 3 and G [ X ] has exactly two connectedcomponents that are both a path with one end in A , one end in B and interior in C . proof — Let u and v be the endvertices of P . By Lemma 4.2, the interiorof P must lie in X and w.l.o.g. u ∈ A . By Lemma 3.2 (iii), the neighbor21 of u along P has a neighbor in X , so | A | = 1. Hence if (i) does nothold then v ∈ B . Also, P is of length at least 3. So, the interior of P is aconnected component C of G [ X ]. If G [ X \ C ] is not a path with one endin A , one end in B and interior in C then ( X \ C, X ∪ C ) is a connectednon-path 2-join. Indeed, by Lemma 3.2 (i), X \ C meets A and B , andsince it is not a path, it has size at least 3, so ( X \ C, X ∪ C ) is a non-path2-join that is connected by Lemma 3.2 (ii). This contradicts ( X , X ) beingminimally-sided. Therefore (ii) holds. ✷ Lemma 4.4
Let ( X , X , A , B , A , B ) be a split of a minimally-sidedconnected non-path 2-join of a graph G , with X being a minimal side. As-sume that G and all the blocks of decomposition of G w.r.t. ( X , X ) whosemarker paths are of length at least 3, all belong to C no sc . Then ( X , X ) isan extreme 2-join and X is an extreme side. proof — Suppose that the block of decomposition G k , k ≥
3, has aconnected non-path 2-join with split ( X ′ , X ′ , A ′ , B ′ , A ′ , B ′ ). For i = 1 , C ′ i = X ′ i \ ( A ′ i ∪ B ′ i ). Let P = x − x − · · · − x k , where x = a and x k = b , be the marker path of G k . Case 1:
For some i ∈ { , } , P ⊆ X ′ i .W.l.o.g. P ⊆ X ′ . Note that since N G k ( P \ { a , b } ) ⊆ { a , b } we have P ∩ ( A ′ ∪ B ′ ) ⊆ { a , b } . Note also that since a and b have no commonneighbor in G k we have | A ′ ∩ { a , b }| ≤ | B ′ ∩ { a , b }| ≤
1. So bysymmetry it suffices to consider the following subcases:
Case 1.1: P ⊆ C ′ Since a is adjacent to all vertices of A and a has no neighbor in X ′ (since a A ′ ∪ B ′ ) it follows that A ⊆ X ′ . Similarly B ⊆ X ′ . But then( X ′ , ( X ′ \ P ) ∪ X ) is a connected non-path 2-join of G . Since A ∪ B ⊆ X ′ , X ′ ( X , contradicting our choice of ( X , X ). Case 1.2: a ∈ A ′ and P \ { a } ⊆ C ′ .So b has no neighbor in X ′ , and since b is adjacent to all vertices of B ,it follows that B ⊆ X ′ . In particular, X ′ ( X . Since a ∈ A ′ , P ⊆ X ′ and N G k ( a ) \ P = A , it follows that A ′ ⊆ A and ( X ′ \ A ′ ) ∩ A = ∅ .But then ( X ′ , ( X ′ \ P ) ∪ X , A ′ , B ′ , ( A ′ \ { a } ) ∪ A , B ′ ) is a split of aconnected non-path 2-join of G , contradicting our choice of ( X , X ).22 ase 1.3: a ∈ A ′ , b ∈ B ′ and P \ { a , b } ⊆ C ′ .Since ( X ′ , X ′ ) is not a path 2-join, X ′ ∩ X = ∅ , and hence X ′ ( X .Since a ∈ A ′ , P ⊆ X ′ and N G k ( a ) \ P = A , it follows that A ′ ⊆ A and ( X ′ \ A ′ ) ∩ A = ∅ . Similarly B ′ ⊆ B and ( X ′ \ B ′ ) ∩ B = ∅ . Butthen ( X ′ , ( X ′ \ P ) ∪ X , A ′ , B ′ , ( A ′ \ { a } ) ∪ A , ( B ′ \ { b } ) ∪ B ) is a splitof a connected non-path 2-join of G , contradicting our choice of ( X , X ). Case 2:
For i = 1 , P ∩ X ′ i = ∅ .We may assume w.l.o.g. that ( X ′ , X ′ ) is a minimally-sided connectednon-path 2-join of G k , with X ′ being the minimal side. But then by Lemma4.3 applied to ( X ′ , X ′ ) and P it suffices up to symmetry to consider thefollowing two cases: Case 2.1: a ∈ A ′ and P \ a ⊆ X ′ .Since x is of degree 2 and x ∈ X ′ , it follows that | A ′ | = 1. Note that P \{ a , x } ⊆ X ′ \ A ′ . Since a ∈ A ′ , A ′ \{ x } ⊆ A and A \ A ′ ⊆ X ′ \ A ′ .Note that since ( X ′ , X ′ ) is connected, A \ A ′ = ∅ . Note that P ∩ B ′ ⊆ { b } .First suppose that b ∈ C ′ . Since b is adjacent to all vertices of B , B ⊆ X ′ . By Lemma 3.2, (v), no vertex of B ′ has a neighbor in A ′ , whichimplies B ′ ∩ A = ∅ . So, C ′ = ∅ and by Lemma 3.2 (vi), | X ′ | ≥
4. Butthen ( X ′ \ { a } , ( X ′ \ P ) ∪ X , A \ A ′ , B ′ , A , B ′ ) is a split of a connectednon-path 2-join of G , contradicting our choice of ( X , X ) (since clearly X ′ \ { a } ( X ).Hence b C ′ and b ∈ B ′ . Then B ′ ⊆ B and B \ B ′ ⊆ X ′ . ByLemma 3.2, (v), no vertex of B ′ has a neighbor in A ′ , which implies B ′ ∩ A = ∅ . So ( X ′ \ { a } , ( X ′ \ P ) ∪ X , A \ A ′ , B ′ , A , ( B ′ \ { b } ) ∪ B )is a split of a connected non-path 2-join of G , contradicting our choice of( X , X ) (since clearly X ′ \ { a } ( X ). Case 2.2: a ∈ A ′ , b ∈ B ′ and P \ { a , b } ⊆ X ′ .Then x ∈ A ′ , x k − ∈ B ′ and P \ { a , b , x , x k − } ⊆ C ′ . Since x and x k − are of degree 2 in G k , it follows that A ′ = { a } and B ′ = { b } . Since N G k ( a ) = A ∪ { x } , it follows that A ′ \ { x } ⊆ A and A \ A ′ ⊆ X ′ .Similarly B ′ \ { x k − } ⊆ B and B \ B ′ ⊆ X ′ . Since ( X ′ , X ′ ) is connected, A \ A ′ = ∅ and B \ B ′ = ∅ . Since a and b have no common neighbor in G k , ( A \ A ′ ) ∩ ( B \ B ′ ) = ∅ . Since ( X ′ , X ′ ) is a non-path 2-join, | X ′ \{ a , b }| ≥
3. But then (( X ′ \ P ) ∪ X , X ′ \ { a , b } , A , B , A \ A ′ , B \ B ′ )is a split of a 2-join of G . By Lemma 3.2 (ii) this 2-join is connected. Since G k [ X ′ ] and G [ X ] are not paths, this 2-join is a non-path 2-join. But then23ince X ′ \ { a , b } ( X , our choice of ( X , X ) is contradicted. ✷ When M is a collection of vertex-disjoint flat paths, a 2-join ( X , X ) is M -independent if for every path P from M we have either V ( P ) ⊆ X or V ( P ) ⊆ X . These special types of 2-joins will have a fundamental role toplay when it comes to computing a largest stable set. Lemma 4.5
Let ( X , X , A , B , A , B ) be a split of a minimally-sidedconnected non-path 2-join of a graph G , with X being a minimal side. As-sume that G and all the blocks of decomposition of G w.r.t. ( X , X ) whosemarker paths are of length at least 3, all belong to C no sc . Let M be a setof vertex-disjoint flat paths of length at least 3 of G . If there exists a path P ∈ M such that P ∩ A = ∅ and P ∩ A = ∅ , then let A ′ = A , and other-wise let A ′ = A . If there exists a path P ∈ M such that P ∩ B = ∅ and P ∩ B = ∅ , then let B ′ = B , and otherwise let B ′ = B . Let X ′ = X ∪ A ′ ∪ B ′ and X ′ = V ( G ) \ X ′ . Then the following hold:(i) ( X ′ , X ′ ) is a connected non-path 2-join of G .(ii) ( X ′ , X ′ ) is M -independent.(iii) ( X ′ , X ′ ) is an extreme 2-join of G and X ′ is an extreme side of this2-join. proof — If there exists a path P ∈ M such that P ∩ A = ∅ and P ∩ A = ∅ ,then by Lemma 4.3, either for an endvertex u of P , P \ u ⊆ X and u ∈ A ;or for endvertices u and v of P , u ∈ A , v ∈ B and P \ { u, v } ⊆ X . Sincethe intermediate vertices of P are of degree 2, it follows that | A | = 1, andso (i) holds by Lemma 4.1 (possibly applied twice).Let ( X ′ , X ′ , A ′ , B ′ , A ′ , B ′ ) be the split of ( X ′ , X ′ ), where A ∈{ A ′ , A ′ } and B ∈ { B ′ , B ′ } . By Lemma 4.3, applied to ( X , X ), paths P ∈ M are one of the following types: Type 1: P ⊆ X Type 2: P ⊆ X Type 3:
For an endvertex u of P , u ∈ A and P \ u ⊆ X . Type 4:
For an endvertex u of P , u ∈ B and P \ u ⊆ X . Type 5:
For endvertices u and v of P , u ∈ A , v ∈ B and P \ { u, v } ⊆ X .24ote that since M is a collection of vertex-disjoint paths, at most onepath of M is of type 3 (resp. type 4), and if there exists a type 3 (resp. type4) path then for every type 2 path P , P ∩ A = ∅ (resp. P ∩ B = ∅ ). Alsothere is at most one type 5 path in M , and if such a path exists there areno type 3 and 4 paths in M , and for every type 2 path P of M , P ∩ A = ∅ and P ∩ B = ∅ . So by the construction of ( X ′ , X ′ ) all type 1 (resp. type 2)paths w.r.t. ( X , X ) stay type 1 (resp. type 2) w.r.t. ( X ′ , X ′ ), and all type3, 4 and 5 paths w.r.t. ( X , X ) become type 1 w.r.t. ( X ′ , X ′ ). Therefore(ii) holds.For k , k ≥
3, let G k and G k be the blocks of decomposition of G w.r.t.the 2-join ( X , X ). By Lemma 4.4, G k has no connected non-path 2-join.Let P be the marker path of G k . Let G ′ k ′ be the block of decomposition of G with respect to ( X ′ , X ′ ). Notice that G ′ k ′ can be obtained from G k bysubdividing an edge of P (0, 1 or 2 times), and hence by our assumption, G ′ k ′ ∈ C no sc . Therefore by Lemma 4.4, G ′ k ′ has no connected non-path2-join and hence (iii) holds. ✷ Lemma 4.6
There is an algorithm with the following specification:
Input:
A connected graph G and a set M of vertex-disjoint flat paths of G of length at least 3. Output:
One of the following is returned.(i) An extreme connected non-path 2-join of G (with an identifiedextreme side) that is M -independent.(ii) G or a block of decomposition of G w.r.t. some 2-join whosemarker path is of length at least 3, has a star cutset.(iii) G has no connected non-path 2-join. Running time: O ( n m ) proof — First check whether G has a star cutset. Note that this can bedone in time O ( n ) as noted by Chv´atal [3]: for every x ∈ V ( G ), checkwhether G \ N [ x ] is disconnected, and also check whether there exists y ∈ N ( x ) such that y has no neighbor in G \ N [ x ]. If the answer to any of theseis yes, then G has a star cutset centered at x , and otherwise it does not. If G is identified as having a star cutset return (ii) and stop, and otherwisecontinue. 25ote that at this point in the algorithm we know that G ∈ C no sc , andhence by Lemma 3.2 (ii) any 2-join of G is connected.Run the O ( n m )-algorithm from Theorem 5.2 in [2] for G . This algo-rithm outputs a minimally sided non-path 2-join of an input graph withno star cutset, or certifies that the input graph has no non-path 2-join. Ifthis stage of the algorithm does not find any non-path 2-join in G , thenreturn (iii) and stop. Otherwise let ( X , X , A , B , A , B ) be the split of aminimally-sided connected non-path 2-join found, and w.l.o.g. assume that X is a minimal side.Let G and G be the blocks of decomposition of G w.r.t. ( X , X ).Check whether G and G have a star cutset. If any one of them does,then return (ii) and stop. Otherwise, we continue and we note that since G , G ∈ C no sc clearly blocks of decomposition of G w.r.t. ( X , X ) G k and G k , for any k , k ≥
3, also belong to C no sc .If there exists a path P ∈ M such that P ∩ A = ∅ and P ∩ A = ∅ ,then let A ′ = A , and otherwise let A ′ = A . If there exists a path P ∈ M such that P ∩ B = ∅ and P ∩ B = ∅ , then let B ′ = B , and otherwise let B ′ = B . Let X ′ = X ∪ A ′ ∪ B ′ and X ′ = V ( G ) \ X ′ . Then by Lemma 4.5,( X ′ , X ′ ) is an extreme connected non-path 2-join (with X ′ being an extremeside) that is M -independent. We return this 2-join in (i) and stop.Clearly this algorithm can be implemented to run in time O ( n m ). ✷ Note that later when we apply the above algorithm in our main algo-rithm, if the output is (ii), then by Lemma 3.7 we can conclude that G doesnot belong to C Bergeno cutset or to C ehfno sc . Here we show how to find a maximum clique in a graph using 2-joins. Forthe sake of induction we have to solve the weighted version of the problem.Through all the next sections, by graph we mean a graph with weightson the vertices. Weights are numbers from K where K means either the set R + of non-negative real numbers or the set N + of non negative integers. Thestatements of the theorems will be true for K = R + but the algorithms areto be implemented with K = N + . Let G be a weighted graph with a weightfunction w on V ( G ). When H is an induced subgraph of G or a subset of V ( G ), w ( H ) denotes the sum of the weights of vertices in H . Note thatwe view a graph where no weight is assigned to the vertices as a weightedgraph whose vertices have all weight 1. Here, ω ( G ) denotes the weight of amaximum weighted clique of G . 26et ( X , X , A , B , A , B ) be a split of a connected 2-join of G . Wedefine for k ≥ clique-block G k of G with respect to ( X , X ). It isobtained from the block G k by giving weights to the vertices. Let P = a − x − · · ·− x k − − b be the marker path of G k . We assign the followingweights to the vertices of G k : • for every u ∈ X , w G k ( u ) = w G ( u ); • w G k ( a ) = ω ( G [ A ]); • w G k ( b ) = ω ( G [ B ]); • w G k ( x ) = ω ( G [ X ]) − ω ( G [ A ]); • w G k ( x i ) = 0, for i = 2 , . . . , k − Lemma 5.1 ω ( G ) = ω ( G k ) . proof — Let K be a maximum weighted clique of G . We show that theclique-block G k has a clique of weight w G ( K ), and hence ω ( G ) ≤ ω ( G k ).If K ⊆ X then K ⊆ V ( G k ). If K ⊆ X then { a , x } is a clique of G k of weight w G ( K ). So assume that K ∩ X = ∅ and K ∩ X = ∅ . W.l.o.g. K ∩ A = ∅ and K ∩ A = ∅ , and hence K ⊆ A ∪ A . But then ( K \ A ) ∪{ a } is a clique of G k of weight w G ( K ). Therefore ω ( G ) ≤ ω ( G k ).Now let K be a maximum weighted clique of G k . We show that G hasa clique of weight w G k ( K ), and hence ω ( G k ) ≤ ω ( G ). If K ⊆ X then K isa clique of G . Suppose K ∩ P = { a } , and let K ′ be a clique of A whoseweight is ω ( G [ A ]). Then ( K ∩ A ) ∪ K ′ is a clique of G of weight w G k ( K ).So we may assume that K = { a , x } . Then w G k ( K ) = ω ( G [ X ]), and G has a clique of the same weight. Therefore ω ( G k ) ≤ ω ( G ). ✷ Here we show how to use 2-joins to compute maximum stable sets. Thisis more difficult than cliques mainly because stable sets may completelyoverlap both sides of a 2-join. For the sake of induction we need to putweights on the vertices. But even with weights, there is an issue: we arenot able to compute maximum weighted stable set of a graph assuming thatsome computations are done on its blocks as defined in Section 3. So weneed to enlarge slightly our blocks to encode information, and this causes27ome trouble. First, the extended blocks may fail to be in the class weare working on. This problem will be solved in Section 8 by building thedecomposition tree in two steps. Also in a decomposition tree built withour unusual blocks, the leaves may fail to be basic graphs, so computingsomething in the leaves of the tree is a problem postponed to Section 7.Throughout this section, G is a fixed graph with a weight function w on the vertices and ( X , X , A , B , A , B ) is a split of a 2-join of G . For i = 1 , C i = X i \ ( A i ∪ B i ). For any graph H , α ( H ) denotes the weightof a maximum weighted stable set of H . We define a = α ( G [ A ∪ C ]), b = α ( G [ B ∪ C ]), c = α ( G [ C ]) and d = α ( G [ X ]). Lemma 6.1
Let S be a stable set of G of maximum weight. Then one andonly one of the following holds:(i) S ∩ A = ∅ , S ∩ B = ∅ , S ∩ X is a maximum weighted stable set of G [ A ∪ C ] and w ( S ∩ X ) = a ;(ii) S ∩ A = ∅ , S ∩ B = ∅ , S ∩ X is a maximum weighted stable set of G [ B ∪ C ] and w ( S ∩ X ) = b ;(iii) S ∩ A = ∅ , S ∩ B = ∅ , S ∩ X is a maximum weighted stable set of G [ C ] and w ( S ∩ X ) = c ;(iv) S ∩ A = ∅ , S ∩ B = ∅ , S ∩ X is a maximum weighted stable set of G [ X ] and w ( S ∩ X ) = d . proof — Follows directly from the definition of a 2-join. ✷ We need kinds of blocks that preserve being in C Berge . To define them weneed several inequalities that tell more about how stable sets and 2-joinsoverlap.
Lemma 6.2 ≤ c ≤ a, b ≤ d ≤ a + b . proof — The inequalities 0 ≤ c ≤ a, b ≤ d are trivially true. Let D be amaximum weighted stable set of G [ X ]. We have: d = w ( D ) = w ( D ∩ A ) + w ( D ∩ ( C ∪ B )) ≤ a + b. ✷
28 2-join with split ( X , X , A , B , A , B ) is said to be X -even (resp. X -odd ) if all paths from A to B with interior in C are of even length(resp. odd length). Note that from Lemma 3.1, if G is in C parity and ( X , X )is connected, then ( X , X ) must be either X -even or X -odd. Lemma 6.3 If ( X , X ) is an X -even 2-join of G , then a + b ≤ c + d . proof — Let A be a stable set of G [ A ∪ C ] of weight a and B a stableset of G [ B ∪ C ] of weight b . In the bipartite graph G [ A ∪ B ], we denoteby Y A (resp. Y B ) the set of those vertices of A ∪ B such that there existsa path in G [ A ∪ B ] joining them to some vertex of A ∩ A (resp. B ∩ B ).Note that from the definition, A ∩ A ⊆ Y A , B ∩ B ⊆ Y B and no edges existbetween Y A ∪ Y B and ( A ∪ B ) \ ( Y A ∪ Y B ). Also, Y A and Y B are disjointwith no edges between them because else, there is some path in G [ A ∪ B ]from some vertex of A ∩ A to some vertex of B ∩ B . If such a path isminimal with respect to this property, its interior is in C and it is of oddlength because G [ A ∪ B ] is bipartite. This contradicts the assumption that( X , X ) is X -even. Now we put: • Z D = ( A ∩ Y A ) ∪ ( B ∩ Y B ) ∪ ( A \ ( Y A ∪ Y B )); • Z C = ( A ∩ Y B ) ∪ ( B ∩ Y A ) ∪ ( B \ ( Y A ∪ Y B )).From all the definitions and properties above, Z D and Z C are stable setsand Z D ⊆ X and Z C ⊆ C . So, a + b = w ( Z C ) + w ( Z D ) ≤ c + d . ✷ Lemma 6.4 If ( X , X ) is an X -odd 2-join of G , then c + d ≤ a + b . proof — Let D be a stable set of G [ X ] of weight d and C a stable setof G [ C ] of weight c . In the bipartite graph G [ C ∪ D ], we denote by Y A (resp. Y B ) the set of those vertices of C ∪ D such that there exists a pathin G [ C ∪ D ] joining them to some vertex of D ∩ A (resp. D ∩ B ). Notethat from the definition, D ∩ A ⊆ Y A , D ∩ B ⊆ Y B and no edges existbetween Y A ∪ Y B and ( C ∪ D ) \ ( Y A ∪ Y B ). Also, Y A and Y B are disjointwith no edges between them because else, there is some path in G [ C ∪ D ]from some vertex of D ∩ A to some vertex of D ∩ B . If such a path isminimal with respect to this property, its interior is in C and it is of evenlength because G [ C ∪ D ] is bipartite. This contradicts the assumption that( X , X ) is X -odd. Now we put: • Z A = ( D ∩ Y A ) ∪ ( C ∩ Y B ) ∪ ( C \ ( Y A ∪ Y B ));29 Z B = ( D ∩ Y B ) ∪ ( C ∩ Y A ) ∪ ( D \ ( Y A ∪ Y B ).From all the definitions and properties above, Z A and Z B are stable setsand Z A ⊆ A ∪ C and Z B ⊆ B ∪ C . So, c + d = w ( Z A ) + w ( Z B ) ≤ a + b . ✷ We call flat claw of a weighted graph G any set { q , q , q , q } of verticessuch that: • the only edges between the q i ’s are q q , q q and q q ; • q and q have no common neighbor in V ( G ) \ { q } ; • q has degree 1 in G and q has degree 3 in G . Lemma 6.5
Let G be a graph, Q = { q , q , q , q } a flat claw of G and S ′ amaximum weighted stable set of G . Then one and only one of the followingholds:(i) q ∈ S ′ , q / ∈ S ′ and S ′ ∩ Q is a maximum weighted stable set of G [ { q , q , q } ] ;(ii) q / ∈ S ′ , q ∈ S ′ and S ′ ∩ Q is a maximum weighted stable set of G [ { q , q , q } ] ;(iii) q / ∈ S ′ , q / ∈ S ′ and S ′ ∩ Q is a maximum weighted stable set of G [ { q , q } ] ;(iv) q ∈ S ′ , q ∈ S ′ and S ′ ∩ Q is a maximum weighted stable set of G [ { q , q , q , q } ] . proof — Follows directly from the definitions. ✷ We define now the even block G with respect to ( X , X ). We keep X and replace X by a flat claw on q , . . . , q where q is complete to A and q is complete to B . We give the following weights: w ( q ) = d − b , w ( q ) = c , w ( q ) = d − a , w ( q ) = a + b − d . From Lemma 6.2, all weightsare non-negative. By Lemma 6.3, the following Lemma applies in particularif ( X , X ) is a connected X -even 2-join. Lemma 6.6 If a + b ≤ c + d and if G is the even block of G , then α ( G ) = α ( G ) . roof — Let S be a stable set of maximum weight in G . Then S mustsatisfy one of (i), (ii), (iii) or (iv) of Lemma 6.1. Respective to these casesone can construct a stable set S ′ of G that has the weight of S , by takingthe union of S ∩ X and one of { q , q } , { q , q } , { q } or { q , q , q } .Conversely, if S ′ is a stable set of G of maximum weight then it satisfiesone of (i), (ii), (iii) or (iv) of Lemma 6.5. Respective to these cases, w ( S ′ ∩ Q )is a , b , c or d (by Lemma 6.2 and because a + b ≤ c + d ) and one can constructa maximum stable set S of G by replacing S ′ ∩ Q by a maximum weightedstable set of G [ A ∪ C ], G [ B ∪ C ], G [ C ] or G [ X ]. ✷ We call flat vault of graph G any set { r , r , r , r , r , r } of vertices suchthat: • the only edges between the r i ’s are such that r , r , r , r , r is a 4-hole; • N ( r ) = N ( r ) \ { r , r } ; • N ( r ) = N ( r ) \ { r , r } ; • r and r have no common neighbors; • r and r have degree 2 in G . Lemma 6.7
Let G be a graph, Q = { r , r , r , r , r , r } a flat vault of G and S ′ a maximum weighted stable set of G . Then one and only one of thefollowing holds:(i) S ′ ∩ { r , r } 6 = ∅ , S ′ ∩ { r , r } = ∅ and S ′ ∩ Q is a maximum weightedstable set of G [ { r , r , r , r } ] ;(ii) S ′ ∩ { r , r } = ∅ , S ′ ∩ { r , r } 6 = ∅ and S ′ ∩ Q is a maximum weightedstable set of G [ { r , r , r , r } ] ;(iii) S ′ ∩ { r , r } = ∅ , S ′ ∩ { r , r } = ∅ and S ′ ∩ Q is a maximum weightedstable set of G [ { r , r } ] ;(iv) S ′ ∩ { r , r } 6 = ∅ , S ′ ∩ { r , r } 6 = ∅ and S ′ ∩ Q is a maximum weightedstable set of G [ { r , r , r , r , r , r } ] . proof — Follows directly from the definitions. ✷ Let us now define the odd block G with respect to ( X , X ). We replace X by a flat vault on r , . . . , r . Moreover r , r are complete to A and31 , r are complete to B . We give the following weights: w ( r ) = d − b , w ( r ) = d − a , w ( r ) = w ( r ) = c , w ( r ) = w ( r ) = a + b − c − d . Notethat if we suppose c + d ≤ a + b (which holds in particular if ( X , X ) is an X -odd connected 2-join by Lemma 6.4), all the weights are non-negativeby Lemma 6.2. Lemma 6.8 If c + d ≤ a + b and if G is the odd block of G , then α ( G ) = α ( G ) . proof — Let S be a stable set of maximum weight in G . Then S mustsatisfy one of (i), (ii), (iii) or (iv) of Lemma 6.1. So, respective to thesecases, it is easy to construct a stable set S ′ of G that has the weight of S ,by taking the union of S ∩ X and one of { r , r , r } , { r , r , r } , { r } or { r , r , r , r } .Conversely, if S ′ is a stable set of G of maximum weight then it sat-isfies one of (i), (ii), (iii) or (iv) of Lemma 6.7. Respective to these cases, w ( S ′ ∩ Q ) is a , b , c or d (because c + d ≤ a + b ) and one can construct amaximum weighted stable set S of G of the same weight as S ′ by replacing S ′ ∩ { r , r , r , r , r , r } by a maximum weighted stable set of G [ A ∪ C ], G [ B ∪ C ], G [ C ] or G [ X ]. ✷ Note that the following lemma fails for C ehf because the odd block con-tains an even hole. Lemma 6.9
Let G be a graph in C Berge and ( X , X ) be a connected 2-joinof G . If ( X , X ) is X -even then the even block G is in C Berge . If ( X , X ) is X -odd then the odd block G is in C Berge . proof — Suppose that G contains an odd hole H . If no edge of H hasboth ends in V ( G ) \ X , then H ⊆ X ∪ ( N G ( A ) \ X ) ∪ ( N G ( B ) \ X ). Weobtain an odd hole H ′ of G as follows. By Lemma 3.2 (iv), there exist non-adjacent vertices a ∈ A , b ∈ B . If H ∩ ( N G ( A ) \ X ) = ∅ , we replacethe unique vertex in H ∩ ( N G ( A ) \ X ) by a . We proceed similarly with H ∩ ( N G ( B ) \ X ) and b . We obtain an odd hole H ′ of G , a contradiction.If H has an edge whose ends are both in V ( G ) \ X then H is vertex-wise partitioned into q − q − q when ( X , X ) is X -even (resp. r − r when ( X , X ) is X -odd), and a path with one end in A , one end in B and interior in C . Then an odd hole of G can be obtained by replacing q − q − q (resp. r − r ) by a path of even (resp. odd) length of G from A to B with interior in C . This contradicts G being Berge.32uppose that G contains an odd antihole H . Since an antihole on 5vertices is in fact a hole, we may assume that H is on at least 7 vertices.So all vertices of H have degree at least four. Hence, if G is an even blockthen H cannot go through q , q . So, up to the replacement of at most twovertices, H is an odd antihole of G , a contradiction. Now suppose G is anodd block. Because of the degrees, r , r / ∈ H . In an antihole on at least 7vertices, every pair of vertices has a common neighbor. A vertex of { r , r } has no common neighbor with a vertex of { r , r } . So, we may assume that H ∩ { r , r } = ∅ . We have N G ( r ) ⊆ N G ( r ) so not both r , r are in H .So, we may assume that r / ∈ H . So, up to the replacement of r by a vertexof A , H is an odd antihole of G , a contradiction. ✷ We present here a block of decomposition that we do not use in the restof the paper but that is interesting because it can be used in all situations(whereas some inequalities must be satisfied for even and odd blocks).To build the gem-block G replace X by an induced path p − x − y − p ′ plus a vertex z complete to this path. Vertex p is complete to A and vertex p ′ is complete to B . We give weights: w ( p ) = a , w ( x ) = a + b − d , w ( y ) = d , w ( p ′ ) = 2 d − a , w ( z ) = c + d . Note that all weights are non-negative byLemma 6.2. We omit the proof of the following Lemma since we do not useit. Lemma 6.10 If G is the gem-block of G then α ( G ) = α ( G ) + d . The gem-block appears implicitly in the proof of the NP-completenessresult in Section 10.
To build a decomposition tree that allows keeping track of maximum stablesets we use the even and odd blocks defined in Section 6. As a consequence,the leaves of our decomposition tree may fail to be basic, but are what wecall extensions of basic graphs. Let us define this.Let P = p −· · ·− p k , k ≥
4, be a flat path of a graph G . Extending P means: • Either: 33i) replace the vertices of P by a flat claw on q , . . . , q where q iscomplete to N G ( p ) \ { p } and q is complete to N G ( p k ) \ { p k − } ;(ii) replace X by a flat vault on r , . . . , r where r , r are completeto N G ( p ) \ { p } and r , r are complete to N G ( p k ) \ { p k − } . • Mark the vertices of the flat claw (or vault) with the integer k .An extension of a pair ( G, M ), where G is a graph and M is a set ofvertex-disjoint flat paths of length at least 3 of G , is any weighted graphobtained by extending the flat paths of M and giving any non-negativeweights to all the vertices. Note that since M is a set of vertex-disjoint paths, the extensions of the paths from M can be done in any order andlead to the same graph. An extension of a graph G is any graph that is anextension of ( G, M ) for some M .We say that the extension of P is parity-preserving when P has evenlength and is replaced by a flat claw, or when P has odd length and isreplaced by a flat vault. We define the parity-preserving extension of apair ( G, M ) and of a graph G by requiring that all extensions of paths areparity-preserving. We will describe algorithms for computing cliques and stable sets in graphsfrom our basic classes and their extensions. To apply these algorithms weneed to detect in which basic class a graph is. For bipartite graphs, linegraphs of bipartite graphs and their complements, this a classical problem,see [31, 39]. For double split graphs, this is very easy, see [42], Section 7. Forpath-cobipartite graphs it is very easy by picking a vertex of degree 2 if any,checking if it belongs to a flat path, if so taking a maximal such flat path,and checking if the flat path satisfies the definition of a path-cobipartitegraph. A similar trick recognizes path-double split graphs. All these classescan be recognized in linear time.The class C ehfbasic can be recognized in time O ( n m ) by checking for allpairs of vertices if their deletion gives the line graph of a tree. Checking thatthe graph is even-hole free is easy, since in the line graph of a tree, thereexists a unique induced path joining any pair of vertices.Recognition of extensions of basic graphs is easy thanks to the markgiven to the new vertices arising from extensions. These marks allow tocompute the original graph from its extension.Also, when a graph is identified to be basic, the algorithms above certifythat the graph is basic. For bipartite graphs, it gives a bipartition, for a34ine graph G , a root-graph R such that G = L ( R ). For double split graphs,path cobipartite graphs, path-double split graph and graph from C ehfbasic , thesets like in their respective definitions are output.We do not write a theorem about these algorithms, but in the descriptionof the algorithms in the rest of the paper, when we consider an extendedbasic graph, it is implicit that the algorithm can know in time O ( n m ) inwhich basic class the graph is. Since all our algorithms run in time at least O ( n m ), this does not affect the overall complexity. Lemma 7.1
A parity-preserving extension of a bipartite graph is a bipartitegraph. proof —
Suppose that a graph G is bipartite. So we color its verticesblack and white. Suppose that a parity-preserving extension with respectto P = p − · · · − p k is performed. If the path has even length then up tosymmetry p and p k are black. Since the extension is parity-preserving, P is replaced by a flat claw on q , q , q , q . We give color black to q , q , q and color white to q . If the path has odd length then up to symmetry p isblack and p k is white. Since the extension is parity-preserving, P is replacedby a flat vault on r , r , r , r , r , r . We give color black to r , r , r andcolor white to r , r , r . This shows that the parity-preserving extension of P yields a bipartite graphs and the lemma follows by an induction on thenumber of extended paths. ✷ The following lemma shows that maximum weighted stable sets can becomputed for all parity-preserving extensions of Berge basic classes, exceptline graphs of bipartite graphs.
Lemma 7.2
There is an algorithm with the following specification:
Input:
A weighted graph G that is a parity preserving extension of eithera bipartite graph, the complement of a bipartite graph, the complementof a line graph of a bipartite graph, a path-cobipartite graph, the com-plement of a path-cobipartite graph, a path-double split graph or thecomplement of a path-double split graph. Output:
A maximum weighted stable set of G . Running time: O ( n ) 35 roof — For parity-preserving extensions of bipartite graphs, the resultfollows from Lemma 7.1. Indeed, computing a maximum weighted stableset in a bipartite graph can be done in time O ( n ), see [40].Let k be a constant integer and C a class of graphs for which there exitsa polynomial time algorithm to compute maximum weighted stable sets.Let C k be the class of those graphs obtained from a graph in C by adding k vertices and giving a mark to them. Then there is a polynomial timealgorithm for computing a maximum weighted stable set for a graph G in C k . It suffices to try every stable subset S of the set of marked vertices,to delete all the marked vertices, to give weight zero to the neighbors ofvertices of S , to run the algorithm for C in what remains and to denote by A S the stable set obtained. Then compute w ( S ∪ A S ). Choose a stable setof maximum weight among the N ≤ k stable sets so obtained. Note that2 k is a constant.This method works for parity-preserving extensions of complements ofbipartite graphs, complements of line graphs of bipartite graphs and com-plements of path-cobipartite graphs. Indeed, as we show next, a graph fromany of these classes cannot contain two vertex-disjoint flat paths of lengthat least three. So, at most one path is extended and by the remark abovethe desired algorithm relies on classical algorithms for maximum weightedstable set in complements of bipartite graphs, complements of line graphs ofbipartite graphs, and bipartite graphs (note that maximum weighted stableset in a complement of a path-cobipartite graph corresponds to maximumweighted clique in path-cobipartite graph, and all maximal cliques of suchgraphs are either of size 2 or belong to the cobipartite graph obtained byremoving vertices of degree 2). All this can be done in time O ( n ), see [40].The only complement of a bipartite graph that contains a flat path oflength at least 3 is P . line graphs of bipartite graphs cannot contain di-amonds, so complements of line graphs of bipartite graphs cannot containcomplements of diamonds. Hence they cannot contain two vertex-disjointflat paths of length at least three. Now we deal with the complement G of a path-cobipartite graph. Since we know how to handle complementsof bipartite graphs, we may assume that the path P form the definition isnon-empty. So, G contains a vertex u of degree | V ( G ) | − P ). So, G cannot contain two disjoint flat paths of length at least 3 becausethe interior vertices of such paths would contradict deg( u ) = | V ( G ) | − G of a path-cobipartite graphs H , apply the following method, wherethe notation A, B, P is like in the definition of path-cobipartite graphs. Firstobserve that only vertices of P are replaced during extensions. For all sta-36le sets S of G [ A ∪ B ] (and there are at most | A | + | B | + | A || B | of them),consider the graph G S = G \ ( A ∪ B ∪ N ( S )). Note that G S is a bipartitegraph because it is an induced subgraph of a parity-preserving extension ofa path. So we can compute a maximum weighted stable set T S of G S intime O ( n ), see [40]. Among all stable sets S ∪ T S so constructed, chooseone of maximum weight. So all this can be done in time O ( n ).To compute a maximum weighted stable set in a parity-preserving ex-tension G of a path-double split graph H apply the following method, wherethe notation A, B, C, D, E, k, l is like in the definition. First observe thatonly vertices of E are replaced during the extension. For all stable sets S of G [ C ∪ D ] (and there are 3 l + 1 of them, including ∅ ), consider the graph G S = G \ ( C ∪ D ∪ N ( S )). So, G S is an induced subgraph of G \ ( C ∪ D )and has at most k connected components that are paths or parity-preservingextensions of paths, and hence G S is a bipartite graph. So we can computea maximum weighted stable set T S of G S in time O ( n ), see [40]. Amongall stable sets S ∪ T S so constructed, choose one of maximum weight. So allthis can be done in time O ( n ).To compute a maximum weighted stable set in a parity-preserving ex-tension G of the complement H of a path-double split graph H there are twocases. First case, the set E is empty. Then, H is in fact a double split graphand so is H . So G is a parity-preserving extension of a path-double splitgraph, and we already know how to proceed in this case. Second case, theset E is not empty. Then, all vertices in H have at least 3 non-neighbors,so in H , no vertex has degree 2. So, no path can be extended, G = H andto compute a maximum weighted stable set in G it suffices to compute amaximum weighted clique in H . We can do this by listing all cliques K of H [ A ∪ B ∪ E ] (including the empty set). Note that there are only linearlymany such cliques. Let H K be the subgraph of H induced by the set of allvertices C ∪ D that are adjacent to all of K . It is easy to compute a max-imum weighted clique T K of H K (it suffices to choose for each pair c j , d j , j = 1 , . . . , m , the vertex with bigger weight). Among all cliques K ∪ T K soconstructed, choose the one of maximum weight. So all this can be done intime O ( n ). ✷ Extensions of line graphs are more difficult to handle than other extensionsbecause an extension of a line graph may fail to be a line graph and a linegraph may contain arbitrarily many disjoint long flat paths. Note that in37igure 3: R and L ( R ). Paths of L ( R ) to be extended are represented withbold edges.this subsection, extensions are not required to be parity-preserving .Let G ′ be a weighted graph that is an extension of a line graph G = L ( R ),see Figures 3 and 4. We now define the transformation G ′′ of G ′ , see Figure 5.The structure of G ′′ , i.e. its vertices and edges, depends only on G but theweights given to its vertices depend only on G ′ . Let M be the set of vertex-disjoint flat paths of length at least 3 of G that are extended to get G ′ . So, M = { P , . . . , P k } and we put P i = p i −· · ·− p il i . For all 1 ≤ i ≤ k , path P i of G is replaced in G ′ by a set Q i that induces either a flat claw on vertices q i , q i , q i , q i or a flat vault on vertices r i , r i , r i , r i , r i , r i . For all flat paths P i of M , we put A i = N G ( p i ) \ { p i } , B i = N G ( p il i ) \ { p il i − } .For all 1 ≤ i ≤ k , we prepare a set S i of four new vertices p i , p ′ i , x i , y i .The graph G ′′ has vertex-set: V ( G ′′ ) = ( S ∪ · · · ∪ S k ) ∪ V ( G ) \ ( P ∪ · · · ∪ P k ) . Edges of G ′′ depend only on edges of G . They are: • p i p ′ i , x i p i , p i y i , y i p ′ i , p ′ i x i , i = 1 , . . . , k ; • uv for all u, v ∈ V ( G ) ∩ V ( G ′′ ) such that uv ∈ E ( G ); • p i u for all u ∈ A i ∩ V ( G ′′ ), i = 1 , . . . , k ; • p ′ i u for all u ∈ B i ∩ V ( G ′′ ), i = 1 , . . . , k ; • x i u for all u ∈ ( A i ∪ B i ) ∩ V ( G ′′ ), i = 1 , . . . , k ;38igure 4: G ′ Figure 5: G ′′ = L ( R ′′ ) and R ′′ p i p j for all i, j such that p i p j ∈ E ( G ); • p ′ i p j for all i, j such that p il i p j ∈ E ( G ); • p ′ i p ′ j for all i, j such that p il i p jl j ∈ E ( G ); • x i p j for all i, j such that p i p j ∈ E ( G ) or p il i p j ∈ E ( G ); • x i p ′ j for all i, j such that p i p jl j ∈ E ( G ) or p il i p jl j ∈ E ( G ); • x i x j for all i, j such that p i p j ∈ E ( G ) or p i p jl j ∈ E ( G ) or p il i p j ∈ E ( G )or p il i p jl j ∈ E ( G ).We define the following numbers that depend only on G ′ : • a i = α ( G ′ [ { q i , q i , q i } ]) for all i such that Q i is a flat claw of G ′ ; • a i = α ( G ′ [ { r i , r i , r i , r i } ]) for all i such that Q i is a flat vault of G ′ ; • b i = α ( G ′ [ { q i , q i , q i } ]) for all i such that Q i is a flat claw of G ′ ; • b i = α ( G ′ [ { r i , r i , r i , r i } ]) for all i such that Q i is a flat vault of G ′ ; • c i = α ( G ′ [ { q i , q i } ]) for all i such that Q i is a flat claw of G ′ ; • c i = α ( G ′ [ { r i , r i } ]) for all i such that Q i is a flat vault of G ′ ; • d i = α ( G ′ [ { q i , q i , q i , q i } ]) for all i such that Q i is a flat claw of G ′ ; • d i = α ( G ′ [ { r i , r i , r i , r i , r i , r i } ]) for all i such that Q i is a flat vault of G ′ .Note that from the definitions, c i ≤ a i , b i ≤ d i for all i = 1 , . . . , k . We givethe following weights to the vertices of G ′′ (they depend on the weights in G ′ ): • w G ′′ ( u ) = w G ′ ( u ) for all u ∈ V ( G ) ∩ V ( G ′′ ); • w G ′′ ( p i ) = a i , i = 1 , . . . , k ; • w G ′′ ( p ′ i ) = b i , i = 1 , . . . , k ; • w G ′′ ( y i ) = c i , i = 1 , . . . , k ; • w G ′′ ( x i ) = d i − c i , i = 1 , . . . , k .40 multigraph is a graph where multiple edges between vertices are al-lowed (but we do not allow loops). Lemma 7.3 G ′′ is the line graph of a multigraph. proof — Path P i of G corresponds to a path R i = r i −· · ·− r il i +1 of R . Forall i = 1 , . . . , k , path R i is induced and has interior vertices of degree 2 in R because P i is a flat path of G . Since paths of M are vertex-disjoints, paths R , . . . , R k are edge-disjoint (but they may share end-vertices). Now let usbuild a multigraph R ′′ from R , see Figure 5. We delete the interior verticesof all R i ’s. For each R i , we add two vertices u i , v i and the edges r i r il i +1 , u i r i , u i r il i +1 and u i v i .It is a routine matter to check that L ( R ′′ ) is isomorphic to G ′′ . Edge r i r il i +1 corresponds to vertex x i , edge u i r i corresponds to vertex p i , edge u i r il i +1 corresponds to p ′ i and edge u i v i corresponds to vertex y i . Note thatpossibly, two paths R i and R j have the same ends. For instance r i = r j and r il i +1 = r jl j +1 is possible. Then, the edge r i r il i +1 is added twice. This is whywe need R ′′ to be a multigraph. ✷ Lemma 7.4 α ( G ′′ ) = α ( G ′ ) . proof — Let S ′ be a stable set of maximum weight in G ′ . Let us build astable set S ′′ of G ′′ of same weight. In S ′′ , we keep all vertices of S ′ ∩ V ( G ′′ ).For all i such that Q i is a flat claw of G ′ , S ′ satisfies one of (i), (ii), (iii) or(iv) of Lemma 6.5. So, respective to these cases we put one of { p i } , { p ′ i } , { y i } or { x i , y i } in S ′′ . For all i such that Q i is a flat vault of G ′ , S ′ satisfiesone of (i), (ii), (iii) or (iv) of Lemma 6.7. So, respective to these cases weput one of { p i } , { p ′ i } , { y i } or { x i , y i } in S ′′ . This yields a stable set of G ′′ of the same weight as S ′ .Conversely, if S ′′ is a stable set of G ′′ of maximum weight then we mayassume for all i , S ′′ ∩ { p i , p ′ i , x i , y i } is one of { p i } , { p ′ i } , { y i } or { x i , y i } .The only exception could be when w G ′′ ( y i ) = 0 and S ′′ ∩ { p i , p ′ i , x i , y i } = ∅ or { x i } , but then we add y i to S ′′ . If Q i is a flat claw, respective to thesecases, we put in S ′ a maximum weighted stable set of one of G ′ [ { q i , q i , q i } ], G ′ [ { q i , q i , q i } ], G ′ [ { q i , q i } ] or G ′ [ { q i , q i , q i , q i } ]. If Q i is a flat vault, respec-tive to these cases, we put in S ′ a maximum weighted stable set of one of G ′ [ { r i , r i , r i , r i } ], G ′ [ { r i , r i , r i , r i } ], G ′ [ { r i , r i } ] or G ′ [ { r i , r i , r i , r i , r i , r i } ].This yields a stable set of G ′ of the same weight as S ′′ . ✷ emma 7.5 There is an algorithm with the following specification:
Input:
A weighted graph G ′ that is an extension of a line graph G . Output:
A maximum weighted stable set of G ′ . Running time: O ( n ) proof — Build the transformation G ′′ of G ′ as explained above. So, byLemma 7.3, G ′′ is the line graph of a multigraph. Compute a multigraph R such that G ′′ = L ( R ) (see [31, 39]), then compute in R a matching ofmaximum weight by Edmonds’ algorithm (see [40, 22]). It corresponds to amaximum weighted stable set in G ′′ . By Lemma 7.4, this maximum weightedstable set has the same weight as a maximum weighted stable set S ′ of G ′ .Note that the proof of Lemma 7.4 shows how to actually obtain S ′ . ✷ Here again, extensions are not required to be parity-preserving . Lemma 7.6
There is an algorithm with the following specification:
Input:
A weighted graph G that is an extension of a graph from C ehfbasic . Output:
A maximum weighted stable set and a maximum weighted cliqueof G . Running time: O ( n ) proof — Let H be a graph in C ehfbasic and M a set of vertex-disjoint flatpaths of H of length at least 3, such that the input graph G is an extensionof ( H, M ). Let A be a set of vertices of H such that | A | ≤ H \ A is aline graph (it takes time O ( n ) to find A , by checking for all possible pairswhether their removal yields a line graph). Let M ′ be the set of paths of M that contain some vertex of A . Note that |M ′ | ≤ | A | ≤ |M ′ | ≤
2, there is a set of vertices B such that | B | ≤ G is obtained from G ′ by adding vertices of B where G ′ is an extensionof ( H \ A, M \ M ′ ). By Lemma 7.5, a maximum weighted stable set of G ′ can be computed in time O ( n ). To compute a maximum weighted stableset of G it suffices to try every stable set S of B , to delete all vertices of S \ B , to give weight zero to neighbors of vertices of S , and to compute themaximum weighted stable set of the remaining graph (which is as we noted42n extension of a line graph). Choose a maximum weighted stable set soobtained. Clearly all this can be done in time O ( n ).To compute a maximum weighted clique, it suffices to notice that G contains linearly many inclusion-wise maximal cliques. So, it suffices to listthem and to choose one of maximum weight. ✷ It is convenient to sum up all the results of the section:
Lemma 7.7
There is an algorithm with the following specification:
Input:
A weighted graph G that is a parity preserving extension of a graphfrom C Bergebasic or any extension of a graph from C ehfbasic . Output:
A maximum weighted stable set and a maximum weighted cliqueof G . Running time: O ( n ) proof — Follows from Lemmas 7.2, 7.5 and 7.6 for computing stables sets.For cliques, it is done in Lemma 7.6 for graphs from C ehfbasic . For C Bergebasic , itsuffices to notice that the class is self-complementary, so we may rely on thealgorithm for stable sets. ✷ We now give algorithms to construct several decomposition trees for graphsin our classes. First we show how to build a decomposition tree with theusual parity preserving blocks (as defined in Section 3). Then we show howto reprocess such a tree to get a tree with clique-blocks, even blocks or oddblocks according to what we need to optimize.
We define now a decomposition tree T G of a graph G ∈ D , where D is oneof C Bergeno cutset , C ehfno sc . We call D basic the class of all basic graphs associatedto the class (so, if D = C Bergeno cutset then D basic = C Bergebasic and if D = C ehfno sc then D basic = C ehfbasic ).We decompose a graph G ∈ D using extreme 2-joins into basic graphs.Let us now define more precisely what we call decomposition tree (provingits existence and constructing it will be done later).43 ecomposition tree T G of depth p ≥ of a graph G ∈ D that has a connectednon-path 2-join. (i) The root of T G is ( G , M ), where G = G and M = ∅ .(ii) Each node of the decomposition tree is a pair ( H, M ) where H is agraph of D and M is a set of disjoint flat paths of length 3 or 4 of H .The non-leaf nodes of T G are pairs ( G , M ) , . . . , ( G p − , M p − ). Eachnon-leaf node ( G i , M i ) has two children. One is ( G i +1 , M i +1 ), theother one is ( G i +1 B , M i +1 B ).The leaf-nodes of T G are the pairs ( G B , M B ), . . . , ( G pB , M pB ) and( G p , M p ). Graphs G B , . . . , G pB all belong to D basic .(iii) For i = 0 , . . . , p − G i has a connected non-path 2-join ( X i , X i ) thatis extreme with extreme side X i and that is M i -independent. Graphs G i +1 and G i +1 B are the parity preserving blocks of G i w.r.t. ( X i , X i )(as defined in Section 3), whose marker paths are of length 3 or 4. Theblock G i +1 B corresponds to the extreme side X i , i.e. X i ⊆ V ( G i +1 B ).Set M i +1 B consists of paths from M i whose vertices are in X i . Notethat the marker path used to construct the block G i +1 B does not belongto M i +1 B .Set M i +1 consists of paths from M i whose vertices are in X i togetherwith the marker path P i +1 used to build G i +1 .(iv) M B ∪ . . . ∪ M pB ∪ M p is the set of all marker paths used in the con-struction of the nodes G , . . . , G p of T G , and sets M B , . . . , M pB , M p are pairwise disjoint.Node ( G p , M p ) is a leaf of T G and is called the deepest node of T G . Notethat all leaves of T G except possibly the deepest node are basic. Lemma 8.1
For any decomposition tree T G , the depth of T G is at most n . proof — Let a branch of a graph be any path of length at least 2 whoseendvertices are both of degree at least 3 and whose interior vertices are ofdegree 2 (in the graph). For a graph G , let ν ( G ) be the number of verticesof degree at least 3 in G , and τ ( G ) the number of branches in G . We willshow that for i = 0 , . . . , p − ν ( G i +1 ) + τ ( G i +1 ) < ν ( G i ) + τ ( G i ) . p is at most ν ( G ) + τ ( G ) ≤ n. Let i ∈ { , . . . , p − } and let ( X i , X i , A i , B i , A i , B i ) be a split of the2-join ( X i , X i ). Let P i +1 = a i − · · · − b i be the marker path of G i +1 . Let P = u −· · ·− u ′ be a path of G i such that u ∈ A i , u ′ ∈ B i and P \ { u, u ′ } ∈ X i \ ( A i ∪ B i ) (note that such a path exists since ( X i , X i ) is connected). Wechoose such a path P with a minimum number of vertices of degree at least 3.Since ( X i , X i ) is a non-path 2-join, there is a vertex q ∈ X i \ P . Observe that d G i +1 ( a i ) ≤ d G i ( u ) and d G i +1 ( b i ) ≤ d G i ( u ′ ), and hence ν ( G i +1 ) ≤ ν ( G i ).When q is of degree at least 3 we have ν ( G i +1 ) < ν ( G i ). Also, since exactlyone branch of G i +1 intersects P i +1 , we have τ ( G i +1 ) ≤ τ ( G i ) + 1.First suppose that P contains a vertex of degree 2. Then there is abranch P ∗ of G i that contains a node of P , and hence τ ( G i +1 ) ≤ τ ( G i ). If d G i ( q ) ≥
3, then ν ( G i +1 ) < ν ( G i ), and hence (1) holds. So suppose that d G i ( q ) = 2. Then q belongs to a branch Q ∗ of G i . Clearly P ∗ = Q ∗ , so τ ( G i +1 ) < τ ( G i ), and hence (1) holds.Now we may assume that all vertices of P are of degree at least 3.Suppose that P is of length at least 2. So ν ( G i +1 ) ≤ ν ( G i ) −
1. If d G i ( q ) ≥ ν ( G i +1 ) ≤ ν ( G i ) −
2, and hence (1) holds. Otherwise, q belongs to abranch of G i and so τ ( G i +1 ) ≤ τ ( G i ), and hence (1) holds.Finally we assume that P is of length 1, and both u and u ′ are of degreeat least 3. By Lemma 3.3 and Lemma 3.2, (iv) and (v), | A i | , | B i | ≥ A i ∪ { u, u ′ } is not a star cutset of G i , there is a path T = t −· · ·− t ′ such that t ∈ A i \ { u } , t ′ ∈ B i \ { u ′ } and T \ { t, t ′ } ⊆ X i \ ( A i ∪ B i ). Bythe choice of P , T contains at least two vertices of degree at least 3. So, ν ( G i +1 ) ≤ ν ( G i ) − ✷ Lemma 8.2
There is an algorithm with the following specification:
Input:
A graph G in D that has a connected non-path 2-join. Output:
A decomposition tree T G of G of depth at most n whose leavesare all in D basic . Running time: O ( n m ) proof — Let the root of T G be ( G , M ) = ( G, ∅ ). We suppose by in-duction that a decomposition tree of depth i has been constructed. So,the deepest leaf ( G i , M i ) is a pair such that G i ∈ D and M i is a set of45ertex-disjoint flat paths of G i of length 3 or 4. Apply the algorithm fromLemma 4.6 to G i and M i . One of the following is the output of this algo-rithm. Case 1:
An extreme connected non-path 2-join ( X i , X i ) of G i , with say X i being the extreme side, that is M i -independent.Let G i +1 and G i +1 B be parity-preserving blocks of decomposition of G i w.r.t. ( X i , X i ) (as defined in Section 3), whose marker paths are oflength 3 or 4, and block G i +1 B corresponds to X i -side. By Lemma 3.8 andLemma 3.11, G i +1 and G i +1 B are both in D . Since G i +1 B is the block that cor-responds to X i , G i +1 B has no connected non-path 2-join. If D = C ehfno sc thenby Theorem 2.1, G i +1 B ∈ C ehfbasic . If D = C Bergeno cutset , then by Theorem 2.6, G i +1 B ∈ C Bergebasic . Therefore, G i +1 B ∈ D basic .Since ( X i , X i ) is M i -independent, for P ∈ M i , either P ⊆ X i or P ⊆ X i . Let M i +1 B be the set of paths of M i that belong to X i . Let M i +1 be the set of paths of M i that belong to X i together with the markerpath P i +1 of G i +1 . Clearly M i +1 B (resp. M i +1 ) is a set of vertex-disjointflat paths of G i +1 B (resp. G i +1 ) of length 3 or 4, M i +1 B ∩ M i +1 = ∅ and M i +1 B ∪ M i +1 = M i ∪ { P i +1 } .Hence, in Case 1, we have built a deeper decomposition tree of G . Case 2: G i or a block of decomposition of G i w.r.t. some 2-join whosemarker path is of length at least 3, has a star cutset.Since G i ∈ D and by Lemma 3.3, G i cannot have a star cutset. ByLemma 3.2 (ii), any 2-join of G i is connected, and hence by Lemma 3.7 thiscase actually cannot happen. Case 3: G i has no connected non-path 2-join.Note that i ≥ G is assumed to have a non-path connected 2-join.If D = C ehfno sc then by Theorem 2.1, G i ∈ C ehfbasic . If D = C Bergeno cutset , then byTheorem 2.6, G i ∈ C Bergebasic . Therefore G i ∈ D basic .By Lemma 8.1, we see that Case 3 must happen at some point, after atmost n iterations. So, when Case 3 happens we output the tree T G and stop.All the leaves of T G are basic. Since the complexity of the algorithm fromLemma 4.6 is O ( n m ) and there are at most n iterations, the algorithm forconstructing T G runs in time O ( n m ). ✷ .2 Clique-decomposition tree The clique-decomposition tree is used to compute maximum cliques forgraphs in D . This tree T CG has the same definition as T G except that weightsare given to the vertices. Let us be more precise by defining how to computethe children of ( G i , M i ) in T CG . Recall that the graph G i has an extreme2-join ( X i , X i ) with extreme side X i . Its children are ( G i +1 B , M i +1 B ) and( G i +1 , M i +1 ). In G i +1 B , all vertices from G [ X i ] keep their weights (as theyare in G i ) and vertices of the new marker path receive weight 0. The weightsof G i +1 are assigned as in the construction of the clique block in Section 5.Note that computing the weights in the construction of G i +1 relies on severalcomputations on G i [ X i ], or equivalently on G i +1 B which is a basic graph. Soby Lemma 7.7, building G i +1 takes time O ( n ). This construction leads tothe following result: Lemma 8.3
There is an algorithm with the following specification:
Input:
A weighted graph G that is in C Bergeno cutset or in C ehfno sc and that hasa connected non-path 2-join. Output:
A maximum weighted clique of G . Running time: O ( n ) proof — By Lemma 8.2, we build a decomposition tree for G , and asexplained above we reprocess the tree to get a clique-decomposition tree. Byrepeatedly applying Lemma 5.1, we see that ω ( G ) = ω ( G ) = · · · = ω ( G p ).We can compute a maximum weighted clique in the basic graph G p byLemma 7.7, and the proof of Lemma 5.1 shows how to backtrack such amaximum weighted clique to G . ✷ Note that for graphs of C ehfno sc , the lemma above is not so interestingbecause a faster algorithm exists for the class C ehf , see the introduction. C Bergeno cutset
We define now the stable-decomposition tree T SG of a graph in C Bergeno cutset .The tree T SG has the same definition as T G except that even or odd blocksare used sometimes and that the sets M i ’s and M iB ’s will be sets of disjointflat claws and vaults (instead of paths). Let us be more precise. Decomposition tree T SG of depth p ≥ of a weighted graph G ∈ C Bergeno cutset that has a connected non-path 2-join. T SG is ( G ′′ , M ′′ ), where G ′′ = G and M ′′ = ∅ .(ii) For each node ( H, M ) of the decomposition tree, H is a Berge graphand M is a set of disjoint flat claws or flat vaults of H .The non-leaf nodes of T SG are pairs ( G ′′ , M ′′ ) , . . . , ( G ′′ p − , M ′′ p − ).Each non-leaf node ( G ′′ i , M ′′ i ) has two children. One is( G ′′ i +1 , M ′′ i +1 ), the other one is ( G ′′ i +1 B , M ′′ i +1 B ).The leaf-nodes of T SG are the pairs ( G ′′ B , M ′′ B ), . . . , ( G ′′ pB , M ′′ pB ) and( G ′′ p , M ′′ p ). Graphs G ′′ B , . . . , G ′′ pB are all parity-preserving extensionsof graphs from C Bergebasic .(iii) For i = 0 , . . . , p − G ′′ i has a connected non-path 2-join ( X ′′ i , X ′′ i ).Graph G ′′ i +1 B is the parity-preserving block of G i w.r.t. ( X ′′ i , X ′′ i ) (asdefined in Section 3), whose marker path is of length 3 or 4 and whichcorresponds to the side X ′′ i , i.e. X ′′ i ⊆ V ( G ′′ i +1 B ). Vertices of X ′′ i keeptheir weight from G ′′ i and vertices of the marker path receive weightzero.Graph G ′′ i +1 is the even block or the odd block of G ′′ i w.r.t. ( X ′′ i , X ′′ i ),according to the X ′′ -parity of ( X ′′ i , X ′′ i ).Set M ′′ i +1 B consists of claws and vaults from M ′′ i whose vertices arein X ′′ i . Note that the marker path used to construct the block G ′′ i +1 B does not belong to M ′′ i +1 B .Set M ′′ i +1 consists of claws and vaults from M ′′ i whose vertices arein X ′′ i together with the claw or the vault P ′′ i +1 used to build G ′′ i +1 .(iv) M ′′ B ∪ . . . ∪ M ′′ pB ∪ M ′′ p is the set of all marker claws or vaultsused in the construction of the nodes G ′′ , . . . , G ′′ p of T SG , and sets M ′′ B , . . . , M ′′ pB , M ′′ p are pairwise disjoint.The existence of T SG is not clear since introducing even and odd blocksmay create star cutsets (and so balanced skew partitions) in our graphs, sothat we cannot rely on Theorem 2.6 to build the tree recursively. But herewe show how to actually construct T SG by reprocessing T G .Start from T G and for each node ( G i , M i ), i = 1 , . . . , p of T G , extend themarker path introduced in that node to obtain a graph G ′′ i . Accordingly, re-place the marker paths in the graphs G iB and sets M iB , M i by marker clawsand vaults to obtain G ′′ iB , M ′′ iB and M ′′ i . We obtain the nodes ( G ′′ i , M ′′ i )and ( G ′′ iB , M ′′ iB ) of T SG . 48ote that extending a flat path P of length at least 3 in a graph H witha { P } -independent connected 2-join ( X , X ), yields a graph H ′′ that has aconnected 2-join ( X ′′ , X ′′ ) naturally arising from ( X , X ): put all verticesof X \ P in X ′′ , all vertices of X \ P in X ′′ and put the claw or the vaultarising from P in X ′′ when P ⊆ X and in X ′′ when P ⊆ X . So, theconnected 2-joins ( X ′′ i , X ′′ i )’s all exist and are immediate to find from T G .Note that by Lemma 6.9, all nodes of T SG are in C Berge . So, all the 2-joins( X ′′ i , X ′′ i )’s are either X ′′ i -even or X ′′ i -odd and we can choose whether weuse an even or an odd block.Note that computing the weights in the construction of the even or oddblock G ′′ i +1 relies on several computations on G ′′ i [ X i ], or equivalently on G ′′ i +1 B which is a parity-preserving extension of a graph from C Bergebasic , so thecomputations can be done in time O ( n ) by Lemma 7.7. C ehfno sc For an even-hole-free graph the tree T SG as defined above may fail to exist.Because building an odd block does not preserve being even-hole-free. So,2-joins appearing in the decomposition tree may fail to be either X -evenor X -odd, so we do not know when to use even or odd blocks. But with alittle twist, we can define a useful tree.The definition of T SG for a graph in C ehfno sc is very similar to the definitionfor C Bergeno cutset , so we do not repeat it and point out the differences instead.The main difference is when to use odd or even block. Recall that G ′′ i has a 2-join ( X ′′ i , X ′′ i ). Let ( X ′′ i , X ′′ i , A ′′ i , B ′′ i , A ′′ i , B ′′ i ) be a split of this 2-join. We define a i = α ( G [ A ′′ i ∪ C ′′ i ]), b i = α ( G [ B ′′ i ∪ C ′′ i ]), c i = α ( G [ C ′′ i ])and d i = α ( G [ X ′′ i ]). If a i + b i ≤ c i + d i then G ′′ i +1 is the even block G ′′ i w.r.t. ( X ′′ i , X ′′ i ). Else, it is the odd block. Note that graphs in T SG are notrequired to be in C ehf .The other difference is that graphs G ′′ B , . . . , G ′′ pB and G ′′ p are any (andnot only parity-preserving) extensions of graphs from C ehfbasic . Note that inLemma 7.7, the extensions are not required to be parity-preserving for C ehfbasic . Lemma 8.4
There is an algorithm with the following specification:
Input:
A weighted graph G that is in C Bergeno cutset or in C ehfno sc and that hasa connected non-path 2-join. Output:
A maximum weighted stable set of G . Running time: O ( n m ) 49 roof — By Lemma 8.2, we build a decomposition tree for G , and asexplained above we reprocess the tree to get a stable-decomposition tree T SG . By repeatedly applying Lemmas 6.6 and 6.8, we see that α ( G ′′ ) = α ( G ′′ ) = · · · = α ( G ′′ p ). Note that the inequalities necessary to applyLemmas 6.6 and 6.8 are satisfied. For Berge graphs, this follows from thefact that all nodes of T SG are Berge so that we can rely on Lemma 6.3 and6.4. For even-hole-free graphs, the inequalities are true from the definitionof T SG .We can compute a maximum weighted stable set in the extension ofbasic graph G ′′ p by Lemma 7.7 (when G is Berge, the extension is parity-preserving) , and the proofs of Lemmas 6.6 and 6.8 show how to backtracksuch a maximum weighted stable set to G . ✷ Theorem 9.1
There is an algorithm with the following specification:
Input:
A weighted graph G that is either a Berge graph with no balancedskew partition, no connected non-path 2-join in the complement andno homogeneous pair; or an even-hole-free graph with no star cutset. Output:
A maximum weighted stable set and a maximum weighted cliqueof G . Running time: O ( n ) proof — If G is in C Bergebasic or in C ehfbasic we rely on Lemma 7.7. Else, byTheorem 2.1 or 2.6, G has a connected non-path 2-join. So, we may rely onLemmas 8.3 and 8.4. ✷ Let us now point out that our method works for our two classes fordifferent reasons. For Berge graphs, it is because our even and odd blocksare class-preserving. For even-hole-free graphs, it is because the basic class isrestricted to graphs obtained from line graphs by adding a bounded numberof vertices. In fact, our method works for something more general thaneven-hole-free graphs with no star cutset. Let L k be the class of graphsobtained from line graphs by adding k vertices. If k is fixed, we can computemaximum weighted cliques and stable sets for any class that is decomposablewith extreme 2-joins into graphs of L k . For k = 0, this gives a subclass ofclaw-free graphs. For k = 2 this gives a super-class of even-hole-free graphswith no star cutset. 50 heorem 9.2 There exists an algorithm of complexity O ( n ) whose inputis a Berge graph G with no balanced skew partition, no connected non-path2-join in the complement and no homogeneous pair, and whose output is anoptimal coloring of G and an optimal coloring of G . proof — There exists a combinatorial coloring algorithm for an inputperfect graph G that uses at most n times as subroutines algorithms formaximum cliques and stable sets. See [30] or Corollary 67.2c in [40]. Thisalgorithm relies on the fact that perfect graphs are closed under takinginduced subgraphs and replicating vertices. Our class is not, but takinginduced subgraphs is easily simulated by giving weight 0 to a vertex andreplicating k times a vertex is simulated by giving weight k to the vertex.The method also works for G because we may compute maximum weightedcliques and stable sets for G as well. ✷
10 NP-completeness
Here, we give a class C of graph for which computing a maximum stableset is NP-hard. The interesting feature of class C is that all graphs in C are decomposable along extreme 2-joins into one bipartite graph and severalgem-wheels where a gem-wheel is any graph made of an induced cycle oflength at least 5 together with a vertex adjacent to exactly four consecu-tive vertices of the cycle. Note that a gem-wheel is a line graph (of a cyclewith one chord). Our NP-completeness result (proved jointly with Guys-lain Naves) shows that being able to decompose along extreme 2-joins isnot enough in general to compute stables sets. This suggests that beingin C parity is essential for computing stable sets along 2-joins and that theinequalities of Subsection 6.1 capture an essential feature of C parity .Here, extending a flat path P = p −· · · − p k of a graph means deletingthe interior vertices of P and adding three vertices x, y, z and the followingedges: p x , xy , yp k , zp , zx , zy , zp k . By extending a graph G we meanextending all paths of M where M is a set a flat paths of length at least 3of G . Class C is the class of all graphs obtained by extending 2-connectedbipartite graphs. From the definition, it is clear that all graphs of C aredecomposable along extreme connected non-path 2-joins. One leaf of thedecomposition tree will be the underlying bipartite graph. All the othersleaves will be gem-wheels.We call any graph G obtained from a graph H by subdi-viding four times every edge. More precisely, every edge uv of H is replaced51y an induced path u − a − b − c − d − v where a, b, c, d are of degree two. It iseasy to see that α ( G ) = α ( H ) + 2 | E ( H ) | . This construction, essentially dueto Poljak [36], yields as observed by Guyslain Naves: Theorem 10.1 (Naves, [35])
The problem whose instance is a graph G from C and an integer k , and whose question is “Does G contain a stableset of size at least k ” is NP-complete. proof — Let H be any graph. First we subdivide 5 times every edge of H .So each edge ab is replaced by P = a − p −· · ·− p − b . The graph H ′ obtainedis bipartite. Now we build an extension G of H ′ by replacing all the P ’s p −· · ·− p arising from the subdivisions in the previous step by P ’s. Andfor each P we add a new vertex complete to it and we call apex vertices allthese new vertices. The graph G that we obtain is in C . It is easy to see thatthere exists a maximum stable set of G that contain no apex vertex becausean apex vertex of a maximum stable set can be replaced by one vertex ofits neighborhood. So, we call G ′ the graph obtained from G by deleting allthe apex vertices and see that α ( G ′ ) = α ( G ). Also, G ′ is the 4-subdivisionarising from H . So from the remark above, maximum stable sets in H and G have sizes that differ by 2 | E ( H ) | . ✷ Our NP-completeness result is related to Lemma 6.10. With respectto computing maximum stable sets, these two results say in a sense thatgem-blocks carry enough information to encode one side of a 2-join.
Acknowledgement
This work started in November 2008 when the first author was visiting Uni-versidade Federal do Rio de Janeiro, Brasil, during discussions with SimoneDantas, Sulamita Klein and Celina de Figueiredo. Originally, the projectwas to color Berge graphs without balanced skew partitions. Celina sug-gested to add the homogeneous pair-free assumption and this idea was veryimportant for the success of this work.Thanks to Guyslain Naves for showing the NP-hardness result. Thismanuscript also benefited from a very careful reading of an anonymous ref-eree. 52 eferences [1] C. Berge. F¨arbung von Graphen, deren s¨amtliche bzw. deren ungeradeKreise starr sind. Technical report, Wissenschaftliche Zeitschriftder Martin-Luther-Universit¨at Halle-Wittenberg, Mathematisch-Naturwissenschaftliche Reihe 10, 1961.[2] P. Charbit, M. Habib, N. Trotignon, and K. Vuˇskovi´c. Detecting 2-joinsfaster. Manuscript, 2010.[3] V. Chv´atal. Star-cutsets and perfect graphs.
Journal of CombinatorialTheory, Series B , 39:189–199, 1985.[4] V. Chv´atal and N. Sbihi. Bull-free Berge graphs are perfect.
Graphsand Combinatorics , 3:127–139, 1987.[5] M. Chudnovsky.
Berge trigraphs and their applications . PhD thesis,Princeton University, 2003.[6] M. Chudnovsky. Berge trigraphs.
Journal of Graph Theory , 53(1):1–55,2006.[7] M. Chudnovsky, G. Cornu´ejols, X. Liu, P. Seymour and K. Vuˇskovi´c.Recognizing Berge graphs.
Combinatorica , 25(2):143–186, 2005.[8] M. Chudnovsky, N. Robertson, P. Seymour and R. Thomas. The strongperfect graph theorem.
Annals of Mathematics , 164(1):51–229, 2006.[9] M. Chudnovsky and P. Seymour. Three-colourable perfect graphs with-out even pairs. Manuscript, 2008.[10] M. Chudnovsky and P. Seymour. Even pairs in Berge graphs.
Journalof Combinatorial Theory, Series B , 99:370–377, 2009.[11] M. Conforti, G. Cornu´ejols, A. Kapoor and K. Vuˇskovi´c. Balanced0 , ± Journal of Combinatorial Theory, Series B , 81:243-306,2001.[12] M. Conforti, G. Cornu´ejols, A. Kapoor and K. Vuˇskovi´c. Even-hole-free graphs, Part I: Decomposition theorem.
Journal of Graph Theory ,39:6-49, 2002. 5313] M. Conforti, G. Cornu´ejols, A. Kapoor and K. Vuˇskovi´c. Even-hole-free graphs, Part II: Recognition algorithm.
Journal of Graph Theory ,40:238-266, 2002.[14] M. Conforti, G. Cornu´ejols and M.R. Rao. Decomposition of balancedmatrices.
Journal of Combinatorial Theory, Series B , 77:292–406, 1999.[15] M. Conforti, G. Cornu´ejols, and K. Vuˇskovi´c. Square-free perfectgraphs.
Journal of Combinatorial Theory, Series B , 90:257–307, 2004.[16] M. Conforti, G. Cornu´ejols, and K. Vuˇskovi´c. Decomposition of odd-hole-free graphs by double star cutsets and 2-joins.
Discrete AppliedMathematics , 141:41–91, 2004.[17] G. Cornu´ejols and W.H. Cunningham. Composition for perfect graphs.
Discrete Mathematics , 55:245–254, 1985.[18] M.V.G. da Silva and K. Vuˇskovi´c. Triangulated neighborhoods in even-hole-free graphs.
Discrete Mathematics , 307:1065-1073, 2007.[19] M.V.G da Silva and K. Vuˇskovi´c. Decomposition of even-hole-freegraphs with star cutsets and 2-joins. preprint, 2008.[20] C. de Figueiredo. Personal communication, 2008.[21] G.A. Dirac. On rigid circuit graphs.
Abhandlungen aus dem Mathema-tischen Seminar der Universit¨at Hamburg , 25:71–76, 1961.[22] J. Edmonds. Paths, trees and flowers.
Canadian Journal of Mathemat-ics , 17:449–467, 1965.[23] M. Farber. On diameters and radii of bridged graphs.
Discrete Mathe-matics , 73:249-260, 1989.[24] C.M.H. de Figueiredo and F. Maffray. Optimizing bull-free perfectgraphs.
SIAM Journal on Discrete Mathematics , 18:226–240, 2004.[25] J. Fonlupt and J.P. Uhry. Transformations which preserve perfectnessand h -perfectness of graphs. In A. Bachem, M. Gr¨otschel, and B. Korte,editors, Bonn Workshop on Combinatorial Optimization , pages 83–85.North-Holland, 1982. Annals of Discrete Mathematics, 16.[26] M. Gr¨ostchel, L. Lov´asz and A. Schrijver. The ellipsoid method and itsconsequences in combinatorial optimization.
Combinatorica , 1:169-197,1981. 5427] M. Gr¨ostchel, L. Lov´asz and A. Schrijver.
Geometric algorithms andcombinatorial optimization , Springer Verlag, 1988.[28] R.B. Hayward. Weakly triangulated graphs.
Journal of CombinatorialTheory, Series B , 39:200–209, 1985.[29] T. Kloks, H. M¨uller and K. Vuˇskovi´c. Even-hole-free graphs that do notcontain diamonds: a structure theorem and its consequences.
Journalof Combinatorial Theory B , 99:733-800, 2009.[30] J. Kratochv´ıl and A. Seb˝o. Coloring precolored perfect graphs.
Journalof Graph Theory , 25:207–215, 1997.[31] P.G.H. Lehot. An optimal algorithm to detect a line graph and outputits root graph.
Journal of the Association for Computing Machinery ,21(4):569–575, 1974.[32] L. Lov´asz. Normal hypergraphs and the perfect graph conjecture.
Dis-crete Mathematics , 2:253–267, 1972.[33] L. Lov´asz, Graph minor theory.
Bulletin of the American MathematicalSociety , 43(1):75–86, 2005.[34] F. Maffray and N. Trotignon. A class of perfectly contractile graphs.
Journal of Combinatorial Theory, Series B , 96(1):1–19, 2006.[35] G. Naves. Personal communication, 2009.[36] S. Poljak. A note on the stable sets and coloring of graphs.
Commen-tationes Mathematicae Universitatis Carolinae , 15:307–309, 1974.[37] N. Robertson and P. Seymour. Graph minors XIII. The disjoint pathsproblem.
Journal of Combinatorial Theory B , 63:65–110, 1995.[38] N. Robertson and P.D. Seymour. Graph minors. XX. Wagner’s conjec-ture.
Journal of Combinatorial Theory, Series B , 92:325–357, 2004.[39] N.D. Roussopoulos. A max { m, n } algorithm for determining the graph H from its line graph G . Information Processing Letters , 2:108–112,1973.[40] A. Schrijver.
Combinatorial Optimization: Polyhedra and Efficiency ,Springer, 2003. 5541] P.D. Seymour. Decomposition of regular matroids.
Journal of Combi-natorial Theory, Series B , 28(3):305–359, 1980.[42] N. Trotignon. Decomposing Berge graphs and detecting balanced skewpartitions.
Journal of Combinatorial Theory, Series B , 98:173–225,2008.[43] N. Trotignon and K. Vuˇskovi´c. N. Trotignon and K. Vuˇskovi´c. A struc-ture theorem for graphs with no cycle with a unique chord and itsconsequences.
Journal of Graph Theory , 63(1):31–67, 2010.[44] K. Truemper. Max-flow min-cut matroids: Polynomial testing andpolynomial algorithms for maximum flow and shortest routes.
Mathe-matics of Operations Research , 12:72-96, 1987.[45] G. Zambelli.