Graph modification problems related to graph classes

Federico Mancini

Dissertation for the degree of Philosophiae Doctor (PhD)

University of Bergen Norway

May 2008

i

Acknowledgements

The first person I need to thank is my supervisor Pinar Heggernes. Without her guidance, encouragement and scolding from time to time, this work would not exist. Thank you for taking me as your student, teaching me so much and believing in me from the very start. I have never told you how much this meant to me, but I hope this thesis can make up for at least some of it. These three years gave me the opportunity to fulfill many of my dreams, and for this I will always be thankful to you. Another person to whom I owe a lot for his unconditional help, even when he hardly knew me, is Marc Bezem. Your support has been critical in many occasions, including when I had to decide whether to apply for this PhD. Thank you for convincing me to do it, or I would have regretted it forever. I would like to thank also all my co-authors Hans L. Bodlaender, Michael R. Fellows, Fedor V. Fomin, Pinar Heggernes, Jan Kratochvil, Daniel Lokshtanov, Charis Papadopoulos, Frances Rosamond and Jan Arne Telle for the fruitful collaborations and interesting discussions. Solving problems alone is boring :-). And speaking of collaborations, I cannot forget Andreas Brandst¨adt, Vang Ban Le, Christian Hundt, Peter Wagner and Nguyen Ngoc Tuy for making the two months at Rostock University extremely enjoyable for me and my family. If my PhD has been such a great experience, it is due mostly to all my col- leagues at the Algorithms Group. I would like to thank in particular Alexey for all the fun time we spent together fishing, hiking, drinking or talking just about anything. All of this before we both got married of course... . Joanna, thanks for never letting things get boring, and Morten, one day we will catch that giant cod, I promise. A special thank to Yngve, who is always there with a reasonable an- swer to practically any question one could think about. Maybe too many stupid questions are also the reason why he moved out of our office, but thanks to this I could get a very thoughtful new office mate. Daniel thanks for always making sure that I do not work too much, and Saket, thank you for keeping Daniel out of the office. Serge, Rodica and Daniel, thanks to you too for being around and help me whenever I needed it. I also want to thank my parents for always supporting my choices and making sure that I have everything I need, despite the distance that separates us. Finally I want to dedicate this work to my lovely wife Hilde and our beautiful son Alessandro. Hilde, thanks for taking care of Alessandro on your own while I was away, giving me the chance to focus on this thesis and finish it in time.

Bergen, May 2008 Federico Mancini ii Contents

Part I 3

1 Introduction 3

2 Notation and definitions 7 2.1 Graphclasses ...... 9 2.1.1 Perfect graphs and their subclasses ...... 13 2.1.2 Othergraphclasses...... 19

3 Practical applications of graph modification problems 23 3.1 Minimizing the number of modifications ...... 24 3.1.1 Chordalgraphs ...... 26 3.1.2 Intervalgraphs ...... 27 3.1.3 Clustergraphs...... 29 3.1.4 Planargraphs...... 31 3.1.5 Connectedgraphs...... 31 3.1.6 Graphs characterized by cycles ...... 33 3.1.7 Comparabilitygraphs...... 34 3.2 Minimizing the maximum size ...... 35 3.2.1 TreewidthandPathwidth ...... 37 3.2.2 Bandwidth...... 39 3.3 Modificationwithrestrictions ...... 39 3.3.1 Sandwichproblem ...... 40 3.3.2 Extendingcolorings...... 41 3.3.3 Probegraphs ...... 42

4 Methods to solve graph modification problems 45 4.1 Restrictedinputs ...... 46 4.2 Minimality...... 47 4.2.1 Characterizing minimality ...... 52 4.2.2 Vertexincrementalapproach...... 59 4.2.3 Extraction and sandwich problem ...... 65 4.2.4 Minimality for other modification problems ...... 67

iii iv

4.3 Parameterizedalgorithms ...... 69

5 Solving problems on modified graphs 77 5.1 Parameterizedgraphfamilies...... 77 5.2 Getting more realistic: Fuzzy Graphs ...... 82

6 Conclusions 85

Part II 107

7 Paper I

8 Paper II

9 Paper III

10 Paper IV

11 Paper V Part I

Chapter 1

Introduction

This thesis consists of two parts. In the second part the research papers that constitute the new results of the thesis are presented. In this first part we want to put these results in a broader perspective and provide a better background on the general topic of graph modification problems. When speaking about graph modification problems, we mean problems con- cerned with deleting or adding edges or vertices from and to a graph, so that the resulting graph has some specified properties. As graphs can be used to represent various real world and theoretical structures, it is not difficult to see that these modification problems can model a large number of practical applications in sev- eral different fields. Some examples are: networks reliability; numerical algebra; molecular biology; computer vision; and relational databases. It is thus natural that such problems have been widely studied, but often presented in different terms and contexts, so that similar results have been rediscovered independently several times. This is one of the reasons why we want to give an organized presentation of all these different, but sometimes equivalent, works. In Chapter 2 we give basic notation and definitions about and graph classes. Chapter 3 consists of a brief survey of complexity results, with some discussion of the main motivations behind graph modification problems. In Chapter 4 we provide a more technical insight of various methods used to attack these problems, with special focus on those related to the papers that constitute the second part of this thesis. One main approach (Chapter 4.2) consists in relaxing the objective function and asking for a minimal, rather than a minimum, set of edges or vertices that when added or deleted to/from a graph gives the desired property on the graph. Another one (Chapter 4.3) consists in designing algorithms that are optimized for instances of the problem that can be solved by applying a small amount of modifications. Finally in Chapter 5 we describe two special kinds of graph families on which modification problems have not been studied extensively yet. We give some introductory discussion on the properties of these families and some basic results. Our aim is to point out their connection

3 4 with graph modification problems, and why we think they are worth investigating from this specific point of view. Five papers that the author produced during his PhD studies and that form the second part of this thesis, are the following.

• Paper I [130]: Minimal Completion of Graphs. Pinar Heggernes and Federico Mancini. (Accepted for publication in Disc. Appl. Math.) This paper deals with the problem of adding an inclusion minimal set of edges to a graph, in order to obtain a split graph. We give an algorithm that solves this problem in time linear in the size of the input. In addition we show that split graphs are sandwich monotone, and, as a consequence, the Minimal Split Extraction problem can be solved in linear time as well.

• Paper II [131]: Minimal Comparability Completions of Arbitrary Graphs. Pinar Heggernes, Federico Mancini, and Charis Papadopoulos. (Disc. Appl. Math. 156(1):705–71, 2008.) Here we show that the Minimal Comparability Completion problem is poly- nomial time solvable. The result is interesting considering that comparabil- ity graphs do not have the sandwich monotone property. This gives, in fact, further indication that completion problems into graph classes without this property, are harder to solve.

• Paper III [178]: Characterizing and Computing Minimal Completions. Daniel Lokshtanov, Federico Mancini and Charis Papadopoulos. (The short version of this paper appeared in Springer LNCS Proceedings of FAW’08.) The aim of this work is to characterize minimal cograph completions in order to design an efficient algorithm for the minimality testing. We accomplish this showing that testing whether a cograph completion is minimal, and computing a minimal cograph completion of an arbitrary input graph, can be done in time linear in the size of the completion.

• Paper IV [179]: Minimum fill-in and of split+kv and +ke graphs. Federico Mancini (The short version of this paper appeared in Springer LNCS Proceedings of ISAAC’07.) A parameterized graph class Π+kv is the class consisting of all graphs that can be obtained from some graph in the class Π by adding at most k 5

vertices to it. We study the of Minimum Fill-in and Treewidth on Split+kv graphs, when the parameter is k. We get the surprising result that, when k = 1, Minimum Fill-in is NP-complete, while Treewidth can be solved in linear time.

• Paper V [20]: Clustering with partial information. Hans L. Bodlaender, Michael R. Fellows, Pinar Heggernes, Federico Mancini, Charis Papadopoulos and Frances Rosamond. (The short version of this paper has appeared in Springer LNCS Proceed- ings of MFCS’08.) In this paper we consider graphs that lack some information and we inves- tigate the parameterized complexity of some clustering problems on them. The lack of information is represented in the form of undetermined edges, that can be freely turned into either edges or non-edges. This adds a new level of difficulty to the problems, but also makes the model more realistic. We propose some natural parameters to cope with the hardness deriving from the lack of information, and show various complexity results depending on which parameters are used. 6 Chapter 2

Notation and definitions

A simple and undirected graph G is as a pair (V, E) where V is the set of vertices, E ⊆ V × V the set of edges, and two vertices u, v ∈ V have an edge between them, or are said to be adjacent, if and only if uv ∈ E. If uv∈ / E, we say that uv is a non-edge. If the edges have a direction, then we call each of them an arc and the graph is directed. In that case we denote them as (x, y) ∈ E if the direction is from x to y or (y, x) ∈ E otherwise. If there is more than one edge, or arc, between the same pair of vertices, these are called parallel edges, and the graph is not simple anymore. For a graph G =(V, E), we let n = |V | and m = |E|. The set of neighbors of a vertex v ∈ V , namely its neighborhood, is denoted by NG(v) = {u | uv ∈ E}, and the degree of a vertex v is denoted by dG(v) = |NG(v)|. We also define NG[v]= NG(v) ∪{v}, the close neighborhood of v. We will not use any subscript when there is no risk of ambiguity.

A subgraph of G = (V, E) is a graph G1 = (V, E1) with E1 ⊆ E. Similarly a supergraph of G = (V, E) is a graph G2 = (V, E2) with E2 ⊇ E. We will denote these relations informally by the notation G1 ⊆ G ⊆ G2 (proper subgraph relation ′ ′ ′ is denoted by G1 ⊂ G). A partial subgraph is, instead, a graph G =(V , E ) such that both V ′ ⊆ V and E′ ⊆ E. Keeping in mind this distinction, one may find that what we call a “subgraph”, is sometimes defined as a “spanning subgraph” in the literature. We distinguish between subgraphs and induced subgraphs. An induced sub- graph of G =(V, E) is a graph G′ =(V ′, E′), where V ′ ⊂ V and E′ = {uv | uv ∈ E ∧ u, v ∈ V ′}. We denote such by G[V ′], or, if V ′ = V \{x}, by G − x. A graph H is a minor of another graph G, if it can be obtained by edge contraction from some partial subgraph of G. Contracting an edge uv means to replace the vertices u and v with a new vertex x, such that N(x)= N(v) ∪ N(u). The complement of G = (V, E) is denoted by G = (V, E), where E = {uv |

7 8 u, v ∈ V ∧ uv∈ / E}. A graph is said to be connected if there exists a path connecting any two ver- tices of the graph. If a graph is disconnected, we refer to each maximal connected induced subgraph as a connected component of the graph. Let us now define some types of vertex sets. Given a graph G = (V, E), we call a set of vertices S ⊆ V a clique if G[S] is a complete graph, i.e., a graph with an edge between every pair of vertices. Similarly we call S an independent set, if G[S] is an edgeless graph. The dual of an independent set, is called a vertex cover. That is, a set S is a vertex cover, if V \ S is an independent set. In other words, every edge of the graph has at least one end-point in S, i.e., it is ”covered” by S. A close concept is that of a , namely a set that ”covers” all vertices of the graph. Formally, a set S is a dominating set of G if N[S] = V . A set S ⊂ V is said to be a separator for two vertices u, v ∈ V \ S, or a u, v-separator, if u and v belongs to two different connected components of G[V \ S]. Furthermore, S is a minimal u, v-separator, if no proper subset of S is a u, v-separator. Finally a set S is a minimal separator of G, if there exists at least two vertices u, v such that S is a u, v-minimal separator. This notation is sufficient to start defining the graph modification problems that we will study. Let us first point out that saying that a graph has a certain property is equivalent to saying that it belongs to a certain graph class. In fact, every graph property defines a graph class, namely the set of graphs that satisfy the property. Therefore we will frequently say both that a graph satisfies the property Π or that it belongs to (the class) Π, without explicitly distinguishing between the two. Given a property (graph class) Π, we define the following four graph modification problems. • Π-Completion: Add a set of edges F to an input graph G = (V, E), so that the resulting supergraph H =(V, E ∪ F ) has the property (belongs to) Π and E ∩ F = ∅. The graph H is also called a Π-completion of G, and the edges in F are referred to as fill edges. • Π-Deletion: Remove a set of edges F from an input graph G =(V, E), so that the resulting subgraph H = (V, E \ F ) has the property (belongs to) Π. The graph H is also called a Π-deletion of G, and the edges in F are referred to as deleted edges. • Π-Editing: Find a set of edges and non-edges F such that given an input graph G =(V, E), the graph H =(V, (E \ F ) ∪ (F \ E)) has the property (belongs to) Π. • Π-Vertex Deletion: Given an input graph G =(V, E), find a set V ′ ⊂ V such that the resulting induced graph H = G[V \ V ′] has the property (belongs to) Π. 9

The problems stated in this form are not really interesting, because we do not have a proper objective function to optimize, and the answer might become triv- ial. For example, for most graph classes for which the Π-Completion problem is interesting, the complete graph is always a valid Π-completion of the input graph. The same is true about the edgeless graph for the Π-Deletion problem. The most natural parameter one might want to optimize, in particular minimize, is the num- ber of modified edges or vertices, i.e., |F | or |V ′|. In this case we call them the Minimum Π-Completion/Deletion/Editing/Vertex Deletion problem. Notice that rather than minimizing the added or deleted edges or vertices, we can reformulate the problems equivalently, so that the objective function is the size of the resulting graph. That is:

• Minimum Π-Completion ≡ Minimum Π Supergraph: Find the small- est supergraph with the property Π.

• Minimum Π-Deletion ≡ Maximum Π Subgraph: Find the biggest subgraph with the property Π.

• Minimum Π-Editing ≡ Closest Π Graph: Find the graph with the property Π that differ in the minimum number edges and non-edges.

• Minimum Π-Vertex Deletion ≡ Maximum Π Induced Subgraph: Find the biggest induced subgraph with the property Π.

In Figure 2.1, we give an example of these problems. Notice that from the point of view of an optimal solution, the two formulations of each problem are completely equivalent, but they might lead to different results when considering them, for instance, from a parameterized point of view (see Chapter 4.3). Also other combinations of the modifications can be considered, like for ex- ample vertex and edge deletion, i.e., finding the maximum partial subgraph with a certain property. However we will focus only on the ones defined above. Throughout this work, we will consider many graph classes. For this rea- son, in the next section we describe the most relevant ones, giving one or more characterizations for each of them.

2.1 Graph classes

First we introduce some general notions, and then we describe in detail the graph classes most relevant to this work. A property is said to be non-trivial if it holds for at least one graph, but not for all graphs, while it is said to be interesting if there are infinite families of graphs for which it is true, and infinite families of graphs for which it is false. A monotone property is a property preserved under deletion of edges and vertices. Hence a 10

INPUT GRAPH

MINIMUM MINIMUM CHORDAL DELETION

MINIMUM MINIMUM CHORDAL CHORDAL EDITING VEREX DELETION

Figure 2.1: The property Π that we want the modified graph to have, is that of being chordal (see Chapter 2.1.1), i.e., the graph does not contain induced chordless cycles of length 4 or more. The dashed edges represent fill edges. 11 graph class is monotone if every partial subgraph of a graph in the class, is also in the class. Bipartite graphs (Chapter 2.1.1) and planar graphs (Chapter 2.1.2), for example, are monotone. If a property is preserved under vertex deletion, it is called hereditary. A graph class is hereditary if given a graph in the class, every induced subgraph is also in the class. Clearly every monotone property is also hereditary, but not vice versa. For example, complete graphs are hereditary, but not monotone. Another useful way to look at hereditary graph classes is the following characterization.

Theorem 2.1.1 ([43]) A graph class Π is hereditary if and only if it can be characterized by a (possibly infinite) set of forbidden induced subgraphs F .

When we characterize a hereditary graph class Π by the set of its forbidden subgraphs F = {F1, F2,...}, we say that Π is the class of (F1, F2,...)-free graphs. An example of property that is neither hereditary nor monotone is connectivity. Even though a graph is connected, it might have disconnected induced or partial subgraphs. The graph classes we are going to present can be separated into two main cat- egories: perfect graphs and their subclasses, and not perfect graphs. For proofs, more details on properties and characterizations of perfect and other graphs, we refer the reader to the books by: Golumbic [107]; Brandst¨adt, Le and Spinrad [36]; and McKee and McMorris [186]. Since all results we cite in this chapter are collected in the above mentioned books, we will not give specific references for each result. Before continuing, we define some basic graph names. A path on k vertices is denoted by Pk, similarly Ck is the chordless cycle on k vertices, and Kk is the complete graph on k vertices. Let us recall that saying that a graph contains a path or a cycle as a subgraph, is different from saying that it contains an or cycle. For instance, a complete graph contains every graph (on at most the same number of vertices) as a subgraph, but only complete graphs as induced subgraphs. Other basic graphs are given in Table 2.1. We will often mention that some graphs are defined as intersection graphs of a family of sets. This means that the graph is obtained by representing each set of the family by a vertex, and has an edge between two vertices if and only if their corresponding sets intersect. Finally, two graphs G and H are isomorphic if there is a bijection f : V (G) → V (H), such that two vertices u, v ∈ V (G) are adjacent if and only if the vertices f(u) and f(v) are adjacent in H. In other words the two graphs are identical, but the vertices are labeled differently. 12

BASIC GRAPHS PATHS

P2 = K2 P3 P4 = P4 P5 Pk

CLIQUES 2K2 K3 K4 K5 Kk

CYCLES HOLES

- C3 C4 = 2K2 C5 = C5 Ck

CHORDAL AT’S 1 k k T2 NET=XF2 X31 XF2 (k > 0) XF3 (k ≥ 0)

1 2 k+1 1 2 k+1 WHEELS COMPLETE BIPARTITE W3 W4 Wk (k ≥ 5) K3,3 Kn,m 1 1 2 n m SUNS 0 - S3 = XF3 S4 S5 Sk

STARS OTHERS

CLAW=K1,3 k-=K1,k GEM HOUSE=P5 DOMINO 2

1 3 k Table 2.1: Some basic graphs. 13

FORBIDDEN SUBGRAPHS OF COMPARABILITY GRAPHS Forbidden Graphs Complements of Forbidden Graphs

Table 2.2: This list is taken from [37]. The graphs on the left are some forbidden induced subgraphs of comparability graphs, while the graphs on the right are the complements of the remaining forbidden induced subgraphs of comparability graphs.

2.1.1 Perfect graphs and their subclasses

A graph G is perfect if for every induced subgraph H, the chromatic number χ(H) equals the size of the largest complete subgraph ω(H). The chromatic number of a graph is the minimum number of colors that can be assigned to the vertices of a graph, so that no two adjacent vertices have the same color. Usually the size of the maximum clique of a graph is only a lower bound for the chromatic number, and it is NP-complete to decide whether a graph can be colored with k colors, even when k is a fixed constant greater than 2 [102]. Perfect graphs have the useful property that both maximum clique size and chromatic number can be found in polynomial time [115]. Only very recently it was proved that perfect graphs are exactly Berge graphs, i.e., the graphs that do not contain odd holes or anti-holes [60]. An hole is an induced cycle on at least 5 vertices, and an anti-hole is simply the complement of a hole. So perfect graphs are the (C2k+1, C2k+1)-free graphs for every k > 1. This implies that the complement of a perfect graph is also perfect, that is, this is a self-complementary graph class. Therefore also a maximum independent set can be found in polynomial time on perfect graphs, as it is a maximum clique in the . 14

Perfect graphs are so interesting and well studied, that most of the other classes presented here, are actually subclasses of perfect graphs (see Fig. 2.2 for an overview).

Comparability graphs Given a graph with directed edges, we say that it is transitive if, whenever (x, y) and (y, z) are arcs of the graph, also (x, z) is an arc. Comparability graphs are the class of undirected graphs for which there exists a transitive orientation of their edges, and they are also called transitively orientable graphs. The set of forbidden induced subgraphs that characterize them, is also known thanks to a notable paper by Gallai [99]. We report them in Table 2.2, to give an example of class for which the set of induced forbidden subgraphs is not finite, and definitely not trivial to obtain. The class of co-comparability graphs, is the family of graphs whose com- plement is a comparability graph. d-Trapezoid graphs d-Trapezoid graphs are a subclass of co-comparability graphs. They are defined as intersection graphs of d-trapezoids, where a d-trapezoid is a polygon defined by intervals of d parallel lines. More specifically, take d parallel lines ordered from 1 to d, and an interval on each of them. Then, for each 1 ≤ i ≤ d − 1, connect the left(/right) endpoint of the interval on line i to the left(/right) endpoint to the interval on line i + 1 to get the trapezoid. Each d-trapezoid is a vertex of the graph, and two vertices are connected if the corresponding trapezoids intersect in some of the intervals that define them. One useful property of this graphs is that they have at most O(2n − 3)d minimal separators.

Permutation graphs Permutation graphs are a subclass of comparability graphs. In particular they are the graphs that are both comparability and co-comparability. Therefore they are a self-complementary graph class, and their forbidden subgraphs are those for comparability graphs, union the corresponding complement graphs. The name permutation comes from the definition of this graph class. Consider −1 a permutation π of the numbers 1, 2, 3,...,n, such that πi is the position in π where number i can be found. So for example, given π = {4, 3, 1, 2, 5}, we would −1 −1 −1 have that π3 = 2, π5 = 5, π1 = 3 and so on. Now let us define G[π]=(V, E) as the undirected graph with vertices labeled V = {1, 2, 3,...,n} and ij ∈ E if the biggest between i and j appears on the left of the other one in π. More −1 −1 formally, ij ∈ E if (i − j)(πi − πj ) < 0. Then an undirected graph G is called 15 a , if there exists a labeling of its vertices V = {1, 2, 3,...,n} and a corresponding permutation π such that G is isomorphic to G[π]. By using a graphic interpretation of the permutation defining a permutation graph, it is straigthforward to see that permutation graphs are also a subclass of 2-trapezoid graphs. Take two parallel lines and choose the intervals on each line as single points. On one line we choose the intervals Ii = {i}, and on the second line we have the intervals Ji = {π(i)}.

Weakly Chordal graphs

A graph G is weakly chordal if neither G nor G contain an induced cycle Ck with k ≥ 5. That is, they are exactly the graphs that do not contain holes and anti-holes, i.e., the (Ck, Ck)-free graphs for k ≤ 5. Hence they are also self-complementary.

HHD-free graphs The HHD-free graphs, are the graphs that do not contain a house, holes or domino as induced subgraphs. Since the complement of the house is a P5, and the complement of a C5 is a C5, the complement of a HHD-free graph cannot contain holes either. Hence this class form a subclass of weakly chordal graphs.

Distance Hereditary graphs A graph is called distance hereditary if it is connected and every induced path is isometric; that is, if the distance function in every induced subgraph of G is the same as in G itself. In other words, if every induced path, is a shortest path. The forbidden induced subgraphs characterization of this class, shows that distance hereditary graphs form a subclass of HDD-graphs. They are, in fact, the house, holes, domino and gem free graphs, or HDDG-free graphs.

Chordal graphs

A graph G =(V, E) is chordal if it does not contain any induced Ck with k ≥ 4, or, equivalently, every cycle has a chord. Many other characterizations are known for this well studied graph class, but we will give only the most relevant to our work. In order to do this, we need to introduce some more definitions. A vertex v is said to be simplicial if N[v] is a clique. A perfect elimination order of a graph G = (V, E), is an ordering β = {v1, v2,...,vn} of its vertices, such that vi is a simplicial vertex in G[{vi, vi+1,...,vn}] for each 1 ≤ i ≤ n. It turns out that a graph is chordal if and only if it has a perfect elimination ordering. 16

Another characterization that is central in graph modification problems into chordal graphs, involves the minimal separators of a graph: A graph is chordal if and only if all its minimal separators are cliques. Since do not contain C4’s and holes, they can not contain the domino and the house either, therefore they are also HDD-graphs.

Strongly Chordal graphs Strongly Chordal graphs are a proper subset of the class of chordal graphs. They are defined as the chordal graphs where every cycle C of even length at least 6 has a chord that divides C into two odd paths. They also have a nice characterization through forbidden subgraphs. They are, in fact, the chordal graphs that do not contain k-suns (also called trampolines) as induced subgraph (see Table 2.1).

Interval graphs are a very important subclass of chordal graphs, or better, of strongly chordal graphs. They are defined as the graphs that can be represented as intersection of intervals on the real line, from which the name. More formally a graph G =(V, E) is interval if there exists a set of closed intervals on the real line {[i1, j1], [i2, j2],..., [in, jn]}, where each [ik, jk] is associated to a vertex vk ∈ V , and there is an edge vsvt ∈ E if and only if [is, js] and [it, jt] intersect. Their forbidden induced subgraphs characterization is also known. All the forbidden subgraphs are represented in Table 2.1, and they are Ck for k> 3, T2, k k X31, XF2 and XF3 . One more characterization that might be interesting, is that interval graphs are exactly the chordal graphs whose complement are comparability graph. More specifically, they are exactly 1-trapezoid graphs.

Proper and Unit Interval graphs Proper interval graphs are the interval graphs that admit an interval representation such that no interval is properly contained in some other interval. Unit interval graphs are those that admit an interval representation where all intervals have the same length. It turns out that this two classes actually coincide. This graph class can be characterized as the claw-free interval graphs.

Split graphs Split graphs are yet another subclass of chordal graphs, but incomparable to both interval and strongly chordal graphs. They are defined as the graphs whose vertex set can be partitioned into a clique and an independent set (not necessarily in a unique way). They can also be characterized by a forbidden set of induced 17 graphs, but differently from interval and chordal graphs, this set is finite. It consists, in fact, of only three graphs: C4, C5 and 2K2. Since C5 = C5, C4 =2K2 and 2K2 = C4, split graphs are self-complementary. Another way to see this, is that a graph G is a split graph if and only if both G and G are chordal.

Cographs

Cographs are one of the classes that have several different characterizations, dis- covered often independently and in different fields. We are interested mainly in three of them. They are the graphs that can be obtain by two basic operations through the following recursive definition:

• A vertex is a cograph.

• If G1 and G2 are cographs, then G3 = G1 ∪ G2 is also a cograph.

• If G1 and G2 are cographs, then G3 = G1 + G2 is also a cograph.

The “+” is an operation that consists in adding all edges between the vertices of G1 and G2. This operation was initially replaced with complementation, that is:

• If G is a cograph, then also G is a cograph.

The equivalence is straightforward since if a cograph can be built by using the + operation, then it can be built using the complement and the union operation as well: G1 + G2 = G1 ∪ G2. The second characterization we report is through forbidden induced sub- graphs. Cographs are exactly the P4-free graphs. The last characterization we are interested in, is the following. A graph G = (V, E) is a cograph if and only if for each V ′ ⊆ V such that |V | > 1, either G[V ] or G[V ] is disconnected. Connected cographs are distance-hereditary graphs.

Trivially perfect graphs

Trivially perfect graphs are the cographs that are also chordal. In other words they are P4 and Ck free for k > 3. However, as every chordless cycle on at least 5 vertices contains a P4, this is exactly the class of (P4,C4)-free graphs. 18

Threshold graphs The name of his class is due to the following definition. A graph is a threshold graph if there is a real number s (the threshold) and for every vertex v there is a real weight av such that: vw is an edge if and only if av + aw ≥ s. A more intuitive characterization is that threshold graphs are exactly the graphs that are both split graphs and cographs. Hence they are exactly the (P4,C4, 2K2)-free graphs. However, since split graphs are also chordal, threshold graphs are actually a subclass of trivially perfect graphs. As they are split graphs, their vertex set can be partitioned into a clique and an independent set, but, in addition, the neighborhood of the independent set has to have the special property of being orderable by inclusion. That is, there is an ordering {v1, v2,...,vl} of the vertices of the independent set, such that N(vi) ⊆ N(vi+1) for each 1 ≤ i ≤ l − 1.

Cluster graphs Cluster graphs are defined as the graphs that are a disjoint union of cliques. With this we mean that every connected component of the graph is a clique. As they are exactly the P3-free graphs, they do not contain P4’s, and therefore they form a subclass of cographs.

Bipartite graphs This class is somewhat similar to split graphs as the graphs belonging to it, are exactly the graphs whose vertex set can be partitioned into two independent sets. For this reason, a bipartite graph G = (V, E), is often defined as G = (A ∪ B, E), where A and B are the two independent sets V can be partition into, or bipartitions. They are also known as 2-colorable graphs, and odd cycle free graphs, i.e., C2k+1-free graphs for k ≥ 1. Many classes are defined as the intersection of bipartite graphs and some other class. For example: Bipartite distance hereditary graphs are the graphs that are both bipartite and distance hereditary. Bipartite permutation graphs are the graphs that are both bipartite and permutation. And so on. Other such classes are listed independently.

Chordal bipartite graphs Chordal bipartite graphs, are the intersection class of weakly chordal and bipartite graphs. In other words they are the bipartite graphs that do not contain induced cycles on more than 4 vertices. However, in contrast with the name, these graphs are not chordal, because they can contain C4’s. 19

The name comes from weakly chordal graphs and the many similarities with chordal graphs, and analogous applications to matrices. For example a graph is chordal bipartite if and only if every minimal separator is a complete bipar- tite graph, and it is possible to define chordal bipartite graphs through special elimination orderings as well. This class also contains as a subclass, the bipartite permutation graphs.

Chain graphs Chain graphs are for bipartite graphs, what threshold graph are for split graphs. A graph is a chain graph if and only if it is bipartite and the vertices of each independent set are orderable by neighborhood inclusion.

Forests and trees A forest is a graph that does not contain any cycle, and trees are connected forests. So another way to see a forest is as the union of disjoint trees. Notice that there is a big difference between these two classes in terms of being hereditary or not. Forests are both monotone and hereditary, trees are neither of them. Removing an edge or a vertex from a might create a forest, not necessarily a tree. The vertices of degree 1 in a forest are called leaves. As forests can be defined as the Ck-free graphs with k > 2, they are also chordal and bipartite graphs. Trees are also distance hereditary graphs.

Caterpillars A caterpillar is a special tree, such that if we remove all the leaves, we are left with a path. A generalization of caterpillars is obtained allowing paths attached to the vertices of the main path, rather than just leaves. These paths are called hairs. So a caterpillar with hair length at most k consists of a main path with paths of length at most k attached to the vertices of the main path. Caterpillar can be seen also as the trees that are interval graphs. Therefore, interval bipartite graphs are actually forests of caterpillars.

2.1.2 Other graph classes Planar graphs Loosely speaking, planar graphs are the graphs that can be drawn on the plane so that no two edges cross each other. However the most famous characterization of this graph class is through forbidden minors. Planar graphs are exactly the graphs that do not contain K5 and K3,3 as minors. 20

AT-free graphs

We say that three vertices {x1, x2, x3} form an asteroidal triple or AT in a graph G, if there exists a path Pij from xi to xj, such that N[xk] ∩ Pij = ∅ for each i =6 j =6 k and 1 ≤ i, j, k ≤ 3. That is, we can go from any of the three vertices to another of them, without passing through the neighborhood of the remaining one. AT-free graphs are the graphs that do not contain AT’s as induced subgraphs. In Table 2.1 there are some examples of asteroidal triples. Let us note that a C5 does not contain AT’s, so AT-free graphs are not a subclass of perfect graphs, however they contain many subclasses of perfect graphs. For example, co-comparability graphs, permutation graphs, interval graphs, cographs and co- bipartite graphs. About this last class, notice that the complement of bipartite graphs consist of two cliques with some edges in between, hence they cannot contain independent set of size more than 2, and consequently asteroidal triples.

Circle graphs

Circle graphs are a superclass of permutation graphs and distance hereditary garph, but they are not perfect. In fact, they are the intersection graphs of chords of a circle, and therefore any cycle is a circle graph. A chord of a circle is a straight line that joins any two points of the circle. They are also exactly the graphs that are k-polygon graphs for some k. A k-polygon graph, is the of chords of a polygon with k sides. It will be useful to know that distance hereditary graphs are a subclass of circle graphs.

Circular arc graphs

This graph class is defined similarly to interval graphs, but it is more general. Circular arc graphs are the intersection graphs of a family of closed arcs of a circle, or, equivalently, of a family of connected subgraphs of a cycle. Clearly interval graphs are circular arc graphs, but not vice-versa. Actually circular arc graphs are not even perfect, because any chordless cycle is a circular arc graph, including the odd-length ones. Another similarity with interval graphs is that we can define proper and unit circular arc graph analogously to proper and unit interval graphs. However, in this case, the two classes are not equivalent. Unit circular arc graphs are a subclass of the proper circular arc graphs. Furthermore, unit circular arc graphs are a subclass of circle graphs, and contain proper interval graphs. 21 k-Connected graphs A graph G is k-connected if the minimum number of vertices that must be re- moved to make G disconnected is at least k. In this sense, every connected graph is at least 1-connected. A similar class of graphs can be defined when removing edges rather than vertices to disconnect the graph. If the minimum number of edges that must be removed to make G disconnected is at least k, then we say that the graph is k-edge connected. To avoid confusion we will sometimes refer to k-connected graphs as k-vertex connected graphs. Let us note that this classes are neither hereditary nor monotone. 22 CHORDAL STRONGLY INTERVAL PROPER INTERVAL CHORDAL HHD−free CHORDAL WEAKLY SPLIT CIRCULAR COCHORDAL ARC UNIT ARC CIRCULAR PROPER PERFECT ARC CIRCULAR CLUSTER THRESHOLD RABILITY CO−COMPA−

d−TRAPEZOID TRIVIALLY PERMUTA AT−FREE PERFECT COGRAPH TION COMPARA− BILITY CIRCLE TREES FOREST BIPARTITE PILLARS CATER− BIPARTITE PERMUT. BIPARTITE CHORDAL DISTANCE HEREDIT. CHAIN DIST. HER. BIPART.

Figure 2.2: This diagram represents the inclusion relations among the graph classes we described in Chapter 2.1. An arrow from class A to class B means that B ⊂ A, and if there are arrows from two classes A and B to a class C, it means that C ⊆ A ∩ B. The thicker ovals, represents the classes that are not perfect. Chapter 3

Practical applications of graph modification problems

Many fundamental problems in graph theory can be expressed as graph modi- fication problems. Already in the classic book of Gary and Johnson [102] (Sec. A1.2), 18 graph modification problems were explicitly mentioned, and many oth- ers can be easily reformulated as such. For instance, the Connectivity problem is the problem of finding the minimum number of vertices or edges that disconnect the graph when removed from it. The Maximum Induced Matching problem, the Vertex Cover problem, the Maximum and the Feedback Vertex Set problem can be seen as the problems of removing the smallest set of vertices from the graph to obtain respectively, a collection of disjoint edges, an indepen- dent set, a complete graph and a forest. With time, the number of interesting graph modification problems increased dramatically, and in this section we give an overview of some of them. First we consider graph modification problems where the goal is the most natural, namely that of minimizing the number of modifications. Then we sur- vey also graph modification problems where other parameters are sought to be optimized, or some restrictions are applied. Notice that we examine in detail only the classes for which there are practi- cal applications that can be reformulated directly as some modification problem into one of these classes. This does not mean that the other graph classes we mentioned in the previous chapter are uninteresting from this point of view. For any graph class that has some useful application, it is natural to wonder whether general graphs can be turned into it by some modifications. As we will see later, in fact, investigating graph modification problems often led, for instance, to the discovery of new and very useful structural properties and characterizations of the graph class in question. These new tools were then used to produce new and more efficient algorithms for specific practical problems related to this graph class.

23 24

3.1 Minimizing the number of modifications

In this section we will focus on problems that can be generally classified as Mini- mum Graph Modification problems, i.e., modification problems where the goal is to minimize the number of modifications. Before describing in detail the practical motivations that lay behind their study, we would like to summarize some general complexity results. In the late 1970’s a lot of effort was put into establishing the general com- plexity of large families of problems, rather than considering only one specific problem at the time. Graph modification problems are one of the families that were investigated. As most interesting graph properties are hereditary, the efforts were particularly concentrated on proving results for graph modification problems into hereditary graph classes. Vertex Deletion problems turned out to be the best candidate for this kind of investigation, and in a series of subsequent papers, the following theorem was derived by Yannakakis and Lewis.

Theorem 3.1.1 ([247, 174, 173]) For every non-trivial interesting hereditary property Π, finding the largest induced subgraph with property Π is NP-hard.

Thanks to this very general theorem, the complexity of the Minimum Π-Vertex Deletion problem was settled for all hereditary properties. This theorem was later extended to take into consideration one more requirement on the induced subgraph, connectivity.

Theorem 3.1.2 ([248]) For every non-trivial interesting property Π that holds on every connected induced subgraph, finding the largest connected induced sub- graph with property Π is NP-hard.

This implies that finding a maximum connected subgraph with a property Π is NP-hard not only for all hereditary properties Π, but also some other properties Π that are not hereditary. For example, trees and stars are not hereditary, but every connected induced subgraph of a tree is a tree and every connected induced subgraph a star is a star. Hence removing the minimum number of vertices to obtain a tree or a star is NP-hard as well by Theorem 3.1.2, even though this did not follow directly from Theorem 3.1.1. For the Minimum Π-Deletion problem, there are no such general results, as it seems to be easier than the Vertex counter part for some non-trivial and inter- esting hereditary properties Π. Consider, for instance, the property Π of being a forest. In this case the Minimum Π-Deletion problem would be equivalent to find- ing a maximum spanning tree of each connected component of the input graph. This problem is well known to be polynomial [64]. Consistently with Theorem 3.1.1, instead, it is NP-hard to find an induced forest by removing the minimum number of vertices, i.e., solving the Minimum Feedback Vertex Set problem. 25

There are, however some NP-hardness results for the Minimum Π-Deletion problem that hold for some quite large families of hereditary properties. The first result of this type is due to Asano and Hirata in 1982 [6], and it completes some previous partial results [250, 196]. They proved NP-hardness for a class of properties that can be characterized by certain forbidden minors. New results were added by Colbourn and El-Mallah in [63], the most relevant of which, to us, is the following.

Theorem 3.1.3 ([63]) Making a graph Pk-free by deleting the minimum number of edges is NP-hard for every k ≥ 3.

Theorem 3.1.3 implies that the Minimum Cluster and Cograph Deletion prob- lems are NP-complete. Recently another very general result for a large class of monotone properties was shown in [3], where the authors prove NP-hardness of the Minimum Π-Deletion problem for all monotone properties Π that are true for all bipartite graphs. An example is the property of being triangle-free.

Theorem 3.1.4 ([3]) Given a property Π such that Π holds for every bipartite graph, the Minimum Π-Deletion problem is NP-hard.

There is no general result known for editing problems, while we can consider the previous ones for edge deletion, somewhat valid for completions as well. No- tice that if deleting edges to obtain a graph with certain properties is NP-hard, then it follows that also adding the minimum number of edges to obtain the com- plement of this property is NP-hard. By Theorem 2.1.1, a hereditary property Π can be defined by a set of forbidden induced subgraphs F = {F1, F2,...,Fl}. So we define the complement Π of a hereditary property Π, as the property char- acterized by the set of forbidden subgraphs F = {F1, F2,..., Fl}. A property is invariant under complement, if Π = Π, i.e, if the corresponding graph class is self-complementary. Hence, by Theorem 3.1.3 it also follows that the Minimum Cograph Completion problem is NP-hard. The general motivation that links together most of the graph modification problems that we are going to present, is that many real world structures can be modeled as graphs, and there are some special properties that such structures should have in order to guarantee reliability, functionality or correctness. How- ever, as real instances are obtained through empirical methods, often they do not satisfy all the requirements the we expect them to have due to errors in data collections, loss of data, wrong measurements and so on. So, we might want to modify them as little as possible in order to fit the theoretical model as much as possible. Using the graph representation, this translates into minimum graph modification problems. 26

3.1.1 Chordal graphs

One of the oldest and most well known graph modification problems, explicitly stated as such, is probably that of making a graph chordal by using the min- imum number of fill edges possible, namely the Minimum Chordal Completion problem. This problem is also known with other names in the literature, like Minimum Triangulation and Minimum Fill-in. Triangulating a graph, in this case, means making an arbitrary graph chordal, and refers to the fact that the smallest induced cycles in a chordal graph are triangles. It has nothing to do with the, probably better known, problem of triangulating planar graphs, i.e., adding edges to a so that each face is a triangle. In Figure 3.1.1, we show the difference between the two definitions. The name Minimum Fill-in actually refers to the original problem that started the study of chordal completion, i.e., the Gaussian elimination method for sparse matrices. Gaussian elimination is a method used to solve systems of linear equations by repeatedly manipulating the matrix representing the system. However this process can turn zero entries of the matrix into non-zeros entries, called fills, increasing the space required to store the matrix. It is therefore desirable to minimize the number of fills produced dur- ing the process, especially when the original matrix is sparse, i.e., contains many zero entries. It was shown in [211] that if we consider the matrix representing the system as the of a graph G = (V, E), then the Gaussian elimination process is equivalent to the Elimination Game on G.

Given an ordering α = {v1, v2,...,vn} of the vertices in V , the Elimination Game consists in removing the vertices from the graph in the given order, so that before each removal, the neighborhood of the removed vertex in the current graph is made into a clique by adding fill edges. It was proved in [97] that the graph resulting from the addition of these edges to G, is always chordal. Furthermore, in the same paper it is also proved that the set of graphs that can be produced by the Elimination Game, is exactly the class of chordal graph. Hence, minimizing the fill produced during the Gaussian elimination of a matrix, is equivalent to making the corresponding graph chordal by adding minimum number of fill edges. Later also other applications of chordal completions were found in relational databases [239], computer vision [61] and expert systems [170]. The Minimum Fill-in problem was proved NP-complete by Yannakakis in [249] as an independent result, showing that the problem remains NP-complete also when the input is the complement of a bipartite graph. Actually this result implies that also the Minimum Chain Completion of bipartite graphs and the Minimum Interval, Proper Interval and Trivially Perfect Completion problems are NP-complete, because they are all equivalent to Minimum Fill-in when the input is a co-bipartite graph (see Theorem 4.2.3). As we will see in the next section, the NP-completeness of some of these problems has been proved independently as well. 27

Also for the Minimum Chordal Deletion problem some practical application has been proposed. For example as a heuristic to solve the Maximum Clique problem, since a maximum clique in a chordal graph can be found in linear time. Unfortunately also this problem is NP-complete [201], along with Minimum Chordal Editing [229].

e

b c

a d

e e

c b b c

a d a d

Figure 3.1: Here we can see the difference between a minimum triangulation (on the left) and a planar triangulation (on the right) of the same input graph (on the top). In the input graph there is only one C4 induced by the vertices {a,b,c,d}, so it is enough to add the fill edges ac (or bd) to make it chordal. This does not make the graph have all faces as triangles, since now the external face is defined by {a, b, e, c}. On the other hand, the external face of the input graph consists of 5 vertices, so we need to add ea and ed to make all faces into triangles. Notice that this does not destroy the C4, so the resulting graph is not chordal.

3.1.2 Interval graphs The most well known motivation for Minimum Interval Modification problems, comes from molecular biology, and it is one of the main reasons why interval graphs started being studied in the first place. In a paper from 1959 [14], Benzer first gave strong evidences that the collection of DNA composing a bacterial gene was linear, just like the structure of the genes themselves in the chromosome. This linear structure, could be represented as overlapping intervals on the real line, and therefore as an interval graph. However, mapping of the genetic structure is done by indirect observation. That is, such linear structure is not observed directly, but it is inferred by how various fragments of the original genome can be recombined. In order to study various properties of a certain DNA sequence, the original piece of DNA is fragmented into smaller pieces. This fragments are then cloned many 28 times using various biological methods, and take the name of clones. In this process the position of each clone on the original stretch of DNA is lost, but since usually many copies of the same piece of DNA are fragmented in different ways, some clones will overlap. The problem of reconstructing the original arrangements of the clones in the original sequence is called physical mapping of DNA. Deciding whether two clones overlap or not is the critical part where errors may arise, since it is a process based on partial information. We know that once we decide an arrangement of these clones consistent with the overlapping, the resulting model should represent an interval graph. However, there might be some false positive or false negatives, due to erroneous interpretation of some data. Correcting the model to get rid of inconsistencies is then equivalent to remove or add edges to the graph representing the dataset, so that it becomes interval. Of course we want to change it as little as possible. When all the clones have the same size, i.e., the DNA sequence has been fragmented in equal parts, the resulting graph should be not only interval, but proper interval. All these problems were shown NP-complete. It was noted in [106] that the NP-completeness of Minimum Interval and Proper Interval Completion actually follows from the NP-completeness proof of the Chordal Completion problem [249], even though the result was independently proved also in [102, 155]. Other prob- lems to be shown NP-complete were the Minimum Interval and Proper Interval Deletion in [106], and the Minimum Interval and Proper Interval Editing in [41]. The Vertex Deletion version of the problem is also interesting for physical map- ping of DNA. In this case the assumption is that the errors may be caused by some clones that were corrupted during the cloning process, rather than by the overlapping. The NP-hardness of this problem follows directly from Theorem 3.1.1. Later another model for a different, more restricted, kind of physical mapping was proposed [114]. In this case we map two sets of clones that have a fix position on the original DNA sequence. However we do not know the relative order of the clones in each set, and we can deduce it only by looking at the overlapping between clones in different sets. This means that the corresponding overlapping graph will have to be both interval and bipartite. Additionally the authors pose as an open problem that of removing the minimum number of edges to make a graph consistent with this model, that is, the Interval Bipartite Minimum Deletion problem. This problem was also showed to be NP-hard [244], along with its editing version [62]. In this case it does not make sense to ask for completion. As reported in [41], there are cases in animals when bacterial DNA and cy- toplasmic DNA have closed circular form. Furthermore, giant DNA molecules in higher organisms form loop structures held together by protein fasteners in which each loop is largely analogous to closed circular DNA. This can motivate graph modification problems into circular-arc graphs and related subclasses. However, 29 also all the modification problems related to these classes are NP-complete as shown in [41, 229]. Other important problems equivalent to the Minimum Interval Completion problem include applications from sparse matrices and search games. During Gaussian elimination of sparse matrices, it is a standard procedure to permute the rows and columns of the matrix so that non-zero elements are gathered close to the main diagonal. This helps reducing the non-zero entries created during the elimination process [105]. The profile of a matrix is the smallest number of entries that can be enveloped within off-diagonal non-zero elements of the matrix. Translated to graphs, the profile of a graph G is exactly the minimum number of edges in an interval supergraph of G [237]. In [90], Golovach and Fomin show that the minimum number of fill edges needed to make a graph interval, is equal to the search cost of the graph. The search cost is defined as the minimum number of total steps that a group of searchers need to perform in order to clean a contaminated graph. A searcher can be placed or removed from a node. Initially all edges of a graph are contaminated, and an edge is “cleaned” when both its endpoints are occupied by a searcher. An edge e can be recontaminated if there is a path without any searcher leading from e to a contaminated edges.

3.1.3 Cluster graphs Another type of graphs that is widely used to represent special data sets are cluster graphs. Clustering information according to similarity is a daily process implied by many applications. An easy example comes from an area of artificial intelligence called text categorization. The aim of this field is to design systems that can automatically sort texts into categories, without knowing the definition of what the particular category actually is. To do this, the texts are compared with each other, and a probability that two text belongs to the same category is computed. Assume that we build a graph where the vertices are the texts, and there is an edge between two vertices if the corresponding texts have been found similar enough to belong to the same category. Now, the graph of an ideal solution, if we assume that each text belongs to exactly one category, would be one where all texts in the same category form a clique. However this is rarely the case, as the algorithm that compares the texts and decides which edges to put in the graph, is not perfect (or there would not be any problem). What we want to do at this point then is to remove and add the minimum number of edges, so that our graph becomes a collection of disjoint cliques, i.e., a cluster graph. This problem in graph theory takes the name of Cluster Editing, and it has been shown NP -hard in [228]. In our terminology, this is the Minimum Cluster Editing problem. We can, of course, also be concerned only with addition or deletion of edges, if 30 we consider models that admit only false negative or false relative respectively. In contrast to almost all other modification problems, even though the edge deletion version is NP-hard by Theorem 3.1.3, it is easy to see that adding the minimum number of edges to a graph to make it a cluster graph, is polynomial. The best possible solution is, in fact, to make each connected component into a clique.

The Cluster Editing problem arises naturally in so many practical situations, that it has been rediscovered and reproved NP-hard many times. For exam- ple its NP-hardness is already implicit in the results of [168], in the context of Hierarchical Tree Clustering.

In biology this problem arises when the expression levels of many genes are analyzed simultaneously and we want to group together the genes that manifest similar expression patterns. Clustering this data correctly is a key step in the analysis of gene expression data [13].

In phylogenetics, the Cluster Editing problem is a special case of the Closest Phylogenetic k-th Root problem, namely when k = 2. The problem was proved NP-hard in this context by Chen et al. [56]. Given a graph G =(V, E), the Phy- logenetic k-th Root problem, asks whether there is a tree T = (N, ET ) with no internal degree 2 vertices, such that the leaves of T are in one to one correspon- dence with V , and two vertices of G are adjacent if and only if the corresponding leaves in T are at distance at most k in T . This problem is very similar to that of finding the k-th leaf root of a graph. The only difference is that the leaf root can have internal nodes of degree 2. The Closest Phylogenetic k-th Root problem is then the problem of editing a graph in a minimum way, so that it becomes a Phy- logenetic k-th root. It is not too difficult to see that a graph has a Phylogenetic 2-th Root if and only if it is a cluster graph.

The last work where this problem was once more proved NP-hard is the famous paper by Blum et al. [11] about the Correlation Clustering problem. Here the work is motivated by agnostic learning and machine learning. The problem as it is defined in [11], is exactly the Cluster Editing problem in disguise. Rather than considering edge modifications on a graph, they reformulate the problem as an optimization one. The input is a complete graph with weights 1 and 0 on the edges, and the goal is to find a partition (clustering) of the vertices such that the sum of the 0-edges inside the clusters and the 1-edges in between, is minimized. Clearly, if we replace the 0-edges with non-edges, and remove the weights, an optimum clustering also define a minimum editing. The problem as defined by Blum et al., has been also generalized to graphs with lack of information, i.e., when the input graph is not complete. In [20] (Paper V), we call this kind of graphs fuzzy graphs, and we shortly discuss them in chapter 5.2. 31

3.1.4 Planar graphs When we want to make a graph planar, the only modification that makes sense is deletion, either of edges or vertices. Both these problems are NP-hard when we want to minimize the number of deletions. For Minimum Planar Vertex Deletion, the result is a consequence of Theorem 3.1.1, while Minimum Planar Deletion has been proved NP-hard independently in [247, 196, 104]. Planarity is a very desired property in many applications that have to do with visualization of graphs or where we need to minimize the crossings of edges in a network-like structure. When the drawing of a graph is as planar as possible, it is much easier for a user to understand its topology. This translates in better readability and understanding when the graph represents some kind of diagram, or real world structure. Hence, making a graph planar removing edges can be used as a sub-routine in graph drawing applications to get a layout of the graph that minimizes crossings or emphasize an underlying structure [236]. In general, planarity of graphs has applications in areas such as graph drawing, circuit de- sign and facility layout [148, 126, 12], and so does the problem of making a graph planar modifying it as little as possible. However, the problem of removing ver- tices was not considered much, as it was seen as a much more drastic operation than just removing edges, causing loss of information useful for the mentioned applications. Only in the recent years Edwards and Farr [80, 81] showed that the Minimum Planar Vertex Deletion is useful in determining the fragmentability of a graph class, awakening interest in this problem as well. The fragmentability is defined as the minimum number of vertices that need to be removed from a graph, so that all resulting connected components have bounded size. Formally it is defined as following. Let G =(V, E) be our input graph, C a natural number and ǫ ∈ [0, 1]. Then G is said to be (C, ǫ)-fragmentable if there is a set V ′ ⊂ V such that |V ′| ≤ ǫ ·|V |, and all connected components of G[V \ V ′] have at most C vertices. This is also a vertex deletion problem with additional constraints on its own. As a further note on the Minimum Planar Deletion problem, the minimum number of edges to be removed in order to make a graph planar, is often referred to as skewness in the literature.

3.1.5 Connected graphs When working with networks, one is often concerned with connectivity properties, since they are strictly related to the reliability of the network. For example we might want to upgrade the network so that the failure of any k nodes or links will not compromise the connectivity of the whole network. This is equivalent to adding links so that the graph representing the network topology is (k + 1)- vertex or (k + 1)-edge connected. Of course it is natural to wish to minimize the 32 total cost of the links we add, or if they all cost the same, their number. When the property we wish to obtain has to do with connectivity, the term completion is often replaced with augmentation, and minimum augmentation refers to the minimization of the total cost of the added edges, while when we minimize the number of edges, the problem is called smallest augmentation.

Recall that connectivity properties are not hereditary. However, as in the case of most interesting graph properties, also many natural augmentation problems have been proved to be NP-hard. The most general results are due to Watan- abe and Nakamura [197]. They show that the minimum augmentation problem for k-edge or k-vertex connectivity, is NP-hard for any k ≥ 2. In particular when k = 3, the problems remain NP-hard even if the input graph in already 2-connected [195]. When k = 1, the problem is polynomial, as it is equivalent to find a minimum spanning tree that connects the graph [240]. In contrast, there are various polynomial algorithms to solve smallest augmentation problems. For the smallest k-edge connectivity augmentation problem, there have been initially polynomial and linear algorithms for k = 2 [82] and k = 3 [195, 207], but after- ward more general algorithms for arbitrary k were given, first on restricted inputs, like trees [241], and then on general graphs [42, 197]. More efficient algorithms exist also for increasing the connectivity of the input graph by a specific value [198, 98], or to reach arbitrary edge-connectivity requirements [95]. In this last case the vertices of the graph have weights, and the weight of an edge is defined as the sum of the weights on its endpoints. For vertex connectivity requirements, the situation is not as nice as for edge-connectivity. There are polynomial algorithms for the problem of adding the smallest set of edges to a general graph to obtain 2-connectivity [156] and 3-connectivity [141], or 4-connectivity of 3-connected graphs [140]. However the complexity of the problem is open for k > 4. Fur- thermore, it remains open even in the special case in which the input graph is (k−1)-vertex connected. If the output graph is required to be planar (and there- fore the input as well), even the Smallest 2-Vertex Connectivity Augmentation problem is NP-hard [151].

Some authors consider also deletion problems for connectivity properties. In this case the input graph has already the desired property, because if a graph is not k-edge or k-vertex connected, then none of its subgraphs can be. Thus the natural goal is to remove as many edges as possible from the input graph without destroying the given property. This clearly differs from the edge deletion problems we defined previously, where we wanted to remove the minimum number possible of edges in order to make the graph have the property. However the complexity is the same. For the property of being k-edge or k-vertex connected, the problem of finding a minimum subgraph is NP-hard for k ≥ 2 ([102], problem GT31). If k = 1, the problem is again that of finding a spanning tree of the graph. In Chapter 4.2.3, we will discuss these problems again. 33

3.1.6 Graphs characterized by cycles

Various graph modification problems concern destroying or creating cycles. We have already mentioned one of these problems, namely the Minimum Fill-in. Let us recall that completing a graph into a chordal graph means to destroy all induced cycles of length at least 4 by adding edges to the graph. Other important problems are defined when the cycles are not induced, or there are restrictions on their lengths. For example the Feedback Vertex/Edge set problem asks to find the smallest set of vertices/edges, that when removed from the graph, eliminates all cycles, triangles included. In other words the output graph must be a forest. We have already mentioned that while the vertex case is NP-hard, the edge version is polynomial. The same problems are also formulated on directed graphs, considering directed cycles rather than just cycles. In contrast to the undirected version, both the Directed Feedback Vertex Set and the Feedback Arc Set problems are NP-hard [102, 154]. The Feedback Vertex Set problem was one of the 21 NP-complete problems in Karp’s list [154], and has important applications in both Databases [100] and Operating Systems [230] to solve deadlock problems. For instance, in the Deadlock Recovery problem, a deadlock is represented by a cycle in a system resource-allocation graph. Therefore, in order to recover the system from deadlocks, we need to abort a set of processes, so that removing the corresponding vertices in the resource-allocation graph, all cycles are broken. A similar problem where, rather than all cycles, we want to destroy all odd cycles of the graph by removing the smallest set of edges or vertices, is called Odd Cycle Traversal problem. These problems are equivalent to finding the maximum bipartite subgraph and induced subgraph, respectively. In our terminology, they are the Minimum Bipartite Deletion and Minimum Bipartite Vertex Deletion problems. Differently from the previous problem, here both the vertex and the edge version of the problem are NP-hard on undirected graphs. In particular, the Minimum Bipartite Deletion problem is just a different way to formulate the problem of finding a partition of the vertices into two sets so that the number of edges between these sets is maximized, i.e., the (unweighted) Max-Cut problem [154]. Also the NP-hardness of Minimum Bipartite Vertex Deletion problem fol- lows from a reduction from Max-Cut, or directly from Theorem 3.1.1. Apart form the equivalence to Max-Cut, these problems have applications in computational biology [7], register allocation [208], and VSLI design [58]. Another very important class of graphs that can be characterized by the ab- sence of certain induced cycles, is that of perfect graphs, as we have seen in Chapter 2.1.1. Since these graphs have so many interesting properties, it would be natural to wish to modify a graph in a minimum way to make it perfect, even though all graph modification problems into perfect graphs are NP-hard [201, 247]. However, to our knowledge, no attempt to design any algorithm has been made, even for approximation or restricted inputs. The only exception is 34 a paper by Natanzon and Shamir that considers perfect deletion and completion of random graphs [199]. This might be due to the fact that until recently it was not even certain whether this class could be recognized in polynomial time. In fact, even though there was a polynomial algorithm to recognize Berge graphs [59], the equivalence between these graphs and perfect graphs was proved only recently as we mentioned in Chapter 2.1.1. A more studied problem, and the last one we will present in this section, is the Minimum Hamiltonian Completion problem (HCP). In contrast with the previous problems, here we want to create cycles rather than destroying them. In particular we want to create a cycle (not necessarily induced) that goes through all vertices of the graph. Such a cycle is called Hamiltonian, and so is called a graph that contains one. Its decision version can be formulated as: Given a graph G =(V, E) and an integer k ≥ 0, is there a Hamiltonian graph G′ =(V, E′) such that E ⊆ E′ and |E′ \ E| ≤ k? It is easy to see that the problem is NP-complete for every k ≥ 0, because when k = 0 it is equivalent to the Hamiltonian Cycle problem, that is well known to be NP-complete [154]. This implies that also a special version of the Traveling Salesman problem (TSP), i.e., the problem of finding a minimum weight Hamiltonian cycle in a weighted complete graph, is NP-hard, namely when the edges of the complete graph have weight only 1 or 0. We can reduce the HCP directly to it. Take a graph G and consider a complete graph G′ on the same vertex set with the following weights on the edges: if an edge of G′ is also in G, it has weight 0, otherwise 1. If the optimal value of a TSP tour on G′ is k, then the minimum number of edges we have to add to G to make it Hamiltonian is k − 1. However when the input is a tree, the line graph of a tree or a cactus, or a series parallel graph, the problem can be solved in linear time [2, 219, 75, 204]. The line graph L(G) of a graph G is the graph that has a vertex for each edge of G, and an edge between two vertices, if the corresponding edges in G share an endpoint. A cactus is a graph where each edge belongs to at most one cycle. Finally a series parallel graph, is a graph that can be obtained recursively from a K2, by two operations: edge subdivision (turn a K2 into a P3) and replacing one edge with a set of edges between the same endpoints. This means that the graph might have multiple parallel edges between two vertices.

3.1.7 Comparability graphs One more graph class for which the corresponding Minimum Completion prob- lem has a direct application, is the class of comparability graphs. The Maximum Reachability problem consists in finding an orientation of the input graph G that maximizes the pairs of vertices (u, v), such that there exist a direct path from u to v. Hakimi, Schmeichel and Young show in [123] that when we reverse the problem and ask for the orientation that minimizes such pair of vertices, i.e., the Mini- mum Reachability Orientation problem, then this problem can be reduced to the 35

Minimum Comparability Completion problem. In particular, if we define r(G) as the minimum reachability number of a graph G, then r(G) = |E(G)| + c(G), where c(G) is the minimum number of fill edges that added to G make it into a comparability graph. In the same paper it is also shown that the Minimum Comparability Completion problem is NP-complete. The Minimum Comparabil- ity Deletion problem had been shown NP-complete in [250] and appears as one of the 18 basic subgraph problems in the book by Gary and Johnson [102], while the editing version of the problem has been proved NP-complete in [201]. In Table 3.1 we report a summary of the NP-completeness results both for graph modification problems that we discussed in this section and for other classes for which complexity results are known.

3.2 Minimizing the maximum clique size

We mentioned that the most natural objective function to optimize when con- sidering graph modification problems is the number of modifications needed to obtain a certain property. However it is not the only interesting one. In the case of the Π-Completion problem, a very important parameter associated to the output graph, is the size of its maximum clique. When Π is the class of chordal, interval or proper interval graphs, finding the corresponding completion that minimizes the size of the maximum clique, is equivalent to computing three fundamental graph parameters associated to the input graph, namely treewidth, and bandwidth, respectively. We formalize this equivalence in the following theorem.

Theorem 3.2.1 Let G be any graph, and Hc, Hi and Hpi the minimal chordal, interval and proper interval completion of G respectively, of minimum largest clique size. Then:

• The treewidth of G, denoted by tw(G), is equal to the treewidth of Hc. Since in chordal graphs the treewidth is equal to the size of the maximum clique minus one, we have that tw(G)= ω(Hc) − 1 [24].

• The pathwidth of G, denoted by pw(G), is equal to the treewidth of Hi. Since in interval graphs the pathwidth is equal to the size of the maximum clique minus one, we have that pw(G)= ω(Hi) − 1 [24].

• The bandwidth of G, denoted by bw(G), is equal to the bandwidth of Hpi. Since in proper interval graphs the bandwidth is equal to the size of the maximum clique minus one, we have that bw(G)= ω(Hpi) − 1 [57]. 36

ΠΠ-DEL. Π-COMP. Π-EDIT. Π−VDL.

Perfect NPC [201] NPC [201] NPC [201] NPC [247] Chordal NPC [201] NPC [249] NPC [229] NPC[247] Interval NPC [106] NPC [155, 102] NPC[41] NPC[247] Split NPC [201] NPC [201] P [124] NPC[247] Trivially Perf. NPC [229] NPC [249, 229] ? NPC[247] Cographs NPC [63] NPC [63] ? NPC [247] Bipartite NPC [103] - NPC [103] NPC [247] Threshold NPC [180] NPC [180] ? NPC [247] Cluster NPC [63] P [229] NPC [229] NPC [247] Chain NPC [201] NPC [249] ? NPC [247] Planar NPC [196, 104] - - NPC [247] k-Ver. Conn. - ? - - Forest P [64] - - NPC [247] k-Edge Conn. - P [42] - - Comparability NPC [250] NPC [123] NPC[201] NPC [247] Permutation NPC [41] NPC [41] NPC [41] NPC [247] Strongly Chordal ? NPC [153] ? NPC [247] Weakly Chordal NPC [41] NPC [41] ? NPC[247] Proper Interval NPC [106] NPC [249, 102] NPC[41] NPC [247] Interval Bip. NPC [244] - NPC [62] NPC [247] Chordal Bip. ? ? ? NPC [247] Circular Arc NPC [201] NPC [201] NPC [41] NPC [247] Proper circ. Arc NPC [201] NPC [201] NPC [41] NPC [247] Unit Circ. Arc NPC [201] NPC [201] NPC[41] NPC [247] Circle NPC [41] NPC [41] NPC [41] NPC[247] AT-free NPC [201] ? ? NPC [247] Trees P [64] - - NPC [248]

Table 3.1: In this table we summarize the complexity results for the Minimum Π-Deletion, Completion, Editing and Vertex Deletion problem respectively. The “-” entries mean that the problem is not interesting, while the “?” indicates an open problem. NPC stands for NP-complete, since here we consider only the decision version of these problems, and P for polynomial time solvable. 37

Needless to say, all these three problems are NP-complete [5, 96, 101]. However when we fix the parameter to be a constant k, checking whether the treewidth or the pathwidth of a graph is at most k, can be done in linear time for every k [23, 159], while for bandwidth only an O(nk) algorithm [120] is known. One should note that a minimum completion does not coincide with a completion that minimizes the size of the maximum clique. We give an example in Figure 3.2.

x

X

C

x x

Figure 3.2: The top graph consists of a clique C and an independent set X such that |C| > (|X|2 −|X|)/2, all edges between X and C are present, and a vertex x completely adjacent to X. This means that the set {x, x1, x2,c} induces a C4 for any x1, x2 ∈ X and c ∈ C. The way to achieve Minimum Fill-in is to make X into a clique, as shown in the left graph. This creates a chordal graph with maximum clique size |C| + |X|, by using (|X|2 −|X|)/2 fill edges. If instead we add a fill edge from x to each vertex in C as in the graph to the right, we still destroy all cycles, but we use |C| fill edges. Hence strictly more than the optimal solution for Minimum Fill-in. On the other hand, the maximum clique of the chordal graph we obtain in this way, is of size |C| + 1. This is the smallest maximum clique that any chordal completion of this graph can have, since also the input graph has maximum clique size |C| + 1.

3.2.1 Treewidth and Pathwidth Treewidth and pathwidth were introduced by Robertson and Seymour during their Graph Minor project as a tool to decompose graphs into treelike and pathlike structures [222, 223]. We give the formal definition here.

Definition 3.2.2 A tree decomposition of a graph G = (V, E) is a pair ({Xi | i ∈ I}, T =(I, M)) where {Xi | i ∈ I} is a collection of subsets of V (also called bags), and T is a tree such that: 38

(i) Si∈I Xi = V (ii) (u, v) ∈ E =⇒ ∃i ∈ I with u, v ∈ Xi (iii) For all vertices v ∈ V , {i ∈ I | v ∈ Xi} induces a connected subtree of T .

The width of a tree decomposition ({Xi | i ∈ I}, T =(I, M)) is maxi∈I |Xi|−1. The treewidth of a graph G, denoted tw(G), is the minimum width over all tree decompositions of G. The pathwidth of a graph G, denoted by pw(G), is defined analogously to treewidth. The only difference is that the tree is replaced with a path in the defi- nition, obtaining what is called a path decomposition. Thus, path decompositions are restricted types of tree decompositions, which implies that tw(G) ≤ pw(G) for every graph G. The reason why treewidth and pathwidth are so well studied, is mostly that a very large class of NP-hard problems can be solved in polynomial time on graphs that have bounded treewidth or pathwidth. In particular Courcelle proved the following very powerful theorem.

Theorem 3.2.3 ([66]) Let k be a fixed constant and Π be a property of graphs that is definable in monadic second order logic. Then Π can be decided in linear time on graphs of treewidth at most k.

Monadic second order logic (MSOL) is a language for expressing properties, especially graph-theoretic ones, in logic. For example, we can express the Maxi- mum Independent Set problem in MSOL.

′ ′ ′ maxV ′⊆V V : ∀u∀v(u ∈ V ∧ v ∈ V ) ⇒ ¬(uv ∈ E)

Thus, by Theorem 3.2.3, the Maximum Independent Set problem is solvable in linear time on graphs of bounded treewidth. Theorem 3.2.3 holds also when replacing treewidth with pathwidth, since if a graph has bounded pathwidth, then it has bounded treewidth (but not vice- versa). The fact that for various problems there exist algorithms of running time O(ck(n + m)), where k is the pathwidth or treewidth of the graph, and c is a constant, is also used to speed-up exact (exponential time) algorithms. Usually exact algorithms are based on branching, and the idea is that we gain a lot by branching on high degree vertices, but not so much when branching on low degree vertices. However, after we get rid of high degree vertices, the remaining graph is likely to have bounded treewidth or pathwidth, so we can use the above mentioned algorithm to solve the problem exactly and more efficiently than if we kept branching. See the survey on exact algorithms by Fomin, Grandoni, and Kratsch for more details [92]. The Treewidth and Pathwidth problems have also a game-theoretic interpre- tation. Consider the search game where searchers are placed to and removed from 39 vertices of the graph, while looking for an invisible fugitive that moves arbitrarily fast along paths in the graph. The goal is to find a strategy that guarantees the searchers to capture the fugitive. The fugitive is captured if a searcher is on the same node of the fugitive, and all its neighbors are also occupied by searchers. The minimum number of searchers needed for the strategy to success, is equal to the pathwidth of the graph minus one [18]. If the fugitive is visible, instead, then this number is equal to the treewidth of the graph plus one [18]. For a comprehensive survey on Treewidth we refer the reader to the work of Bodlaender [24].

3.2.2 Bandwidth

The Bandwidth problem can be expressed as a layout problem. For a graph G =(V, E), with |V | = n, a layout of G, is a 1-1 function L : V →{1, 2,...,n}. The bandwidth of L is bwL(G) = maxuv∈E{|L(u) − L(v)|}. The bandwidth of G is the minimum bandwidth over all layouts of G, namely bw(G) = minL bwL(G). Its importance is due to its connections with computation [67]. Bandwith is defined in a way similar to Profile, but rather than minimizing the total number of non-zero entries around the diagonal, the goal here is to mini- mize the distance of the furthest non-zero entry from the diagonal in every row and column. The Bandwidth problem is NP-complete even on binary trees and caterpillars of hair length at most 3 [101, 192]. One more kind of graph modification problem that has been studied moti- vated by bandwidth, is the Minimum Degree Interval Completion problem. The problem is introduced in [91], and consists in finding the interval supergraph of the input graph, with smallest maximum degree. The motivation is that, if we define id(G) as the minimum degree over all interval supergraphs of G, then bw(G) ≤ id(G) ≤ 2bw(G). This also imply that the Minimum Degree Interval Completion problem is NP-complete, or there would be a polynomial 2- for bandwith, while this is not the case unless P=NP [242].

3.3 Modification with restrictions

A variation of modification problems with important applications, consists in limiting the set of possible modifications. That is, only some edges are allowed to be added or removed from the graph. We will show how this problem is often hard even though there is no optimization involved. 40

3.3.1 Sandwich problem

The Π-Sandwich problem was formally introduced by Golumbic in [110], but it was already considered explicitly [109] or implicitly in other papers [26, 233]. Formally the problem takes as input two graphs, one a supergraph of the other, and asks whether there exists a graph “sandwiched” between the two input ones, with a specific property Π.

If we call G1 =(V, E1) and G2 =(V, E2) the input graphs, such that E1 ⊆ E2, then the problem is equivalent to either finding a Π-completion of G1 by adding only edges belonging to E2 \ E1, or finding a Π-deletion of G2 by removing only edges from E2 \ E1. This problem can be seen either as a generalization of the Π- Recognition problem, or a of the Π-Completion and Π-Deletion problem. In the first case, if we set G = G1 = G2, what we are actually doing is checking whether G has the property Π. For the latter if G2 is is the complete graph, or G1 is the edgeless graph, the problem becomes exactly the Π-Completion or Π-Deletion problem respectively. By the definition of the problem, some instances are not interesting. For example if the property Π is closed under either the addition or deletion of edges, then the answer to the problem is yes if and only if either G2 or G1, respectively, already has the property Π. Hence we can say that monotone properties are not interesting in this case. A useful observation is also that the answer to the Π-sandwich problem for G1 and G2 is yes if and only if the answer to the Π-Sandwich problem is yes for G1 and G2. For other hereditary properties there are various complexity results, both poly- nomial and NP-complete. Most of them are listed in [110], where the Comparabil- ity, Permutation, Chordal, Interval, Circle and Circular-arc Sandwich problems are showed NP-complete, while polynomial algorithms for the Split, Threshold and Cograph Sandwich problems are provided. The result for cographs has been generalized in [70, 71], where the authors give a polynomial time algorithm for the P4-sparse Sandwich problem. A graph is said to be P4-sparse if for every subset of 5 vertices, there is at most one induced P4. Later, also the Strongly Chordal and Chordal Bipartite Sandwich problems were shown NP-complete [72]. Another interesting graph class considered for this problem is that of (k, l)-graphs [69]. A (k, l) partition of a graph is a partition of its vertex set into k independent sets and l cliques. A (k, l)-graph is a graph that admits a (k, l) partition. This graph class generalizes many other important classes. For example, the (k, 0)-graphs, are exactly the graphs the are k colorable. Hence for each fixed k > 2, it is NP-complete to recognize them, while (2, 0)-graphs are exactly bipartite graphs. The same complexity results hold for (0, l)-graphs: it is NP-complete to recognize them when l > 2 and polynomial otherwise. The class of (1, 1)-graphs is exactly the class of split graphs, and therefore polynomial time recognizable. Since the Sandwich problem is a generalization of the Recognition problem, when k> 2 or l> 2 the Sandwich problem for (k, l)-graphs is NP-complete. In [69], the authors 41 settle the complexity of the (k, l)-Sandwich problem for all values of k and l. It is NP-complete when k + l > 2 and polynomial otherwise. In the same paper they also investigate the complexity of other optimization versions of the (k, l)- Sandwich problems. For example they consider input graphs of bounded degree, and prove that if k > 2 or the maximum degree of the input graphs is greater than 3, then the problem is NP-complete. They show that it is NP-complete also to find a maximum induced subgraph of the input graphs, for which there exists a (2, 1)-sandwich graph. Other properties investigated for the Sandwich problem are related to de- compositions arising in perfect graph theory, like homogeneous set [45] and join composition [87]. There is even an example for which the sandwich graph is hard for a co-NP property, namely that of being Pk-free for large enough k’s [227]. Finally, Habib et al. in [122] investigated some restrictions of the problem, namely when G1 and G2 have orientation on the edges, both transitive and not.

3.3.2 Extending colorings A special case of the Π-Completion problem that has attracted much attention is that of making a colored graph into a graph with property Π, adding only edges that do no violate the given coloring. In other words, we are only allowed to add edges between vertices with different colors. The first problem of this kind was introduced in 1974, when it was shown that the Perfect Phylogeny problem was equivalent to the problem of triangulating a colored graph [40]. The problem has been shown to be polynomial time solvable when the input graph is colored with 2, 3 [149, 27], or 4 colors [150], but NP-complete in general [26]. The Perfect Phylogeny problem deals with the construction of evolutionary trees. For a more detailed explanation the reader can refer to [86]. It is easy to see that the Colored Π-Completion problem, as we will call it, is equivalent to Π-Sandwich problem where G1 is the input colored graph, and G2 is the graph where all possible edges that do not violate the coloring are added. Hence if Colored Π-Completion problem is NP-complete, it follows that also the Π-Sandwich problem is. Besides, if it can be proved that the Colored Π-Completion problem is NP-complete when the input graph has at most k colors for a fixed k, this implies that Π-Sandwich problem is hard also when we require the sandwiched graph to have clique size at most k. Motivated by physical mapping of DNA, there has been some research also on the Colored Interval Completion problem. We described the physical mapping of DNA in Chapter 3.1.2, and we said that many copies of the same piece of DNA are fragmented and recombined. In this case all fragments of the same copy have the same color. This problem is not only NP-complete in general [32], but even when the number of colors of the input graph is greater or equal to 4 [32], or the input graph is a caterpillar with hair length at most 2 [4]. In [32] the authors 42 give a polynomial algorithm for the case of 2 and 3 colors. Restricting Π to the class of proper interval graphs, does not simplify the problem. In fact, also the Colored Proper Interval Completion problem is NP-complete [152].

3.3.3 Probe graphs Graph modification problems can take also the form of recognition problems for some special graph classes. That is, given a graph class Π, we can generalize this class defining the set of graphs that can be obtained from the graphs in Π through some particular modifications. One straightforward example is given by parameterized graphs, that we will cover in detail in Chapter 5.1. For example, given an hereditary property Π, we define the parameterized graph class Π+ke to be the class of the graphs that can be obtained by adding at most k edges to some graph with the property Π. Recognizing such graphs is equivalent to solving the Π-Deletion problem, with the restriction that at most k edges can be deleted. Another example is given by probe graphs. Given a property Π, we say that a graph G =(V, E) is probe-Π if we can partition V into two sets, probes and non- probes, with the following properties. The non-probes form an independent set, and a graph with property Π can be obtained from G by adding edges only be- tween non-probe vertices. The set of probes might be given as a part of the input or not, giving two different recognition problems: a partitioned and unpartitioned version respectively. This kind of graphs were introduced in 1994 in molecular biology as a new, more flexible tool for the physical mapping of DNA sequences [35]. In particular the class of probe interval graphs was introduced [187]. The main open prob- lem was whether such graphs could be recognized in polynomial time. For the partitioned case, first Johnson and Spinrad, and later McConnell and Spinrad, an- swered affirmatively, giving an O(n2) [147] and an O(n + m log n) [185] algorithm respectively. The problem for unpartitioned probe interval graphs remained open until 2005, when Chang et al. showed that it is solvable in polynomial time [50]. In the meanwhile, many other classes of probe graphs began to be investigated. The first new class to be introduced was that of probe chordal graphs [108], motivated by some applications in phylogenetics. Polynomial time algorithms for their recognition in both the partitioned and unpartitioned case, were given one year later by Berry at al. [16]. Subsequently also probe permutation [46], probe cograph [48, 171], probe split [172], probe distance hereditary [48], probe chordal bipartite [15], probe interval bigraphs [51], probe ptolemaic [49], probe comparability [47] and probe self complementary graphs [53] were introduced and studied. All of them admit polynomial recognition algorithms, either for one or both versions of the problem, but most interesting is that some of them also have characterizations through a finite set of forbidden subgraph. Such characteriza- 43 tions are very desirable as they imply polynomial time algorithms for recognition, and give a lot of information on the structure of the graph. It is rare to be able to characterize the yes instances of a graph modification problem in this way, and that is why looking for a forbidden subgraph characterization for probe interval graphs is a very interesting open problem. There is also an interesting conjecture about probe graphs, that if a graph class Π is recognizable in polynomial time, so is the corresponding probe class. The conjecture concerned only perfect graphs in the beginning, but it was extended in [171] to include all polynomial time recognizable graph classes. 44 Chapter 4

Methods to solve graph modification problems

As we mentioned in the previous chapter, most interesting graph modification problems have been proved NP-hard. For this reason, even though there are some optimized exponential time algorithms to solve the most applicable of these problems exactly [243, 94, 93, 89, 215, 83], the research has mainly developed in various other directions, looking for efficient solutions at cost of optimality or generality. We can summarize them in 4 main areas.

• Approximation: The optimality of the solution is traded for a more efficient algorithm that can still find a solution guaranteed to be “good enough” with respect to the optimum.

• Restricted inputs: In this case what we loose is generality. We assume the input graph not to be arbitrary, but having specific properties that might allow us to solve the problem optimally in polynomial time.

• Minimal completions or deletions: We require that the set of edges or vertices that when added or removed to or from the graph gives us the desired property, is inclusion minimal. There is no guarantee about how bad the solution might be with respect to the optimal one, but we obtain other interesting properties.

• Parameterized algorithms: We use some extra information related to the problem (the parameter) in order to design algorithms that can compute an optimal solution in polynomial time, when the parameter is small enough.

In this work we will leave out the approximation results, as they are ex- tremely numerous and would require a survey on their own, and no paper of this thesis concerns approximation. We will focus instead on the other three methods.

45 46

However the reader can refer to some surveys and papers for an overview of the approximation results for some problems like: Minimum Fill-in [200]; Minimum Interval Completion [217]; Minimum Cluster Editing [11]; Planar Deletion [175]; and various connectivity properties [139].

4.1 Restricted inputs

In this section we present a summary of the complexity results for some graph modification problems when the input graph is not arbitrary, but it belongs to a particular class. Often, considering restricted inputs helps, and efficient polynomial algorithms can be designed for problems that are in general NP-complete. However, this is not always the case, as we are going to see. For the Interval Vertex Deletion problem there exists a polynomial time algo- rithm when the input is a distance hereditary graph [213]. Making a graph into interval bipartite (a forest where each tree is a caterpillar) by editing the minimum number of edges is NP-complete even when the input is bipartite with bounded degree [62]. The Minimum Interval Bipartite Deletion problem, however, becomes polynomial when the input graph is a tree [244]. Another case where taking a restricted input does not help, is when we want to make a split graph threshold by adding a minimum number of edges [212]. The fact that the Minimum Threshold Completion (or Deletion) problem is NP- complete even on split graphs is particularly surprising since threshold graphs are also split. As we can see in Table 4.1, however, this is not an isolated case. Also the Minimum Interval Completion problem restricted on chordal graphs remains NP-complete, even though interval graphs are chordal. On the bright side, for any hereditary property Π characterized by a finite set of forbidden induced subgraphs, a maximum (induced) subgraph with property Π can be found in linear time for series-parallel graphs [204]. The remaining results are summarized in Table 4.1. We consider the mod- ification problems that are probably the most interesting and therefore studied also on a large number of special graph classes. They are: The Minimum Fill-in (MIN FILL); Treewidth (TW); Pathwidth (PW); The Minimum Interval Com- pletion problem (INT. COMP.); and Bandwidth (BW). However we need to clear some details to help the correct reading of Table 4.1. When we write that a result is “by” some reference [X], we mean that the result follows from the re- sults of [X], even though it might not be mentioned explicitly in that paper. For instance, in the case of Bandwidth, it is proved in [192] that this problem is NP-complete for trees. This implies NP-completeness for all superclasses of trees, like chordal, weakly chordal and chordal bipartite graphs. Positive results, i.e., polynomial time algorithms, for a problem on a certain class, instead, imply 47 polynomial algorithms for the same problem on all the subclasses of this class. This is the case of r-AT-free graphs, namely the AT-free graphs with at most r minimal separators. When r is polynomial, then the algorithm given in [165] for Minimum Fill-in, Treewidth, Pathwidth and Minimum Interval Completion on r-AT-free graphs, is polynomial as well. Hence, for all subclasses of AT-free graphs that have a polynomial number of minimal separators, like permutation graphs, all these problems can be solved in polynomial time. The diagram given in Figure 2.2 might help reading the results in Table 4.1. Another note about AT-free graphs is that, for this graph class and all its subclasses, the treewidth equals the pathwidth, and Minimum Fill-in is equivalent to Minimum Interval Completion [191]. Furthermore, for the AT-free graphs that are also claw-free, bandwidth equals treewidth and therefore pathwidth as well [209]. Thus all NP- completeness results for AT-free graphs, follow from co-bipartite graphs, that are AT-free and claw free graphs. Similarly the NP-completeness of bandwidth on circle graphs, follows from their equivalence to k-polygon graphs [194]. When we write modular decomposable graphs, we mean the graphs that have a special , i.e., one where all prime graphs have either a polynomial number of separators or they are clique-matching graphs (see [31] for details and definitions). We can consider these graphs as a generalization of the graphs with a polynomial number of minimal separators. Hence, if a problem is NP-hard on a graph class like chordal, where all graphs have a polynomial number of minimal separators, then it is NP-hard on modular decomposable graphs. Finally, the entries marked with a “-”, indicate a trivial problem, like when the input to the Minimum fill-in or Minimum Interval Completion problem is already chordal or interval respectively. Similarly Treewidth, Pathwidth and Bandwidth are equiv- alent to the Maximum Clique problem on chordal, interval and proper interval graphs, respectively. Thus they are all solvable in linear time on these graph classes, and their subclasses, since a maximum size clique can be found in linear time on chordal graphs [107]. An interesting fact that can be deduced by Table 4.1 is that Minimum Fill-in and Treewidth seem to always have the same computational complexity. The first counter example to this was given in [179] (Paper IV), for the class of split+1v graphs. A similar behavior can be noticed also for the Minimum Interval Com- pletion problem and Pathwidth, that have the same complexity on most graph classes, but they differ for split graphs.

4.2 Minimality

A first specific approach to deal with the hardness of graph modification problems, was proposed for chordal completions in 1976 by Rose, Tarjan and Lueker and Ohtsuki [226, 205]. The idea was to relax the optimality in the following way. 48 al .:Teetismre iha“”idct noe prob open an indicate “?” a with marked entries The 4.1: Table fteiptgah iiu ili fbpriepermutatio bipartite of Fill-in Minimum graph. input the of i.ds.hereditary dist. Bip. NU LS I ILT WIT OP BW COMP. INT. PW TW FILL MIN CLASS INPUT i.Permutation Bip. oua eop 3]P[1 P y[2]NCb 22 P y[1 by NPC [212] by NPC [121] by NPC [31] P [31] P decomp. Modular ekyChordal Weakly it hereditary Dist. rprItra - - - - - Interval Proper hra Bip. Chordal Permutation obprieNC[4]NC[]NC[]NC[5]NC[209] NPC [251] NPC [5] NPC [5] NPC [249] NPC Co-bipartite iclrarc Circular d HHD-free -Trapezoid Cographs r iatt P 28 P 11 P 11 P y[192] by NPC ? [161] NPC [161] NPC [238] NPC Bipartite Split+1 hra P 11 P[1]NCb [192] by NPC NPC[212] [121] NPC - - Chordal nevl------Interval tFe P y[4]NCb 5 P y[]NCb 21 P y[20 by NPC [251] by NPC [5] by NPC [5] by NPC [249] by NPC At-Free -At-Free lnr??NC[9]?? ? [193] NPC ? ? Planar Circle re - - Trees pi 11 P 22 NPC[164] [212] NPC [121] P - - Split v O O ( O O O n O ( O O O n ( P [179] NPC 5 O O O ( ( ( n r + ( ( n ( n n ( ( ( + + n n n 2 + + n n n m 5 3 3 m n m d 4 6 [232] ) m [166] ) [166] ) m y[39] by ) [52] ) [38] ) [29] ) 3 2 [188] ) r [65] ) [39] ) [33] ) 3 [165] ) O O O O O ( O O O ( O n O O ( n ( ( O ( ntw ( ( O + n n ( + ( n ( n n m ( + + n n m ( 2 5 + n m n 3 3 m r 3 m m 6 y[188] by ) d 10 P y[6]?NC[194] NPC ? [162] by NPC [160] ) [216] ) m [30] ) + 13 P y[6]?NCb [192] by NPC ? [162] by NPC [163] ) y[9 P 12 P y[192] by NPC ? [162] NPC [39] by ) 3]NCb 11 P y[1]NCb [192] by NPC [212] by NPC [121] by NPC [38] ) − 2 [188] ) 19 P y[1]? [212] by NPC ? [179] ) 1 3]NCb 12 P y[192] by NPC ? [162] by NPC [39] ) n 3]NCb 11 P y[1]NCb [192] by NPC [212] by NPC [121] by NPC [33] ) [29] ) 3 r 3 ) satal ier u ect nyteoiia reference original the only cite we but linear, actually is n lem. O O ( O n O O ( O pw ( ntw O + ( ( n ( ntw n m ( n 5 n 2 r and [231] ) y[8]Pb 15 ( [165] by P [188] by ) d 25 P [242] NPC ? [235] ) [30] ) + − 2]Pb 15 ? [165] by P [28] ) 1 n [29] ) 3 bw r 3 ) tnsfrtetewdhadbandwidth and treewidth the for stands O O ( O O n ( ( ( 3+3 n n m 1 5 . + 722 d r y[6]? [165] by ) + n 19 P [192] NPC [169] ) [90] ) n 3 r 3 ? ) O n O ( 4 n ( log nbw + m n )[158] [246] ) [128] ) 92] 9] . 49

Rather than looking for minimum set of fill edges that added to the input graph makes it chordal, and that we can consider as the global optimum, one might want to look for a minimal inclusion set of fill edges, comparable to a local optimum. A set of fill edges is minimal if none of its subsets added to the original input graph can produce a chordal graph. This approach is quite different from other classical ways to tackle hard prob- lems, and it is characteristic of graph modification problems. The main reason why it attracted much interest, is that minimal chordal completions are com- putable in polynomial time, in contrast to the minimum version, and that every perfect elimination ordering of a minimal triangulation produces the same trian- gulation when applied to the original input graph [19]. This is a very desirable property in sparse matrix computations, because it guarantees that the planned data storage scheme is not disturbed [176]. In general, every minimum comple- tion is contained in the set of minimal ones. Hence being able to compute and generate all minimal completions of an input graph is very appealing for the de- sign of exact exponential time algorithms or heuristics to compute the minimum. Besides, being able to characterize and search through all minimal completions efficiently might yield polynomial time algorithms for computing a minimum one when the input is restricted to some special graph class with few or special pos- sible minimal completions. We will discuss further motivations throughout the whole chapter. Here we will focus mostly on the Minimal Π-Completion problem, as it is the most studied, and we will discuss the minimal version of the other modification problems in Chapter 4.2.4. However we define formally all the problems here, and give an example in Table 4.2.

• Minimal Π-Completion: Given a graph G =(V, E), find a set of fill edges F such that H = (V, E ∪ F ) has the property Π, and for every F ′ ⊂ F , G′ =(V, E ∪ F ′) does not have the property Π. • Minimal Π-Deletion: Given a graph G = (V, E), find a set of edges F ⊂ E such that H =(V, E \ F ) has the property Π, and for every F ′ ⊂ F , G′ =(V, E \ F ′) does not have the property Π. • Minimal Π-Editing: Given a graph G = (V, E), find a set F ⊂ V × V such that H = (V, (E \ F ) ∪ (F \ E)) has the property Π, and for every F ′ ⊂ F , G′ =(V, (E \ F ′) ∪ (F ′ \ E)) does not have the property Π. • Minimal Π-Vertex Deletion: Given a graph G = (V, E), find a set of vertices V ′ ⊂ V such that G[V \ V ′] has the property Π, and for every V ′′ ⊂ V ′, G[V \ V ′′] does not have the property Π.

For the Minimal Chordal Completion problem, or Minimal Triangulation problem, there has been a long sequence of results. From the first algorithm 50

CHORDAL MODIFICATION PROBLEMS INPUT GRAPH

MINIMUM COMPLETION MINIMAL COMPLETION

INPUT GRAPH

MINIMUM DELETION MINIMAL DELETION

MINIMUM EDITING MINIMAL EDITING

MINIMUM VER. DELETION MINIMAL VER. DELETION

Table 4.2: We give some examples that show the difference between a minimum and a minimal solution. The property we want in this case is chordality. The dashed edges are, as usual, fill edges. 51 showing that the problem was solvable in O(nm) time [205, 226], there was not much progress for a few years, until the point that the problem was almost aban- doned until the mid-1990’s. In this period it was discovered the first connection between the minimal separators of a graph and minimal chordal completions and treewidth. The subsequent new characterizations that emerged, revived the in- terest in the problem. Still, it was not until 2004 that the first algorithm breaking the o(n3) barrier was given by Kratsch and Spinrad [167]. Simultaneously, an- other group gave an even faster algorithm, running in O(nω log n) [136], where O(nω) is the running time of the best matrix multiplication algorithm. The al- gorithm given in [136] is currently the fastest known for minimal triangulations. For a survey of results and more detailed history of the problem we refer the reader to [127].

Encouraged by this series of positive results, other researchers started studying minimal completions into other interesting graph classes, trying to understand better the problem and its complexity. Until then, in fact, nothing except the chordal case was known to be polynomial. There was indeed a paper by Fujisawa and Wakabashi, a few years after the one by Rose and Tarjan, were the Minimal Interval Completion problem was shown to be polynomial [206]. However the problem did not attract as much attention, as it is proved by the fact that it was rediscovered and restudied independently only a few years ago [134, 234]. In particular in [234], the authors improve the running time given in [206] from O((m + |F |) · n)) to O(mn).

To our knowledge, computing minimal completions or deletions into any class that has been studied so far, turned out be a polynomial time solvable problem. This includes minimal chordal [205, 226, 167, 136], interval [206, 134, 234], proper interval [218], split [130] (Paper I), comparability [131] (Paper II), threshold [132], chain [132], co-bipartite [132] and cograph [178] (Paper III) completions.

As proved by many results, a key step in the design of an efficient algorithm for minimal completions, consists in characterizing minimality in a practical way. For example in the case of minimal chordal completions, the breakthrough re- sults came when the connection between minimal separators of a graph and its minimal triangulations was well understood, as we will explain soon in Chapter 4.2.1. Same goes for minimal split and cograph completions. Therefore, the first problem related to minimal completions that we will take in consideration, is the characterization problem. Afterward we will discuss the possibility of designing general algorithms for minimal completions into graph classes with special, but still very general, properties. We will consider both a direct approach to compute minimal completions by adding edges to the input graph in Chapter 4.2.2 and a more general one that aims to make a given completion into a minimal one by deleting fill edges in Chapter 4.2.3. 52

4.2.1 Characterizing minimality Let us define the Π-Minimality problem as the problem of deciding whether a given Π-completion H =(V, E ∪ F ) of an input graph G =(V, E) is minimal or not. Thus, when we ask for a good characterization of minimality for a specific property Π, we mean one that implies a polynomial time algorithm for the Π- Minimality problem. As we mentioned at the beginning of Chapter 4.2, listing all possible minimal completions, or all the interesting ones, is a common method to compute a min- imum completion, either in exact exponential time algorithms or when the input is restricted to a particular class. Being able to characterize minimal completions in a good way is a key step in designing efficient algorithms that can produce all minimal completions of a given graph. For example, in the case of split graphs, it has been proved in [179] (paper IV) that every minimal split completion can be obtained considering some of the input graph, and turn the rest of the graph into a clique adding fill edges. This implies a straightforward O(3n/3) algorithm to compute a minimum split completion of any graph, by listing all its maximal independent sets. For chordal graphs, there exists a characterization of minimality through min- imal separators of the input graph.

Theorem 4.2.1 ([210]) A triangulation of a graph is minimal if and only if it can be obtained by making a maximal set of non-crossing minimal separators into cliques by adding edges.

Thanks to this result and the concept of potential maximal clique, i.e., a set of vertices that becomes a maximal clique in some minimal triangulation of the graph, it was possible to prove the following very general result.

Theorem 4.2.2 ([34]) Minimum fill-in and Treewidth can be computed in poly- nomial time on graphs with a polynomial number of minimal separators.

The idea is that, given an input graph G = (V, E), once a potential maxi- mal clique C of G has been made into a clique by adding fill edges to it and we obtain a new graph G′, the problem can be separated into smaller independent subproblems. A subproblem consists of the graph induced by NG′ [K], where K is a connected component of the graph G′[V \C]. Thus, if G has a polynomial num- ber of potential maximal cliques, then it is possible to generate all “promising” minimal completions in polynomial time, by using smart dynamic programming. Since a graph has a polynomial number of minimal separators if and only if it has a polynomial number of potential maximal cliques, the result follows. Practically all results given in Table 4.1 for Minimum Fill-in and Treewidth use, implicitly or explicitly, the idea behind Theorem 4.2.2, even though they 53 exploit optimizations related to the specific graph class considered. Also the result about modular decomposable graphs, that generalizes Theorem 4.2.2 to graphs where all prime graphs have a polynomial number of minimal separators, is based on Theorem 4.2.2 itself. Listing all potential maximal cliques of a graph is also the basic technique used to design the fastest exact algorithms to compute Treewidth and Minimum Fill-in available at the moment [93, 243, 94]. Besides the development of new tools for the design of efficient algorithms for Minimum Fill-in and Treewidth, the characterization of the minimal chordal completions of particular graph classes has also led to new characterizations of the graphs classes themselves:.

Theorem 4.2.3 Graph classes characterized through minimal chordal comple- tions:

• A graph is 2K2-free if and only if all its minimal triangulations are split graphs [189].

• A graph is a cograph if and only if all its minimal triangulations are trivially perfect graphs [30].

• A graph is AT-free if and only if all its minimal triangulations are interval graphs [191, 210].

• A graph is AT-free and claw-free if and only if all its minimal triangulations are proper interval graphs [209].

• Let k ≤ 5. A graph is Pk-free if and only if all its minimal triangulations are Pk-free [210].

• A graph is permutation if and only if all its minimal triangulations are interval and their connector graph is bipartite. [190].

One further example of how new tools developed to characterize minimal com- pletions turned out to have applications in the design of different algorithms, is the 3-partition of split graphs introduced in [130] (paper I). This new way to look at split graphs made it possible to develop an efficient algorithm to dynamically maintain a graph split under edge and vertex deletions and additions [129]. A similar algorithm was also given for chordal graphs in [17]. The first example of a practical characterization was given for minimal trian- gulations.

Theorem 4.2.4 ([226]) A chordal completion is minimal if and only if no single fill edge can be removed without creating 4-cycles. 54

One direction is trivial, since it holds for any Π-minimal completion. If a completion is minimal, then no single fill edge can be removed preserving the property Π by the general definition of minimality. However being able to claim that if no single fill edge can be removed, then the completion is minimal, is much stronger. In general this is not true, as it can be seen in the case of minimal com- parability, interval or cograph completions (Figure 4.1). Most importantly this property guarantees the existence of a polynomial time algorithm for computing minimal chordal completions. Just add to the input graph any set of fill edges F that makes it chordal, and then try to remove them one by one until none of them can be removed anymore. The output is clearly a minimal chordal completion by Theorem 4.2.4. The running time is polynomial for two reasons: Every time we try and remove one fill edge we can check whether the resulting graph is chordal in linear time [226]; and we need to try and remove every single fill edge at most |F | times at each step. If we try to use such a trivial approach applying the general definition of minimality, we might of course end up with an exponential running time, since we should try all possible subsets of the set F . So the first thing one might want to check when studying minimal completions into some new graph class Π, is whether minimal Π-completions behave like minimal triangulations. This behavior has been formalized and discussed in [132], where the authors call it sandwich monotonicity.

Definition 4.2.5 Let G1 = (V, E1) and G2(V, E2) be any two graphs with prop- erty Π such that E1 ⊂ E2. Then we say that Π is sandwich monotone if there exists an ordering f1, f2,...,f|E2\E1| of the edges in E2 \ E1, such that Gi = (V, E2 \{f1, f2,...,fi}) has the property Π for each 1 ≤ i ≤|E2 \ E1|.

It is not difficult to see that the following two statements are equivalent: a class Π is sandwich monotone; a Π-completion is minimal if and only if no single fill edge can be removed. Hence, if a graph class Π is sandwich monotone, then we get for free a good characterization of minimal Π-completions, and a polynomial time algorithm for the Minimal Π-Completion problem. Of course we are implicitly assuming two things. The first is that the property Π is polynomial time recognizable, otherwise the Minimal Π-Completion problem would not be polynomial time solvable either. Notice, in fact, that the Minimal Π-Completion problem is a generalization of the Π-Recognition problem, i.e, a graph G is in Π if and only if for every minimal Π-completion H of G, we have that H = G. The second is that we are able to compute a Π-completion (not necessarily minimal) of any input graph in polynomial time. For most interesting properties Π the complete graph is often a valid Π-completion, since this implies that there exists always a minimal Π-completion for every input, but there can be exceptions. For instance, when we want to complete a graph to make it a chain graph, it 55

COMPARABILITY INTERVAL

PROPER INTERVAL COGRAPH AND TRIVIALLY PERFECT

PERMUTATION

Figure 4.1: This figure is borrowed from [132]. Each graph given with solid edges belongs to the graph class mentioned above it. The addition of the dashed edges gives a supergraph in the same class, thus a non-minimal completion. If we remove any single fill edge, the resulting graph will not be in the class anymore, unlike what happens when removing both of them. This means that, although the completions are not minimal, no single fill edge can be removed to keep the completion in the desired class, as it can be done with non-minimal chordal completions. 56 makes sense to consider only inputs graphs that are bipartite, but in this case the would be a valid chain completion of any input. Nevertheless, it is not that easy to show that a graph class is sandwich mono- tone. At the moment we know that chordal [9, 226], split [130], and threshold graphs [132] are sandwich monotone, and that interval, comparability, permuta- tion, trivially perfect, proper interval graphs and cographs are not (see Figure 4.1). Interesting open problems are whether the classes of weakly and strongly chordal [132], and chordal bipartite [8] graphs are sandwich monotone, even though this last one would follow from any of the other two. If they were, then the corresponding minimal completion problems would be polynomial time solvable, while this is unknown at the moment. As a further note, the family of sandwich monotone properties contains that of monotone ones, but for monotone proper- ties the completion problem is not interesting. In fact, either the input graph has the desired property, or no supergraph exists that can have it. For instance, if a graph is not planar, we cannot make it planar adding edges to it. Also, not all sandwich monotone properties are hereditary. One example is the class of k-connected graphs for each fixed k. Given any two k-connected graphs, one supergraph of the other, also all graphs in between are k-connected. However, an induced subgraph of a k-connected graph, might easily be not even connected. For all other properties Π that are not sandwich monotone, the task of char- acterizing minimality seems to become much harder. The first non-sandwich monotone class for which the Π-Minimality problem was solved, is that of interval graphs [135]. This result is absolutely non-trivial, and it appeared only some time after the Minimal Interval Completion prob- lem was well studied and understood. Also, the resulting algorithm for testing minimality has a much higher running time than that for directly computing a minimal interval completion. At the moment, the only other non-sandwich monotone class for which there is a good characterization of minimality for the corresponding completions, are cographs [178] (paper III). In this case the char- acterization actually yields a linear time algorithm for the Cograph Minimality problem. We think the proper interval completions [218] are good candidates to be investigated next. A characterization that could lead to an efficient algo- rithm to list all minimal proper interval completions, in fact, could yield better algorithms for Bandwidth in the same way as potential maximal cliques did for Treewidth. All known approaches to characterize minimality at the moment, heavily de- pend on the specific graph class taken into consideration. It is appealing to think that there might be a general way to test minimality for some large family of properties. Even though this problem does not appear to be trivial at all, we think that if there is some solution, it should imply some concept of locality. For sandwich monotone properties, the locality is given by the single edge that cannot be removed, and for cographs by a certain connectivity property of the graphs 57 induced by the co-connected components of the completion (see Paper III). For a general approach we would need to somehow bound the number of subsets of the fill edges that we can try to remove while preserving the desired property. To this regard, properties characterized by a finite set of forbidden induced sub- graphs seem good candidates for an attempt. The reason is that the obstructions that can destroy a property when removing fill edges, have bounded size, and they might be the key to define some local minimality property. The problem arises when, removing some fill edges locally, can affect other parts of the graphs. The real challenge is to understand whether these interactions can be controlled and bounded or they are arbitrary. Let us have a look at a trivial approach to the problem, to understand why it does not work. Let us assume that Π is a hereditary property characterized by a finite set of forbidden induced subgraphs F = {F1, F2,...,Fl}, where s = max1≤i≤l |V (Fi)|. Then, as s is a constant, many problems become polynomial time solvable on Π, for instance, Recognition. Let us indicate the running time of a polynomial recognition algorithm for Π, with RΠ(n, m). Then, if a graph does not have the property Π, we can find a forbidden s subgraph in O(n · RΠ(n, m)) time, or list all of them in O(n · RΠ(n, m)) time.

The first thing that might come to mind at this point, given a Π-completion H =(V, E ∪ F ) of some input graph G =(V, E), is to select a set S ⊂ V of size at most s, and try to remove all possible subsets of fill edges in H[S], so that the resulting induced subgraph has still the property Π. The good news is that s s2 this can be done in polynomial time, namely O(n 2 RΠ(n, m)). The problem is that, even though locally we did not create any forbidden subgraph, the whole graph might now not have the property Π any more. This because there might exist another set S′ that intersects with S in some fill edges, and after removing these fill edges, H[S′] becomes a forbidden subgraph. An example is given using cograph completions in Figure 4.2. Thus, there might be cases in which no subset of the fill edges can be removed locally from any induced subgraph of size at most s without destroying Π, and yet the given completion is not minimal.

The concept of locality we just described is evidently too weak, but we believe that it is a promising direction to investigate. The solution, if any exists, might consist in an extension of the previous idea that takes into consideration a set of intersecting induced subgraphs of bounded size, rather than just one. Or maybe we might start by considering a more restricted family of properties, like the ones that have both a finite set of forbidden subgraphs and the universal vertex property that we discuss in the next chapter. This property, in fact, implies by itself an interesting minimality property of the induced subgraphs of a completion.

We leave as an open problem whether there is a characterization of minimal completions into all graph classes that are characterized by a finite set of forbidden subgraphs. 58

             

               

               

               

Figure 4.2: Here we can see an example of how a general naive approach to check minimality can fail. We consider the cograph completion on the top left. It is a complete bipartite graph, and all edges are actually fill edges. In other words the input graph is edgeless and therefore already a cograph (on top right). This means that the completion is not minimal, so there exists a set of fill edges that can be removed to get a smaller one (not necessarily minimal). Our naive approach to find such a set consists in finding a set of vertices of size at most 4 (the size of the biggest forbidden subgraph of cographs, i.e., a P4), such that some fill edges inside the subgraph induced by these vertices can be removed while keeping the resulting graph a cograph. Such a set of vertices, does not exist, so we cannot check whether this completion is minimal in this way. The reason is that a connected bipartite graph is a cograph if and only if it is complete bipartite. Since the given complete bipartite graph cannot be disconnected by removing edges from any of its induced subgraphs of size 4, we can never get a smaller cograph completion by removing fill edges locally as we explained, even if one exists. Some examples are given in the lower row, where the darker colored vertices represent the subgraph from which all fill edges have been removed. 59

4.2.2 Vertex incremental approach We have seen that characterizing completions is very useful, but not an easy task. In fact, for all classes that have been studied so far, the problem of computing a corresponding minimal completion turned out to be polynomial time solvable, but only some of them have a good characterization of minimality. The reason might be that for almost all these classes there seems to be an underlying general technique to compute a minimal completion, but not to characterize minimality. This technique has been designed to solve the Minimal Π-Completion problem when Π is a hereditary graph classes with the universal vertex property, or u.v.p. for short. A class Π has the universal vertex property if when we take any graph in Π and add a vertex incident to all its vertices, the resulting graph still belongs to Π. What we can do for these problems, is to compute a minimal completion incrementally, considering only one more vertex at the time, and restricting the fill edges to be incident only to each new vertex we consider. To formalize the idea, let us take an ordering α = {v1, v2,...,vn} of the vertices of a graph G = (V, E) and assume that we have a minimal Π-completion Hi of the graph Gi = G[{v1, v2,...,vi}]. Then we claim that there is always a minimal Π-completion Hi+1 of Gi+1, that can be obtained from Hi by adding vi+1 to it, plus a set of fill edges incident only to vi+1. If this is true, then we can build a minimal Π- completion H of G, just completing the graph locally, vertex by vertex, forgetting whatever we did at a previous step. The formal proof of correctness is given in [131] (Paper II), here we only give the intuition. The universal vertex property guarantees that, when adding vi+1 to Hi, there is always a Π-completion of this graph where all fill edges are incident to vi+1, namely when we make vi+1 universal. The minimality follows from the minimality of Hi and the fact that we do not add any edge in Hi, so it stays minimal. Concluding, we can always obtain a Π-completion of Gi+1 making vi+1 universal for Hi, and if this is not a minimal completion, then there exists always a minimal one that can be obtained using a subset of the fill edges added to vi+1 to make it universal. In other words, for a hereditary class Π with the u.v.p., we can reduce the general Minimal Π-Completion problem to the following, more restricted problem, that we call Minimal x-Π Completion. Minimal x-Π Completion Input: A graph G =(V, E) and a vertex x ∈ V such that G[V \{x}] satisfies Π. Goal: Find a set of fill edges F = {xv | v ∈ V \{x} ∧ xv∈ / E} such that H =(V, E ∪ F ) is a minimal Π-completion G. If there is polynomial time algorithm to solve this problem, then the Minimal Π-Completion problem can be solved in polynomial time as well, running the algorithm for the Minimal x-Π Completion n times, over any ordering of the vertices of the input graph. 60

Figure 4.3: If the input graph to a vertex incremental algorithm for minimal chordal completions is a cycle, we will always get a completion like the one in the middle. Such an approach will be never able to produce the kind of completion represented by the third graph.

This approach turned out to be very powerful. Practically all minimal com- pletion problems that have been solved until now, used this technique [134, 131, 129, 17, 178] or can easily be solved using it. The only exception would be the case of the Minimal Proper Interval Completion, since proper interval graphs do not have the universal vertex property. They have the K1,3, that contains a universal vertex, as a forbidden induced subgraph. Notice that this technique does not imply that there is a polynomial time algorithm for the Minimal Π-Completion problem for every hereditary Π with the u.v.p.. This is only a framework, and the running time depends heavily on the specific property Π the output graph should have. Furthermore, by using this incremental approach, one cannot produce, in general, all possible minimal Π-completions of a given graph. An example is given in the case of minimal chordal, and interval, completions in Figure 4.3. The reason is that, given a forbidden subgraph for a class Π, when using the incremental approach on it, we will not add any fill edge until we consider the last vertex. Hence, independently of the order in which we consider the vertices, every minimal completion obtained in this way, will have all the fill edges incident to one common vertex, i.e., the last one in the ordering. This means that, if there is any other minimal completion where the fill edges do not have one common endpoint, it cannot be obtain through the incremental algorithm we described here (see Figure 4.3 for an example). This also explains why the existence of a polynomial time algorithm to compute a minimal completion does not imply that we can generate all minimal completions of an input graphs, or test whether any given completion is minimal in polynomial time. On the good side, having so much restriction on the structure of the input graph and where the fill edges should be added, gives a substantial advantage compared to having an arbitrary input graph. In fact, in some cases like split completions [129], we can compute a minimum set of fill edges to add to the new vertex in order to obtain a minimal completion, or even a minimum completion of the whole graph if we are allowed to add fill edges anywhere in the graph. In this last case we need to be careful. It makes sense to compute a minimum completion of the graph given as input to the Minimal x-Π Completion problem, when we 61 consider it as a “stand-alone” problem. However, when it is a subroutine of the vertex incremental approach, adding fill edges inside a partial completion Hi at some step i, will compromise the minimality of the final completion. Another interesting feature of this approach is its incremental nature. As solv- ing the Minimal Π-Completion problem implies that we solve the Π-Recognition problem, it is natural to use an incremental algorithm for minimal completions to design incremental recognition and dynamic algorithms, or vice-versa. Without entering into the technical details, a dynamic algorithm for a property Π, is an algorithm that maintains a graph so that, under certain modifications, the prop- erty Π is preserved. In the classical version, such an algorithm supports queries about whether a certain modification to the graph could preserve or not Π, and if so it would efficiently apply the modification. The kind of modifications that are usually considered are single edge deletions and additions, and less often vertex addition and deletion. The reason why dynamic algorithms exist, is mainly for maintaining dynamic networks, and handle problems where the input is supplied in an on-line fashion, rather than all at once. Of course, in order to be useful, such an algorithm must be able to check whether a modification preserves a certain property more efficient than a static algorithm. With static algorithm we mean an algorithm that recognizes whether a whole graph has the desired property, without assuming anything in advance about its structure. Naturally, we expect to be able to do better when we know that our graph already has the desired property, and only one edge or vertex has been added or removed. Using incremental minimal completions we can extend a dynamic algorithm so that it can handle also updates in the case that a modification does not pre- serve the desired property. What we can do is to repair the graph in a minimal (sometimes minimum) way by adding additional edges only to the new vertex, or, similarly, one of the endpoints of the new edge. This would also keep the modification very local, while the general structure of the graph is left intact. A practical example of incremental minimal completions and deletions used in the design of dynamic algorithms, is given in [129] for split graphs and [17] for chordal graphs. An example of an incremental algorithm for minimal completions that can be seen as a generalization of an incremental recognition algorithm, is the one for minimal cograph completions given in [178] (Paper III). In the next section we give a practical example of an incremental algorithm to compute minimal completions of a hereditary class with the universal vertex property. We show that also the Minimal Trivially Perfect Completion problem is polynomial time solvable.

Case Study: Minimal Trivially Perfect Completions Here we give a polynomial time algorithm to solve the Minimal x-Trivially Perfect Completion problem. We do this by modifying the incremental algorithm given 62 in [178] (Paper III) to solve the same problem when Π is the class of cographs. As we mentioned in section 2.1, trivially perfect graphs are (P4,C4)-free graphs, and therefore a subclass of cographs. Also, it is easy to see that adding a universal vertex to a we cannot create P4’s or C4’s, so this graph class has the universal vertex property. We exploit the characterization of cographs that uses connected and co- connected components. We define C(G) to be the set of connected components of a graph G, and C(G)= C(G), the set of co-connected components of G. Since b we consider cographs, this means that for every element Ci ∈ C(G), such that |C | > 1, the graph G[C ] is disconnected. Similarly, for every element C ∈ C(G), i i bi b such that |C | > 1, the graph G[C ] is disconnected. If we add the fact that a bi bi trivially perfect graph is a cograph without C4’s, we can prove the following fact.

Observation 4.2.6 Given a trivially perfect graph G, there is at most one ele- ment C ∈ C(G) satisfying |C | > 1. bi b bi

Proof. Assume there were at least 2, let us say, Ci and Cj. Then each of them b c 1 contains at least two vertices that are non-adjacent in G. Let us call them vi , 2 1 2 vi , vj and vj . Since, by definition, all possible edges exist in G between two 1 2 1 2 co-connected components, the set of vertices {vi , vi , vj , vj } would induce a C4, giving a contradiction. The following observation gives us the cases we should consider in the algo- rithm.

Observation 4.2.7 Let G be a trivially perfect graph and Gx the graph obtained by adding a vertex x to G. If all neighbors of x are co-connected components of G of size 1, then Gx is a trivially perfect graph.

Proof. The graph induced in G by all co-connected component of size one, is a complete graph, hence NGx (x) is a clique, meaning that x cannot create any chordless cycle when added to G. Furthermore, there are no P4’s in Gx either. Assume there was one, let us define it as {x, v1, v2, v3}. Since v1v3 is a non-edge in G, these two vertices should belong to the same co-connected component, that has, therefore, more than one vertex. This contradicts the fact that x should not have neighbors in such a component, in this case v1. Algorithm MxTPC solves the Minimal x-Trivially Perfect Completion prob- lem by computing in polynomial time a set of vertices that, when made incident to x, yields a minimal trivially perfect completion of the input graph where all fill edges are incident only to x. As we have seen in the previous section, this is sufficient to prove that there exists a polynomial time algorithm to compute a minimal trivially perfect completion of arbitrary graphs. 63

Algorithm: Minimal x Trivially Perfect Completion – MxTPC ( G, Nx)

Input: A trivially perfect graph G =(V, E) and a set Nx ⊆ V to be made adjacent to a vertex x∈ / V . Output: An inclusion minimal set S ⊆ V such that Nx ⊆ S and Hx =(V ∪{x}, E ∪{xy : y ∈ S}) is a trivially perfect graph if G is connected then if There is a C ∈ C(G) such that |C | > 1 and C ∩ N =6 ∅ then bi b bi bi x S = MxTPC(G[C ], N ∩ C ) ∪ (V \ C ); bi x bi bi else S = Nx; else if there is a Ci ∈ C(G) such that Nx ⊆ Ci then S = MxTPC(G[Ci], Nx); else

S = SCi∈C(G): Ci∩Nx6=∅ Ci; return S;

Theorem 4.2.8 Algorithm MxTPC is correct.

Proof. We prove it by induction. Let us call Gx the graph obtained by adding a vertex x to G such that NGx (x) = Nx. The algorithm is definitely correct when |V | = 1. Let us assume it works for |V | = n − 1 and consider a graph G on n vertices. First we consider the case when G is a connected graph. By Observation 4.2.7, the graph Gx is not trivially perfect only if x has some neighbors in the unique co-connected component of G with more than one vertex. Hence all cases are covered by the algorithm, and in particular the correctness of the second case, when S = Nx, follows directly from Observation 4.2.7, so we focus on the first case. Let us call C the co-connected component such that |C| > 1 and b b C ∩ N =6 ∅, and let C(G[C]) = {C ,...,C } be its connected components, where b x b 1 l l > 1. The algorithm does the following. First it computes a set of vertices S′ that yields a minimal trivially perfect completion of G [C ∪{x}], and then output x b S = S′ ∪ S′′ where S′′ = V \ C. That H [C ∪{x}] is a minimal trivially perfect b x b completion of G [C ∪{x}] follows by induction hypothesis, and the fact that we x b do not choose any other vertex in C to be put in S after we compute S′. Now b we show that the set S computed by the algorithm, actually yields a minimal trivially perfect completion of Gx. First of all, the graph Hx that we obtain by ′ ′′ using S = S ∪ S , is a trivially perfect graph. The graph Hx can be obtained as H [C ∪{x}]+ H [V \ C], where H [C ∪{x}] is trivially perfect by induction x b x b x b 64 hypothesis, and H [V \ C] is a complete graph, and therefore trivially perfect as x b well. Since every vertex of H [C ∪{x}] is universal to H [V \C], we can conclude x b x b that there cannot be either P4’s or C4’s in Hx, proving that it is trivially perfect. Let us assume now that Hx is not minimal. Then there exists a set X such that Nx ⊆ X ⊂ S, and that if made adjacent to x would produce a trivially perfect ′ ′ graph Hx ⊂ Hx. We know that all vertices in S are necessary by induction ′′ hypothesis. Hence we can assume that there exists a set of vertices R ⊆ S \ Nx ′ that are not incident to x in Hx. Let us now consider the different ways X and C might intersect in H′ . If there exists a unique C ∈ C(G[C]) that contains b x i b vertices from X, then for each vz ∈ R, and any vi ∈ Ci ∩ X and vj ∈ C \ Ci, the ′ b set {x, vi, vz, vj} induces a P4 in Hx. If there are at least two different connected components of G[C] containing vertices from X, let us say C and C , then for b i j each vertex vz ∈ R, and any two vertices vi ∈ Ci ∩ X and vj ∈ Cj ∩ X, the set ′ {x, vi, vz, vj} induces a C4 in Hx. In both cases we get a contradiction about the existence of a subset of S that can produce a trivially perfect completion of Gx, proving that Hx is indeed minimal. When G is disconnected, things are easier. If x is incident to only one con- nected component of G, then we can clearly reduce the problem to when G is connected, and the correctness follows by induction. Otherwise, we can consider only the connected components of G where x has some neighbors. As in the connected case, let us assume for contradiction that there exists a set X such ′ that Nx ⊆ X ⊂ S and the graph Hx obtained by using X is a trivially perfect completion of Gx. Then we know that there is some connected component C of ′ G, such that in Hx there exists a vertex u ∈ C \ X and a vertex v ∈ C ∩ X incident to x and u, so that for every other vertex z ∈ X ∩ (V \ C), the set ′ {z,x,v,u} induces a P4 in Hx. Hence it is a necessary condition that S contains all connected components of G with some neighbors of x in Gx, but actually it is also sufficient. In fact, choosing S in this way, the corresponding graph Hx is trivially perfect, since it is the union of two trivially perfect graphs: G[V \ S] and Hx[S ∪ x], that is obtained by making x universal to the trivially perfect graph G[S], and therefore it is trivially perfect as well. This concludes the proof.

It can be proved that Algorithm MxTPC can be implemented to run in time O(|S| + 1) by using exactly the same arguments given in [178] (Paper III) for the cograph completion algorithm. Notice, in fact, that the two algorithms differ only in the connected case, that here is even easier to handle. Hence the total running time is not influenced and we can conclude the following.

Theorem 4.2.9 A minimal trivially perfect completion H of an arbitrary graph G can be computed in time O(V (H)+ E(H)). 65

4.2.3 Extraction and sandwich problem A problem related to both characterizing and computing minimal completions, is that of making a given completion minimal, by removing redundant fill edges. This problem was first introduced and studied for chordal completions in [19]. Here we call it the Minimal Π-Extraction problem.

Minimal Π-Extraction Input: A graph G =(V, E) and a Π-completion H =(V, E ∪ F ) of G. Goal: Find a minimal Π-completion H′ =(V, E ∪ F ′), such that F ′ ⊆ F .

The resemblance with the Π-Sandwich problem is immediate, although there are important differences. In fact, the graph H given as input is always a valid solution to the Π-Sandwich problem, even though it might not be a minimal Π-completion, and therefore not a valid output for the Minimal Π-Extraction problem. In other words H is a valid solution for the Minimal Π-Extraction problem, if and only if that there is no other Π-sandwich graph between G and H. Still, the connection is stronger than we just argued. In fact, an algorithm for the Π-Sandwich problem can actually be adapted to solve the Π-Extraction problem.

Lemma 4.2.10 Let G1 and G2 be two graphs such that G1 ⊆ G2. If there is a polynomial time algorithm to solve the Π-Sandwich problem, then a minimal Π-completion H of G1 such that G1 ⊆ H ⊆ G2, can be computed in polynomial time.

Proof. First run the Π-sandwich algorithm on G1 and G2. If the algorithm does not return any graph G3 with property Π such that G1 ⊆ G3 ⊆ G2, then no Π-completion H of G1 such that G1 ⊆ H ⊆ G2 exists. Otherwise the algorithm returns a graph G3 =(V, E ∪ F ) in Π, with F ⊆ E(G2) \ E(G3). Hence G3 is a Π-completion of G1, but it might not be minimal, so we do the following. For each ′ edge f ∈ F , we run the graph sandwich algorithm on G1 and G3 =(V, E∪F \{f}). ′ If no sandwiched graph is found between G1 and any possible G3, then G3 is a minimal Π-completion sandwiched between the two input graphs, because no set ′ ′ ′ F ⊂ F exists such that G3 = (V, E ∪ F ) is in Π. If for at least one fill edge f the algorithm returns a sandwich G4, then G3 is not a minimal Π completion of G1, since G4 is in Π and G1 ⊆ G4 ⊂ G3. In this case we iterate the previous procedure on G1 and G4 until no sandwiched graph is returned, so that we know that the last graph on which we applied the algorithm is a minimal Π-completion between G1 and G2. In total we apply the graph sandwich algorithm, that runs in polynomial time by assumption, at most O(|F |2) times, concluding the proof. 66

The algorithm described in the proof of Theorem 4.2.10, not only can solve the Minimal Π-Extraction problem when G2 = H, but it can also solve the Minimal Π-Completion problem, just using the complete graph as G2 (independently of whether the complete graph is in Π or not). Thus it follows that for all graph classes Π for which the Π-Sandwich problem is solvable in polynomial time, also the Minimal Π-Completion and Minimal Π-Extraction problems are. Of course the running time would be far from optimal for the last two problems, because a sandwich algorithm would not take advantage of the many restrictions the other two problems have. As a proof of this fact, notice that the running time of the best current algorithms to compute a minimal split, threshold and cograph completion are, respectively, O(m+n) [130] (Paper I), O(m+n) [132] (Paper III), and O(m+n+|F |) [178]. If we just applied Theorem 4.2.10 to the algorithms for the Split, Threshold and Cograph Sandwich problems given in [110], this would yield a running time of O((m + n) ·|F |) for split and threshold, and O(m · n ·|F |) for cographs. Notice also that a polynomial time algorithm for the Minimal Π- Extraction problem implies a polynomial time algorithm for the Π-Minimality problem, just as the Minimal Π-Completion problem implies recognition. Unfortunately the approach we described is very limited since there are not many classes for which the Sandwich problem is polynomial time solvable. It cannot account even for all sandwich monotone properties, for which the ex- traction problem is trivially polynomial. An example are chordal graphs, as we have seen previously. The Minimal Chordal Extraction problem can be solved in polynomial time thanks to Theorem 4.2.4, but the Chordal Sandwich problem is NP-complete. In general, there are many classes for which Minimal Π-Completion or Minimal Π-Extraction problem can be solved in polynomial time, while the Π-Sandwich problem is NP-Complete, e.g., interval, proper interval and compa- rability graphs. A very nice result about a problem similar to the Minimal Π-Extraction prob- lem is given in [125]. In this paper the authors consider the problem of finding a minimal subgraph with a property Π, given a graph that already has the desired property. They show that for all properties that are closed under taking of super- graphs, like for example connectivity, the problem can be solved in O(m+n log n) time, although the minimum version is NP-hard as we mentioned in Chapter 3.1.5. The differences from the extraction problem we defined are mainly two. First they consider a very specific family of properties. Secondly, any edge of the input graph can be removed, while in the extraction problem only the fill edges can be removed. To give a parallel again to the sandwich problem, we can think that the graph G1 in this case is the edgeless graph, while G2 is the input graph, and the goal is to find a sandwich graph G3 with property Π, such that no other Π-sandwich exists between G1 and G3. An interesting question is whether there exists a general efficient algorithm also for the Minimal Π-Deletion problems, when Π is monotone like bipartite or planar graphs. We discuss minimal deletion 67 problems in the next section. As a last remark, notice that the attempt we described at the end of Chapter 4.2.1 about designing a general algorithm for the Π-Minimality problem when Π is characterized by a finite set of forbidden induced subgraphs, can be used also to attack the Minimal Π-Extraction problem for the same family of properties. What we were trying to do, in fact, was removing redundant fill edges from a given completion. If for the minimality problem we can be satisfied by just finding one set of fill edges that can be removed, proving that the completion is not minimal, for the extraction problem we would simply iterate this minimality test until no such set of fill edge can be found.

4.2.4 Minimality for other modification problems In this section, we briefly go through the minimal version of other graph mod- ification problems other than completions. Since split graphs, threshold graphs and cographs are self complementary graph classes, the corresponding polynomial time algorithms for minimal completions, imply polynomial time algorithms for the minimal deletion as well. For minimal chain and bipartite deletion, instead, a polynomial time algorithm follows from the fact that chain and bipartite graphs are sandwich monotone classes [132]. Other properties for which the Minimal Π-Deletion problem has been studied, are planarity and chordality. In the first case the problem is trivially polynomial since planarity is a monotone property. A maximal planar subgraph of the input graph can be found by starting from the edgeless graph, and trying to add edges of the input graph one by one, as long as they preserve planarity. When no more edge can be added, we have a maximal planar subgraph. As the planarity test after one edge insertion can be be done in O(n) time [138], this approach would yield a running time of order O(nm), since every edge must be checked at most once. This because planarity is monotone, and if adding an edge at one step does not preserve planarity, it cannot be added at later steps either. Even though it is easy to show that the problem is solvable polynomial time, there have been many papers trying to reduce the running time as much as possible, until the optimal O(n + m) [142]. We refer the reader to the survey of Liebers for more details [175]. A maximal chordal subgraph can be found in a way similar to the planar case. Start from the edgeless graph, or a spanning tree of the input graph and try to add edges one at the time. This holds because, if there is a chordal graph sandwiched between the current subgraph and the input graph, then, by sandwich monotonicity, there exists one edge that can be added to the current subgraph keeping it chordal. Using the dynamic algorithm for chordal graphs given by Ibarra [145], that can test chordality after edge insertions in time O(n), the running time for this trivial algorithm would be O(nm2). Differently from 68 the planar case, an edge that if added to a certain step does not keep the graph chordal, might be added later, because chordality is not monotone, so we might have to check the same edge at each step. However there are various algorithm that achieve the better bound of O(∆m), where ∆ is the maximum degree of the input graph [10, 245, 73]. Maximal chordal subgraphs are used mostly as heuristic for solving problems related to phylogenetics and maximum clique [245]. Of particular interest is the incremental algorithm given in [17], that shows how the vertex incremental approach for completion described in Section 4.2.2, can also be used for minimal deletions. In general, the results about sandwich monotone properties and graph classes for which the sandwich problem is polynomial, can be easily extended to minimal deletion problems as well. Minimal deletions into classes that are neither monotone or sandwich mono- tone, are known only for cographs, due to their self-complementarity. In this case the trivial edge incremental approach would not work, because there might be steps in which no single edge can be added. Minimal Vertex Deletions are relatively interesting and we are not aware of any algorithm to solve this problem for some specific graph class. The main reason is probably that they are trivially polynomial for every hereditary property that can be recognized in polynomial time. A simple approach would be to start from the empty graph and add vertices until none can be added without violating the desired property. Besides, removing vertices from a graph is usually considered a more extreme operation than removing edges, and therefore rarely preferable to this second option. For the Minimal Π-Editing problem, nothing seems to be known, with the no- table exception of split graphs. The Minimum Split Editing problem, in fact, and therefore the Minimal Split Editing problem as well, is polynomial time solvable [124]. However, a motivation to look for efficient polynomial time algorithms for editing problems, might be that if they turn out to be faster than both deletion and completion algorithms, then they could be used as a valid alternative. For example, in same cases, a minimal chordal editing algorithm running in O(n2) time, might be preferable to a minimal completion or deletion algorithm running in O(nm). We conclude this chapter with Table 4.3, that summarize the results we dis- cussed on minimal graph modification problems in an organized way. 69

Minimal Minimal Minimal Π Π-Completion Π-Deletion Π-Extraction

Chordal∗ O(n2.37) [136] O(∆m) [73] O(nm) [68] Interval O(nm) [234] ? O(n11) [135] Proper Interval O(n+m) [218] ? ? Split∗ O(n+m) [130] O(n+m) [129] O(n+m+|F |) [130] Cographs O(n+m+|F |) [178] O(n+m′) [178] O(m2) [178] Trivially Perfect O(n+m+|F |) (new) ? ? Comparability O(n5) [131] ? ? Chain∗ O(n+m) [132] O(n+m) [132] O(n+m+|F |) [132] Threshold∗ O(n+m) [132] O(n+m) [132] O(n+m+|F |) [132] Planar∗ - O(n+m)[142] - Bipartite∗ - O(n+m)[132] - Co-bipartite∗ O(n+m)[132] - O(n+m+|F |) [132]

Table 4.3: In this table we summarize the results for the Minimal Π-Completion, Deletion and Extraction problem (and therefore the Minimality problem), em- phasizing whether the class in question is sandwich monotone or not, by marking it with a ∗ if it is. For the cograph deletion algorithm, m′ stands for the edges in the complement of the output deletion.

4.3 Parameterized algorithms

Another way to deal with NP-hard problems consists in considering some specific parameter associated to the problem, and try to confine the combinatorial explo- sion associated to these problems to the parameter only. Being able to do so yields more efficient algorithms when the parameter is small enough. In this chapter we will give only some basic definitions to introduce the results on parameterized graph modification problems, and those in Chapter 5. A parameter is a number, usually a positive integer, and therefore it can represent practically any kind of information that can be expressed numerically. Hence, whether this approach helps making a hard problem more tractable de- pends heavily on which parameter we decide to use, since it is by exploiting the extra information that it gives us that we can design better algorithms. First we need to define what we mean by tractable in this context. In general we say that an NP-hard problem is tractable with respect to a certain parameter if it can be solved in polynomial time when the parameter is fixed to be a constant. However this is still not completely correct, but to give a more formal definition, we need to introduce some notation. In parameterized complexity theory, the input of an instance of a parameterized problem consists of two parts: the main input X, in our case a graph, and a parameter k, usually an integer. Just saying 70 that the problem is solvable in polynomial time for fixed values of k, means that also a running time of the kind O(|X|k) is acceptable. However, a problem is called fixed parameter tractable (FPT) only if there exists an algorithm that runs in time O(f(k) ·|X|c), where f(k) is a computable function dependent only on k, and c is a constant. Such an algorithm is also called an FPT algorithm. This is what we meant by saying that the combinatorial explosion is confined to the parameter only. To use a classical example in parameterized complexity, we show the differ- ence between the usual version of the Vertex Cover problem, and one possible parameterized version, where the parameter is the size of the vertex cover itself. As we noticed earlier, the Vertex Cover problem, is also a Minimum Π-Vertex Deletion problem, where Π is the property of being an independent set.

Vertex Cover Input: A graph G =(V, E) and an integer k Question: Is there a vertex cover V ′, s.t. |V ′| ≤ k?

It is well know that this problem is NP-complete when k is part of the input, but what can we say about it when k is independent from the input? k-Vertex Cover Input: A graph G =(V, E) Parameter: An integer k. Question: Is there a vertex cover V ′, s.t. |V ′| ≤ k?

When k is a constant independent from the input, it is trivial to give a poly- nomial algorithm for the problem. If we try all possible subsets of V that have size at most k, we will for sure find a solution, if one exists. This algorithm would run in O(|V |k · k2) time, but, as we mentioned, this is not enough to declare the problem FPT with respect to k. Notice, in fact, that we cannot separate the running time into two parts, one depending only on k and the other depending only on the size of the input. It is possible to get a fixed parameter algorithm for this problem by using a method called bounded search tree. This technique consists in generating a search tree whose size is bounded by some function of k. In other words we look through all possible solutions, but in a smarter way than just using simple brute force. This can be accomplished thanks to the extra information given by the parameter. In this case we exploit the fact that we are looking for a vertex cover of size at most k, and that every edge must have at least one endpoint in any feasible solution. Hence, branching on the endpoints of each vertex guarantees that at least one of the two branches will contain the correct endpoint. By branching, we mean that we generate a partial solution for each of the endpoints, and for each of them we iterate the process on the graph 71 without the corresponding endpoint. After we branched k times, either there is a leaf of the search tree representing a vertex cover of size at most k, or we can claim that there is no solution. The height of the search tree is at most k, and each of tis nodes has degree at most 2. Hence we have looked through at most 2k sets of vertices that could be potential solution, spending polynomial time for each of them. This yields an algorithm with running time O(2k · n2), which is definitely better than O(nk · k2) for large values of n. To see how important it is to choose the right parameter, we mention that if we asked whether there exists a vertex cover of size at most k, but chose as a parameter k′ = n − k, then the problem it is proved to be unlikely to be FPT. In this case, in fact, we are actually asking whether there exists an independent set of size at most k′, when the parameter is the size of the independent set, and this problem is W [1]-complete [78]. To understand what this means, we need to give an overview of the parameterized complexity classes. In parameterized complexity there is a hierarchy of classes for hard problems, i.e., those that are unlikely to be fixed parameter tractable. This hierarchy is called the W -hierarchy, and for each different integer t, there exists a class W [t] that contains all other classes W [t′] where t′ < t. That is F P T ⊆ W [1] ⊆ W [2] ⊆ . . . ⊆ W [t]. The only thing we want to point out here, is that if a problem is proved to belong to some class of the W hierarchy, hence it is W [t]-complete or hard for some t, then it is very unlikely to be FPT. Without entering into the details, we mention that problems like k-Maximum Clique and k-Maximum Independent set are W [1]- complete, while k-Dominating Set is W [2]-complete. In this case k represents the size of the clique, independent set and dominating set, respectively. The W [1] class can also be expressed in terms of Turing machines to give a better parallel with the class of NP complete problems. The problem of checking whether a single-tape, single-head non-deterministic Turing machine on a given input halts within k steps, is W [1]-complete when the parameter is k. Furthermore, there are some problems that are not only unlikely to be FPT, but are even unlikely to have a polynomial algorithm when the parameter is a fixed constant. For example, for the k-Vertex Coloring problem, where k is the number of colors, the problem remains NP-complete for any fixed k > 2. The interested reader can refer to [78, 202, 88] for more details. The Vertex Cover problem was the first problem to be extensively studied from a parameterized point of view, and as we mentioned before, it is a graph modification problem as well. From then, many other NP-complete graph modifi- cation problems have been studied in a parameterized form, almost always using as a parameter the number of modifications. From this point on, unless otherwise specified, the parameter k will represents the number of vertex deletions, edge ad- ditions, edge deletions or editings according to the specific modification problem, that we will call k-Π-Completion/Deletion/Editing/Vertex Deletion problem. One of the first other modification problems to be shown fixed parameter 72 tractable was the k-Feedback Vertex Set by Bodlaender [22], and Downey and Fellows [79]. The most recent algorithm for the problem is due to Chen et al. [54] and runs in time O(5kkn2). Afterward, Kaplan, Shamir and Tarjan studied the parameterized complex- ity of completions into graph classes relevant to numerical algebra and molecu- lar biology, namely: chordal, strongly chordal and proper interval graphs [153]. In all three cases, the corresponding k-Π-Completion problem turned out to be FPT, by using a bounded search tree approach. The resulting running times are O(16km) for chordal and proper interval completions, and O(64km log n) for strongly chordal completions. Only two years later, Cai gave the first very general result in this direction, proving that the (i, j, k)-Π-Modification problem is FPT for all hereditary proper- ties Π that can be characterized by a finite set of forbidden subgraphs [43]. The (i, j, k)-Π-Modification problem is a generalization of many other modification problems. It asks whether a graph can be modified into a graph with property Π, adding at most i edges, removing at most j edges, and removing at most k vertices. Clearly when j = k = 0 we have the i-Π-Completion problem, when i = k = 0 the j-Π-Deletion problem, when i = j = 0 the k-Π-Vertex Deletion problem, when i = 0 the (j, k)-Π-Partial Subgraph problem and when k =0a special case of the (i, j)-Π-Editing problem. This last problem is not the same as the k-Π-Editing problem, since we limit the number of additions and deletions rather than the number of total editings. Still, it is enough to run the (i, j)-Π- Editing problem for all possible values of i and j such that i + j = k, to simulate the k-Π-Editing problem. The idea used to prove this result is quite simple, but it is still one of the most cited results in this field for its generality. The key point is that, since a property Π is defined by a finite set F of forbidden subgraphs, we can consider the size of the biggest graph in F as a constant, let us say s. Hence it is polynomial to check whether a graph has the property Π, just listing all O(ns) possible subgraphs on at most s vertices and check whether any of them is in F . In the same way we can find a forbidden subgraph on at most s vertices, and try all possible modifications s on it, i.e, 2 edge deletions and additions, and s vertex deletions. This would generate a search tree of total size O(s2i+2j+k). Since each node of the search tree requires polynomial time computation to find a forbidden subgraph, we have a general FPT algorithm with running time O(s2i+2j+kns+1). In the same paper Cai gives also a better analysis of the algorithm for k- Chordal Completion given in [153], improving the running time to O(4k(n + m)). Recently a new algorithm for this problem has been proposed, that runs in time O(3.08k(m + n)) [21]. Another breakthrough in this area was an FPT algorithm for k-Vertex Bipar- tite Deletion. The problem was shown FPT in [221], where the authors introduce also a new technique to design FPT algorithms: the iterative compression. It- 73 erative compression is an inductive technique that reduces the problem to an instance where we have already a partial solution of size k +1 and we try to compress it to a solution of size k by using an FPT algorithm. If we manage to do that, then we can add one more vertex from the original graph to the current solution, getting again one of size k + 1. By iterating the compression step until all vertices have been considered, we automatically get an FPT algorithm for the whole graph. For a problem to be solvable using this technique, one condition in particular must be satisfied: a no answer given at one step, must imply a no answer for the whole graph. That is why this technique suits very well vertex deletion problems into an hereditary graph class. If we iterate on induced subgraphs, and we get a no answer for one of them, then the answer is no for the whole graph, because the property must be hereditary. For edge modification problems, it seems very difficult to use iterative compression since hereditary properties are not closed under taking of partial subgraphs. Recently this technique has been used to show that, for example, the k-Feedback Vertex Set problem [55], the k-Cluster Vertex Deletion problem [144] and the k-Chordal Vertex Deletion problem [181] are FPT. In the extended journal version of [181], Marx shows how the same algorithm can be actually extended to solve k-Chordal Deletion as well [183]. The k-Chordal Editing problem is still open. Very recently also a problem left open in [153] has been positively resolved: the k-Interval Completion Problem. Heggernes et al. [133], showed that this problem in indeed FPT. The surprising part is that the algorithm is based on a bounded search tree technique. This was thought to be very unlikely because of some very large forbidden subgraphs (asteroidal triples), for which trivial branching would generate too many nodes in the search tree. Among other problems that have been shown FPT we have: the k-3 Completion, Deletion and Editing [76] and k-Planar Vertex Deletion [184, 1]. Actually k-Planar Deletion and Vertex Deletion are FPT as a consequence of the fact that the yes instances of these problems can be characterized by a finite set of forbidden minors for each fixed k. This implies that there exists an FPT algorithm to check whether any graph is a yes instance of these two problems [225, 224]. The problems of asking whether a graph has Treewidth, Pathwidth or Band- width at most k, have been studied from a parameterized point of view when the parameter is k. It turns out that there is a big difference in their parameterized complexity. While Treewidth and Pathwidth are FPT, in particular they can be solved in O(f(k)(n + m)) time [23], the Bandwidth problem is W [t]-hard for every t [25]. An interesting observation about Treewidth is that the algorithm implicit in Theorem 3.2.3, is actually FPT when the parameter is the treewidth of the input graph. Hence, all problems expressible in MSOL are fixed parameter tractable when parameterized by treewidth. 74

Another line of research in parameterized complexity, focuses on finding small kernels for a problem, rather than just showing it FPT. Given an instance (G,k) of a parameterized problem, where G is a graph and k is the parameter associated to the problem, a kernel is a “simpler” or smaller instance (G′,k′), that has a solution if and only if (G,k) has one. More formally:

Definition 4.3.1 A kernelization for a parameterized problem Q is a transfor- mation which maps an instance (I,k) onto (I′,k′) (which is called a problem kernel) such that:

1. k′ ≤ k and |I′| ≤ g(k) for some computable function g.

2. The transformation from (I,k) onto (I′,k′) is computable in polynomial time.

3. (I,k) is a yes-instance of Q if and only if (I′,k′) is a yes-instance of Q.

The function g(k) is called the size of the kernel for Q. The following result is well known.

Theorem 4.3.2 ([77]) A problem is FPT if and only if it admits a kernelization.

Proof. Assume a kernel of size g(k) can be found in time O(nc) for some constant c. Then it is possible to use brute force on the kernel finding a solution in time f(g(k)) = h(k). Hence we get an algorithm with total running time O(nc +h(k)), that is FPT. On the other hand, assume we have an FPT algorithm that runs in O(f(k)nc) time. Then if n > f(k) we just solve the problem using the FPT algorithm. Otherwise, if n ≤ f(k), the input is already a kernel. The polynomial preprocessing that is done on the input graph to obtain a kernel consists usually of a set reduction rules. For example, in the case of the of the k-Chordal Completion problem, a reduction rule might be: “If there is a simplicial vertex in the graph, then remove it”. This reduces the size of the graph without changing the problem, because in every minimal triangulation of a graph G, there are no fill edges incident to a simplicial vertex of G, and removing a simplicial vertex does not create or destroy cycles. This rule alone does not yield a kernel, because there is no guarantee on the size of the resulting graph. However it might be used independently to speed up in practice exact exponential time algorithms or heuristics. This is one of the reasons why kernelization is very appealing. Another reason is that an FPT algorithm derived from kernelization, ′ often yields a running time of the kind O(nc + g(k)), rather than O(nc f(k)). This is due to the fact that the preprocessing needed to obtain the kernel, is a separate process from actually solving the problem on the kernel. Thus, if the kernel size is small enough, the resulting running time it might be better than classical FPT algorithms. 75

Also for graph modification problems we find some research for small kernels. A problem for which a lot of work has been done in this direction, is the k- Cluster Editing problem. Cluster graphs are exactly the P3-free graphs, hence the k-Cluster Editing problem is FPT by the results in [43]. However using the general algorithm given in that paper, we would obtain a running time of O(k32kn4), while there are specific algorithms that can run quite faster, like for example the one given in [111] that runs in time O(1.92k +n3). When it comes to kernelization, there is a long sequence of results [112, 214, 84, 85], the last one of which [116] shows that a kernel of size 4k can be obtained in time O(nm2), and a kernel of size 6k that can be obtained in time O(n3). Also the k-Cluster Vertex Deletion problem admits a polynomial size kernel. It follows from a reduction from the 3-Hitting set problem, it can be computed in O(n3) time and it has size O(k2) [144]. Other graph modification problems that admit a polynomial kernel are the k-Split Deletion/Completion, k-Chain Deletion, k-Threshold Deletion and k- Trivially perfect Completion [117]. In [153], the authors give a polynomial time kernelization for the k-Chordal Completion problem to a kernel on O(k3) vertices, obtaining a running time of O(k2mn + k616k). The size of this kernel was further improved in [200], but here we explain the intuition behind the reduction rules used in [153], to give a feeling of how a kernelization works. Let G =(V, E) be our input graph and k be the bound on the number of fill edges we can use to make G chordal. A key observation is that any chordless cycle of length l needs at least l − 3 fill edges to be triangulated. So if a graph has a chordless cycle on more than k + 3 vertices, we can just answer no. A first preprocessing we can do, is to find induced cycles in the graph and remove them from it. In this way V is partitioned into two sets A and B, such that G[B] is chordal and G[A] contains only vertex disjoint induced cycles of length at most k + 3. Since all the cycles in G[A] can be made chordal independently, each of them requires exactly l − 3 fill edges where l is the length of the cycle, and there cannot be more than k cycles. Hence, if we call C a cycle in G[A] and lC its length we have: PC∈G[A] (lC − 3) ≤ PC∈G[A] lC − 3k = |A| − 3k ≤ k, that yields |A| ≤ 4k. Now, all chordless cycles in G are either in G[A] or intersect both A and B. Thus they must contain at least a vertex of A. It can be proved that for each vertex of A, at most O(k2) other vertices can be considered in B to account for all cycles in G passing through that vertex, or there cannot be a solution. By moving all these vertices in A, we get a problem kernel on at most O(k3) vertices for the k-Chordal Completion problem. After so many positive results, it is natural to wonder whether all graph mod- ification problems into hereditary graph classes, are FPT. However the answer is negative. Very recently Loksthanov [177] showed that when Π is the class of wheel-free graphs (see Table 2.1), both the k-Π-Deletion and k-Π-Vertex Deletion problem, and consequently also the k-Π-Completion problem, are W [2]-hard. 76

There are also very general results for the dual of the k-Π-Vertex Deletion problem, namely the problem of finding an induced subgraph with property Π on at most k vertices. We call it the k-Π-Induced Subgraph problem. In [157], Khot and Raman classify the parameterized complexity of this prob- lem for all hereditary properties, giving a parametric parallel of Theorem 3.1.1. Theorem 4.3.3 ([157]) Let Π be a non-trivial and interesting hereditary prop- erty. Then if Π holds for all independent sets, but not all cliques (or vice versa), the k-Π-Induced Subgraph problem is W [1]-hard, or FPT otherwise. The idea to show the part about the fixed parameter tractability, is very straightforward. For any positive integers p and q, the Ramsey number R(p, q) is the minimum number such that any graph on at least R(p, q) vertices contains either a clique of size p or an independent set of size q. It is well-known that p+q−2 R(p, q) = q−1 . Let us explain the simplest case in which Π holds for all independent sets and cliques. Any graph with at least R(k,k) vertices contains either a clique or an independent of size at least k, so the answer is yes. If the graph has fewer than R(k,k) vertices, than it has f(k) vertices and it is a kernel, so the fixed parameter tractability follows. Notice that while from a classical complexity point of view, finding the max- imum induced subgraph or removing the smallest set of vertices is equivalent, in parameterized complexity the parameters, and therefore the tractability, changes. We have seen this for the k-Vertex Cover problem. While asking whether remov- ing at most k vertices to obtain an independent set is FPT, asking whether there exists an independent set of size at most k as induced subgraph is W [1]-complete. Therefore, the complexity for the k-Π-Vertex Deletion problem, when Π is char- acterized by an infinite number of forbidden induced subgraphs, is still open. Positive answers has been given for the classes of Planar [184], Chordal [181], Bipartite [221] and Forest graphs [55]. Among the most interesting remaining classes, we have interval graphs. Also for some non-hereditary properties, some parameterized modification problems have been considered. There is an FPT algorithm for the k-Vertex Connectivity Completion problem, where k refers to the connectivity, not the maximum number of edges that can be added [146]. However it is not known yet, whether the non-parameterized version of the problem is even NP-complete. Finally, for the problem of making a graph 1 or 2-edge connected by adding at most l edges, Guo and Uhlmann give a polynomial time kernelization in [119]. Notice that there is a restriction in this problem: the edges we add cannot be any, but must belong to a specific set provided with the input. For the general version where any edge can be added, it is polynomial to add the minimum number of edges to make the graph k-connected for any k [197]. In other words, the problem they solve in [119], is a parameterized sandwich problem for some connectivity properties. Chapter 5

Solving problems on modified graphs

In the previous chapters we have been concerned with the problem of modifying a graph so that it has some desired properties. Now we go one step further. Assume we know that we can make our input graph have the desired properties by applying a small number of modifications. Can we use this information to solve other problems on this graph? In Chapter 5.1 we formalize and try to answer this question, by starting from an idea that is often given as a motivation for studying minimal Π-graph modification problems. That is, it might be more practical to solve a problem on a Π-completion of the input graph rather than on the input graph itself. Especially when the problem is NP-hard in general, but becomes polynomial time solvable when the input is restricted to graphs in Π. In Chapter 5.2 we introduce a new type of graphs, called fuzzy graphs. They contain some pairs of vertices that are neither adjacent nor non-adjacent, so that the relation between them is undetermined (fuzzy). These missing edges and non-edges represent some “lack of information” in the graph, and can be used to model more realistic situations. Solving problems on these graphs depends on finding the correct way to fill the missing information, and this can be seen as a special sandwich problem defined by the input graph.

5.1 Parameterized graph families

We mentioned that it might be convenient to solve a problem on a minimal completion or deletion of the input graph, rather than the input graph itself. Of course in this case we wish the modified graph to be as close as possible to the input one, but we know that minimality alone does not give any guarantee on the number of modifications. This also precludes the possibility of a guarantee

77 78 on an approximation bound for how good a solution on the modified graph might be with respect to the optimum on the input graph. In this section we would like to give a possible framework to formalize the previous ideas, to make it possible to study systematically how problems that are easy for a graph class Π behave when the input graph is close enough to being in Π. We can see the approach described here from two different, yet equivalent, points of view. On one hand we are generalizing the graph classes for which NP-hard problems become polynomial time solvable and study how much we can extend them before the problem becomes intractable again. On the other hand, we present graph modification problems as another way to deal with hard problems. Let us also point out the we consider only hereditary graph classes in this chapter. First of all we formalize the concept of closeness between two graph classes. What do we mean when we say that a graph is close enough to a specific graph class Π? There are various ways to define the distance between two graphs, we choose the following. We say that a graph is at distance k from a graph class Π if it can be made into a graph of Π by using at most k edge or vertex modifications. Consequently, given a graph class Π and a parameter k, we can define the following parameterized graph classes:

• Π-ke graphs: The class of graphs that can be obtained from the graphs in Π by removing at most k edges.

• Π+ke graphs: The class of graphs that can be obtained from the graphs in Π by adding at most k edges.

• Π+kv graphs: The class of graphs that can be obtained from the graphs in Π by adding at most k vertices.

A first observation is that for each fixed k we get a different class, and that Π-ke ⊂ Π-(k + 1)e, Π+ke ⊂ Π+(k + 1)e, and Π+kv ⊂ Π+(k + 1)v. That is, for example, the class of graphs that can be obtained by adding at most k edges to graphs in Π is a subclass of the graphs that can be obtained adding at most k +1 edges. A second observation is that a graph belongs to the class Π-ke, Π+ke or Π+kv if and only if it is a yes instance for the k-Π-Completion, k-Π-Completion or k-Π-Vertex Deletion problem, respectively. Therefore, the algorithms for these problems can be used as a recognition algorithm for the corresponding parame- terized graph class (see Table 5.1). In particular they can be used to find the set of at most k edges or vertices that needs to be modified to make the graph have the property Π. This set of edges or vertices is called a modulator of the graph. Also, since we consider only hereditary properties, it is easy to see the following. 79

Π−ke REC. Π+ke REC. Π+kv REC. Π k−Π-COMPL. k−Π-DEL. k−Π-V.DEL. Chordal O(3.08k(n+m)) [21] FPT [183] FPT [181] Interval O(k2kn3m)[133] ? ? Proper Int. O(24km) [153] ? ? Strongly Chor. O(82kmlogn)[153] ? ? Finite forb. set FPT [43] FPT [43] FPT [43] Planar - FPT∗ O(f(k)n2) [184, 1] 3-leaf power ((l+3)2lnm)[76] (6knm) [76] FPT [76] Bipartite - O(2km2) [113] O(3kkmn) [221, 143] Forest - - O(5kkn2) [54] Wheel-free ? W [2] [177] W [2] [177]

Table 5.1: The results in this table summarize also the FPT algorithms for graph modification problems that we discussed in Chapter 4.3. ∗ means that the class is closed under minors [225, 224]. The “?” indicates an open problem.

Observation 5.1.1 Every Π-ke and Π+ke graph is also a Π+kv graph. Proof. Let K be a modulator of a Π − ke and Π+ ke graph G =(V, E). Then we can always find a set K′ of at most k vertices that covers all edges in K. Since G[V \ K′] is an induced subgraph of G′ =(V, E \ K), it is also graph with property Π. Now that we defined formally parameterized graph classes, we discuss how to solve hard problems on them. First of all we consider only problems that are polynomial time solvable on the basic class Π, i.e., when k = 0. If a problem is NP-hard even when restricted on Π, then it remains intractable also on all superclasses of Π. Still, even though an NP-hard problem becomes polynomial time solvable on Π, we cannot expect it to stay polynomial on Π+kv, Π+ke, and Π+ke graphs for arbitrary k, if k is part of the input. This is why we study the parameterized tractability of these problems, using k as parameter. More formally, given a NP-hard problem Q and a graph class Π such that Q is polynomial time solvable when the input belongs to Π, then: • Is Q fixed parameter tractable on Π+kv, Π+ke, and Π+ke when parame- terized by k? • If not, is Q at least polynomial time solvable for every fixed k? • If not, for which k does the problem become NP-hard again? An important point to make clear is that we are solving the problem Q exactly on a parameterized graph class. The parameter k here, does not describe the out- put of the problem as for the modification problems we have seen earlier, but the 80 input. Let us take the Minimum Fill-in problem as example. Its parameterized version, the k-Chordal Completion problem, asks for solutions of size at most k, and we know that in this case the problem is FPT with respect k for any input graph. When the input is a parameterized graph class, instead, we want to find an optimal solution to the Minimum Fill-in problem, independently from its size. Minimum Fill-in is NP-complete in general, but it is polynomial time solvable, for instance, on permutation graphs [188]. What can we say about the class of permutation+kv graphs? How does the complexity of the Minimum Fill-in prob- lem change for different values of k? The information that the parameter k gives us is that our input graph can be made permutation by removing at most k ver- tices from it. It might be that for permutation+1v graphs the problem can still be solved in polynomial time, but for permutation+2v it becomes NP-complete. Or there might be an O(f(k)nc) or O(nk) algorithm for every k, so that as long as k is small, the Minimum Fill-in problem can be solved exactly and efficiently on permutation+kv graphs. In other words, we study how the complexity of a problem changes on a family of classes, as we get further from the members of this class for which the problem is polynomial time solvable. In [118], the parameter k that we consider here has been presented in a more general setting as a measure of distance from triviality, meaning that given an instance for which a problem can be solved “trivially”, we measure how the complexity of the problem changes as we get further from this instance. Since Cai [44] introduced parameterized graph families, there has been con- siderable research on the recognition problem for these classes (see Table 5.1). However, when it comes to actually solve problems on them, only vertex coloring problems have been studied (see Table 5.2), with the exception of Bipartite+kv graphs, for which there exists a polynomial time algorithm for the Edge Coloring problem when k = 1 [220]. We think that is worth to investigate other important problems as well. There are some simple general results for Vertex Cover (VC), Maximum Clique (MC), and Maximum Independent set (MIS), but for example nothing on the Dominating Set problem.

Theorem 5.1.2 If VC, MC and MIS are polynomial time solvable on a heredi- tary graph class Π, then they are fixed parameter tractable on Π+kv graphs, and therefore Π-ke and Π+ke as well.

Proof. We will prove the statement for independent set only, since the other two problems can be dealt with using exactly the same approach. Let T (n, m) be the running time of a polynomial time algorithm to find a maximum independent set on a graph in Π. Now, let G =(V, E) be Π+kv graph, with modulator K, and S be a maximum independent set for G. We define SK = S∩K and SV = S\SK. We prove that SV is a maximum independent set for G[V \(K∪N(SK ))]. Assume not, then we could find a bigger independent set I ⊆ V \(K ∪N(SK )), such that I ∪SK 81

CLASS Π VERTEX COLORING Bipartite+ke O(n + m) if k < 4 - NPC if k ≥ 4 [44] Bipartite+kv∗ O(n + m) if k < 3 - NPC if k ≥ 3 [44] Split−ke O(2k(n + m + k)) [44] Split+ke O(f(k)+ n + m) [44] Split+kv O(nk+2k log k) - W[1]-hard [44] Comparability−ke Pol. if k = 1 [137] Comparability+ke Pol. if k = 1 - NPC if k ≥ 2 [137] Chordal-ke O(f(k)(n + m)) [44] Chordal+ke FPT [182] Chordal+kv W[1]-hard [182] Interval+ke FPT [182] Interval+kv W[1]-hard [182]

Table 5.2: Some other general results on the Vertex Coloring problem on param- eterized graph classes can be found in [44]. is a bigger independent set for G. We can conclude that a maximum independent set of G consists of some subset of SK of K and a maximum independent set of G[V \ (K ∪ N(SK))]. Therefore we can find it just trying all possible subsets SK of K, and the corresponding maximum independent set in G[V \ (K ∪ N(SK ))], that is clearly a Π graph. This takes time O(2kk2T (n, m)), proving the first part of the statement. The second part follows from Observation 5.1.1.

a b

Figure 5.1: The graph on the right is a split+1v graph with an exponential number of minimal ab-separators when the number of the neighbors of a and b is a function of n. The graph on the left is a series parallel graph with arbitrarily long induced cycles and exponential number of minimal separators.

In our work in [179] (paper IV), we consider also graph modification problems on parameterized graph classes. In particular Minimum Π-Completion of Π+kv or Π+ke graphs, Minimum Π-Deletion of Π+kv or Π-ke graphs, Treewidth and Minimum Fill-in. The results are summarized in Table 5.3, together with a similar result given for the class of cograph+1e [203]. In this last case it would be interesting to extend the results at least to cograph+ke graphs, since when 82

CLASS Π MinFill Tw Π-Comp Π-Del Cograph+1e ? ? O(n + m)[203] - Split−ke O((2k)!nm) [179] O((2k)!nm)- O(2knm) Split+ke O((2k)!nm) [179] O((2k)!nm) O(2knm)- Split+kv NPC for k≥1 [179] ? O(2knm) O(2knm) Split+1v NPC [179] O(n+m) O(n+m) [129] O(n+m) Chordal+kv NPC for k≥1 [179] ? ≡ MinFill ?

Table 5.3: If consecutive entries on the same row have the same reference, then we explicitely mention the reference only for the first entry. considering cograph+1v, the problem looks quite hard. The results in [179] (paper IV) are quite intriguing since they show the ex- istence of a graph class for which Minimum Fill-in and Treewidth have different computational complexity, i.e., split+1v graphs. Can this be a first step in un- derstanding what makes these two problems behave differently in relation to the structure of the graph, and why Treewidth seems to be easier than Minimum Fill-in? For example, split+1v graphs can have induced cycles of length at most 5, while they can have an exponential number of minimal separators (see Figure 5.1). However, these structural properties alone are not enough to influence the complexity of the two problems, as it can be seen in the case of series-parallel graphs. Graphs in this class can have arbitrarily long induced cycles and exponen- tial number of separators (see Figure 5.1), but their treewidth is at most 2, and therefore the Minimum Fill-in problem can be solved in linear time. What other structural property of split+1v graphs can influence these problems? Maybe the fact that, differently from series parallel graphs, they have unbounded treewidth? More hints might be given if we knew whether there exist graph classes for which Treewidth is NP-hard while Minimum Fill-in is polynomial time solvable. We find these questions worth of further investigation, and probably parameterized graph classes are a good place to start the quest for answers.

5.2 Getting more realistic: Fuzzy Graphs

In [20] (paper V) we introduce a type of graphs that we call fuzzy graphs, in order to take into consideration realistic assumptions on graphs produced by practical applications, like missing or ambiguous information. In this chapter we discuss them briefly, pointing out some connections with the Π-Sandwich problem, and suggesting a possible way to attack problems on these graphs from a parameterized point of view. We define a fuzzy graph G =(V,E,F ) to be a graph with two types of edges: 83

E is the set of real edges, and F is the set of fuzzy edges. Between all other pair of vertices in the graph we say that we have non-edges. The fuzzy edges represent some information that is missing. We do not know whether they should be edges or non-edges, but they can be either of them. Formally we say that (R+, R−) with F = R+ ∪ R− is a realization of F into real edges R+ and non-edges R− such that G′ =(V, E ∪ R+) is the corresponding normalization of G =(V,E,F ). In some papers fuzzy graphs have been studied in relation to the Correlation Clustering problem [11, 74], but in this case they were represented as normal graphs where the edges have weights of value 1 or 0. This representation is very specific for the problem they study, and not suitable for the general considerations we discuss in this chapter. Due to the ambiguity of the fuzzy edges, we can imagine a fuzzy graph as a family of graphs, namely the set of all its possible normalizations. For this reason, most problems need to be redefined on fuzzy graphs, in order to take the fuzziness into account. There might be different ways to do this, but the one we choose can be summarized as to find the normalization of the input fuzzy graph for which the problem in question can be solved optimally. That is, we want to replace the missing information in the best possible way for the current problem. Naturally, as normal (non-fuzzy) graphs are a special case of fuzzy graphs, all problems that are NP-hard on non-fuzzy graphs remain intractable on fuzzy graphs. The first problem we would like to redefine, is the Π-Recognition problem. Fuzzy Π-Recognition Input: A fuzzy graph G =(V,E,F ). Question: Is there a realization of the fuzzy edges into real edges R+ and non- edges R− such that G′ =(V, E ∪ R+) has the property Π? This brings us to the connection between fuzzy graphs and graph modification problems.

Observation 5.2.1 The Fuzzy Π-Recognition problem is equivalent to the Π- Sandwich problem.

Proof. Consider a fuzzy graph G = (V,E,F ), and the two non-fuzzy graphs + − G1 = (V, E) and G2 = (V, E ∪ F ). Then there exists a realization (R , R ) of the fuzzy edges such that G′ =(V, E ∪ R+) has the property Π, if and only G′ is a solution to the Π-Sandwich problem with input G1 and G2. If we call the family of fuzzy graphs with property Π fuzzy Π graphs, Observa- tion 5.2.1 implies that, for example, it is NP-complete to recognize fuzzy chordal and fuzzy interval graphs, but polynomial to recognize fuzzy split, cographs and threshold graphs. This alone adds a new level of difficulty to the problems on fuzzy graphs. 84

We redefine also minimum Π-Modification problems on fuzzy graphs, so that, consistently with non-fuzzy graphs, they remain a generalization of the Fuzzy Π-Recognition problem. Minimum Fuzzy Π-Modification Input: A fuzzy graph G =(V,E,F ), an integer k ≥ 0. Question: Is there a realization of the fuzzy edges into real edges R+ and non- edges R− such that G = (V, E ∪ R+) can be modified into a graph with the property Π by using k′ ≤ k modifications? The word Modification can be replaced by Completion, Deletion, Editing or Vertex Deletion to obtain all the specific modification problems we usually consider. In this framework, the usual methods used to solve modification problems will not work. Minimality is not well defined, and it is not clear if it could be useful for fuzzy graphs in any case, since even the recognition problem is NP-complete in many interesting cases. For the same reason, a parameterized approach is going to fail if we use k, i.e., the number of modifications, as parameter, because when k = 0 we are solving exactly the recognition problem. In [20] (paper V), where we consider the Fuzzy Cluster Editing problem, we decided to approach the problem from a parameterized point of view, but to look for other parameters that are more appropriate to capture the structure of fuzzy graphs. In this case, even though the recognition of fuzzy cluster graphs is polynomial time solvable, the complexity of the problem parameterized by only k seems very hard to establish. That is why we propose to study the problem using one more parameter that seems very natural for fuzzy graphs: the size of a minimum fuzzy vertex cover. A fuzzy vertex cover is a set S of vertices such that every fuzzy edge has at least one endpoint in S. This also means that for a fuzzy graph G =(V,E,F ), the graph G[V \ S] is non-fuzzy. Exploiting this new parameter, that we call r, we were able to show that the problem parameterized by both r and k, i.e., the (k,r)-Cluster Editing problem, is FPT . Future research might focus on studying other modification problems by using the fuzzy vertex cover number as a parameter, or on looking for other interesting parameters related fuzzy graphs. We hope that these preliminary results will encourage further investigation on fuzzy graphs that, in our opinion, are a natural extension to be considered when we want to model more realistic problems. Chapter 6

Conclusions

In this first part of the thesis we tried to give an organized and comprehensive presentation of graph modification problems by considering various motivations, basic results and resolutive methods. The aim of this work has been twofold. On one hand we wanted to give the reader an extensive view of the common background that links all the papers included in the second part, and therefore put the results given in these papers in a more general perspective. On the other hand we hope that this work will be helpful both as a reference for researchers already working in this area and as an introduction to those who would like to learn more about this topic.

85 86 Bibliography

[1] I. Adler, M. Grohe, and S. Kreutzer. Computing excluded minors. In Proceedings of SODA ’08 - 19th annual ACM-SIAM symposium on Discrete algorithms, pages 641–650, 2008.

[2] A. Agnetis, P. Detti, C. Meloni, and D. Pacciarelli. A linear algorithm for the hamiltonian completion number of the line graph of a tree. Inf. Process. Lett., 79(1):17–24, 2001.

[3] N. Alon, A. Shapira, and B. Sudakov. Additive approximation for edge- deletion problems. In Proceedings of FOCS’05 - 46th Annual IEEE Sym- posium on Foundations of Computer Science, pages 419–428, 2005.

[4] C. Alvarez,` J. D´ıaz, and M. J. Serna. The hardness of intervalizing four colored caterpillars. Discrete Mathematics, 235(1-3):19–27, 2001.

[5] S. Arnborg, D. G. Corneil, and A. Proskurowski. Complexity of finding embeddings in a k-tree. SIAM J. Algebraic Discrete Methods, 8(2):277– 284, 1987.

[6] T. Asano and T. Hirata. Edge-deletion and edge-contraction problems. In Proceedings of STOC’82 - 14th Annual ACM Symposium on Theory of Computing, pages 245–254, 1982.

[7] V. Bafna, S. Istrail, G. Lancia, and R. Rizzi. Practical algorithms and fixed- parameter tractability for the single individual snp haplotyping problem. In Proceedings of WABI’02 - 2nd International Workshop on Algorithms in Bioinformatics, volume 2452 of Lecture Notes in Computer Science, pages 29–43. Springer, 2002.

[8] M. Bakonyi and A. Bono. Several results on chordal bipartite graphs. Czechoslovak Mathematical Journal, 47:577–583, 1997.

[9] M. Bakonyi and T. Constantinescu. Inheritance principles for chordal graphs. Linear Algebra Appl., 148:125–143, 1991.

87 88

[10] E. Balas. A fast algorithm for finding an edge-maximal subgraph with tr-formative coloring. Discrete Appl. Math., 15(2-3):123–134, 1986. [11] N. Bansal, A. Blum, and S. Chawla. Correlation clustering. Machine Learn- ing, 56(1-3):89–113, 2004. [12] G. Di Battista, P. Eades, R. Tamassia, and I. G. Tollis. Algorithms for drawing graphs: an annotated bibliography. Comput. Geom., 4:235–282, 1994. [13] A. Ben-Dor, R. Shamir, and Z. Yakhini. Clustering gene expression pat- terns. Journal of Computational Biology, 6(3-4):281–297, 1999. [14] S. Benzer. On the topology of the genetic fine structure. In Proceedings of the National Academy of Sciences of the United States of America, vol- ume 45, pages 1607–1620, 1959. [15] A. Berry, E. Cohen, M.C. Golumbic, M. Lipshteyn, N. Pinet, A. Sigayret, and M. Stern. Recognizing chordal-bipartite probe graphs. Technical report, LIMOS/RR-07-09, 2007. [16] A. Berry, M. C. Golumbic, and M. Lipshteyn. Two tricks to triangulate chordal probe graphs in polynomial time. In Proceedings of SODA’04 - 15th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 962– 969. SIAM, 2004. [17] A. Berry, P. Heggernes, and Y. Villanger. A vertex incremental approach for maintaining chordality. Discrete Mathematics, 306(3):318–336, 2006. [18] Daniel Bienstock. Graph searching, path-width, tree-width and related problems (a survey). DIMACS Ser. in Discrete Mathematics and Theoret- ical Computer Science, 5:33–49, 1991. [19] J. R. S. Blair, P. Heggernes, and J. A. Telle. A practical algorithm for making filled graphs minimal. Theor. Comput. Sci., 250(1-2):125–141, 2001. [20] H. Bodlaender, M. Fellows, P. Heggernes, F. Mancini, C. Papadopoulos, and F. Rosamond. Clustering with partial information. Technical report, 2008-373, UiB, 2008. [21] H. Bodlaender, P. Heggernes, and Y. Villanger. Private communication. [22] H. L. Bodlaender. On disjoint cycles. Int. J. Found. Comput. Sci., 5(1):59– 68, 1994. [23] H. L. Bodlaender. A linear-time algorithm for finding tree-decompositions of small treewidth. SIAM J. Comput., 25(6):1305–1317, 1996. 89

[24] H. L. Bodlaender. A partial -arboretum of graphs with bounded treewidth. Theor. Comput. Sci., 209(1-2):1–45, 1998.

[25] H. L. Bodlaender, M. R. Fellows, and M. T. Hallett. Beyond NP- completeness for problems of bounded width: hardness for the W hierarchy. In In Proceedings of STOC’94 - the 26th Annual ACM Symposium on the Theory of Computing, pages 449–458. ACM Press, 1994.

[26] H. L. Bodlaender, M. R. Fellows, and T. Warnow. Two strikes against perfect phylogeny. In Proceedings of ICALP’92 - 19th International Collo- quium on Automata, Languages and Programming, volume 623 of Lecture Notes in Computer Science, pages 273–283. Springer, 1992.

[27] H. L. Bodlaender and T. Kloks. A simple linear time algorithm for trian- gulating three-colored graphs. J. Algorithms, 15(1):160–172, 1993.

[28] H. L. Bodlaender, T. Kloks, and D. Kratsch. Treewidth and pathwidth of permutation graphs. SIAM J. Discret. Math., 8(4):606–616, 1995.

[29] H. L. Bodlaender, T. Kloks, D. Kratsch, and H. M¨uller. Treewidth and minimum fill-in on d-trapezoid graphs. J. Graph Algorithms Appl., 2(2), 1998.

[30] H. L. Bodlaender and R. H. M¨ohring. The pathwidth and treewidth of cographs. SIAM J. Discrete Math., 6(2):181–188, 1993.

[31] H. L. Bodlaender and U. Rotics. Computing the treewidth and the mini- mum fill-in with the modular decomposition. In Proceedings of SWAT’02 - 8th Scandinavian Workshop on Algorithm Theory, volume 2368 of Lecture Notes in Computer Science, pages 388–397. Springer, 2002.

[32] H. L. Bodlaender and B. van Antwerpen-de Fluiter. On intervalizing k- colored graphs for DNA physical mapping. Disc. Appl. Math., 71(1-3):55– 77, 1996.

[33] V. Bouchitte and I. Todinca. Treewidth and minimum fill-in of weakly triangulated graphs. In Proceedings of STACS’99 - 16th Annual Symposium on Theoretical Aspects of Computer Science, volume 1563 of Lecture Notes in Computer Science, pages 197–206. Springer, 1999.

[34] V. Bouchitt´eand I. Todinca. Treewidth and minimum fill-in: Grouping the minimal separators. SIAM J. Comput., 31(1):212–232, 2001.

[35] P. E. Bourne, E. Cayanis, S. G. Fischer, S. Kistler, E. A. Schon, J. Weiss, and P. Zhang. An algorithm based on graph theory for the assembly of contigs in physical mapping of DNA. CABIOS, 10:309–317, 1994. 90

[36] A. Brandst¨adt, V. B. Le, and J. P. Spinrad. Graph classes: a survey. SIAM Monographs on Discrete Mathematics and Applications. Society for Industrial and Applied Mathematics, 1999.

[37] G. Brightwell and W. T. Trotter. Great book of posets. book in preparation.

[38] H. Broersma, E. Dahlhaus, and T. Kloks. Algorithms for the treewidth and minimum fill-in of HHD-free graphs. In Proceedings of WG’97 - 23rd Inter- national Workshop on Graph-Theoretic Concepts in Computer Science, vol- ume 1335 of Lecture Notes in Computer Science, pages 109–117. Springer, 1997.

[39] H. Broersma, E. Dahlhaus, and T. Kloks. A linear time algorithm for minimum fill-in and treewidth for distance hereditary graphs. Disc. Appl. Math., 99(1-3):367–400, 2000.

[40] P. Buneman. A characterization of rigid circuit graphs. Discrete Math., 9:205–212, 1974.

[41] P. Burzyn, F. Bonomo, and G. Dur´an. NP-completeness results for edge modification problems. Disc. Appl. Math., 154(13):1824–1844, 2006.

[42] G. Cai and Y. Sun. The minimum augmentation of any graph to a k-edge- connected graph. Networks, 19(1):151–172, 1989.

[43] L. Cai. Fixed-parameter tractability of graph modification problems for hereditary properties. Inf. Process. Lett., 58(4):171–176, 1996.

[44] L. Cai. Parameterized complexity of vertex colouring. Disc. Appl. Math., 127(3):415–429, 2003.

[45] M. R. Cerioli, H. Everett, C.M. Herrera de Figueiredo, and S. Klein. The homogeneous set sandwich problem. Inf. Process. Lett., 67(1):31–35, 1998.

[46] D. B. Chandler, M. Chang, T. Kloks, J. Liu, and S. Peng. On probe permu- tation graphs. In Proceedings of TAMC’06 - 3rd International Conference on Theory and Applications of Models of Computation, volume 3959 of Lec- ture Notes in Computer Science, pages 494–504. Springer, 2006.

[47] D. B. Chandler, M. Chang, T. Kloks, J. Liu, and S. Peng. Partitioned probe comparability graphs. In Proceedings of WG’06 - 32nd International Workshop on Graph-Theoretic Concepts in Computer Science, volume 4271 of Lecture Notes in Computer Science, pages 179–190. Springer, 2006. 91

[48] D. B. Chandler, M. Chang, T. Kloks, J. Liu, and S. Peng. Recognition of probe cographs and partitioned probe distance hereditary graphs. In Proceedings of AAIM’06 - 2nd International Conference onAlgorithmic As- pects in Information and Management, volume 4041 of Lecture Notes in Computer Science, pages 267–278. Springer, 2006.

[49] D. B. Chandler, M. Chang, T. Kloks, and S. Peng. Partitioned probe ptolemaic graphs. In Proceedings of the 23rd Workshop on Combinatorial Mathematics and Computation Theory, pages 170–173, 2006.

[50] G. J. Chang, T. Kloks, J. Liu, and S. Peng. The pigs full monty - a floor show of minimal separators. In Proceedings of STACS’05 - 22nd Annual Symposium on Theoretical Aspects of Computer Science, volume 3404 of Lecture Notes in Computer Science, pages 521–532. Springer, 2005.

[51] G.J. Chang, T. Kloks, and S.L. Peng. Probe interval bigraphs. Electronic Notes in Discrete Math., 19:195–201, 2005.

[52] M. Chang. Algorithms for maximum matching and minimum fill-in on chordal bipartite graphs. In Proceedings of ISAAC’96 - 7th International Symposium on Algorithms and Computation, volume 1178 of Lecture Notes in Computer Science, pages 146–155. Springer, 1996.

[53] M. Chang, T. Kloks, D. Kratsch, J. Liu, and S. Peng. On the recognition of probe graphs of some self-complementary classes of perfect graphs. In Proceedings of COCOON’05 - 11th Annual International Conference on Computing and Combinatorics, volume 3595 of Lecture Notes in Computer Science, pages 808–817. Springer, 2005.

[54] J. Chen, F. V. Fomin, Y. Liu, S. Lu, and Y. Villanger. Improved algorithms for the feedback vertex set problems. In Proceedings of WADS’07 - 10th International Workshop on Algorithms and Data Structures, volume 4619 of Lecture Notes in Computer Science, pages 422–433, 2007.

[55] J. Chen, F. V. Fomin, Y. Liu, S. Lu, and Y. Villanger. Improved algorithms for the feedback vertex set problems. In Proceedings of WADS’07 - 10th International Workshop Algorithms and Data Structures, volume 4619 of Lecture Notes in Computer Science, pages 422–433. Springer, 2007.

[56] Z. Chen, T. Jiang, and G. Lin. Computing phylogenetic roots with bounded degrees and errors. SIAM J. Comput., 32(4):864–879, 2003.

[57] P. Z. Chinn, J. Chvtalov, A. K. Dewdney, and N. E. Gibbs. The band- width problem for graphs and matrices-a survey. Journal of Graph Theory, 6(3):223–254, 1982. 92

[58] H. Choi, K. Nakajima, and C. S. Rim. Graph bipartization and via mini- mization. SIAM J. Discret. Math., 2(1):38–47, 1989.

[59] M. Chudnovsky, G. Cornu´ejols, X. Liu, P. D. Seymour, and K. Vuskovic. Recognizing berge graphs. Combinatorica, 25(2):143–186, 2005.

[60] M. Chudnovsky, N. Robertson, P.D. Seymour, and R.Thomas. The strong perfect graph theorem. Ann. Math., 164:51–229, 2006.

[61] F. R. K. Chung and D. Mumford. Chordal completions of planar graphs. J. Comb. Theory Ser. B, 62(1):96–106, 1994.

[62] K. Cirino, S. Muthukrishnan, N. S. Narayanaswamy, and H. Ramesh. Graph editing to bipartite interval graphs: Exact and asymtotic bounds. In Pro- ceedings of FSTTCS’97- 17th Conference on Foundations of Software Tech- nology and Theoretical Computer Science, volume 1346 of Lecture Notes in Computer Science, pages 37–53. Springer, 1997.

[63] C.J. Colbourn and E.S. El-Mallah. The complexity of some edge deletion problems. 354–362, 35(3), 1988.

[64] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. The MIT Press, 2nd edition, 2001.

[65] D. G. Corneil, Y. Perl, and L. Stewart. Cographs: Recognition, applications and algorithms. Congressus Numerantium, 43:249–258, 1984.

[66] B. Courcelle. Graph rewriting: An algebraic and logic approach. In Hand- book of Theoretical Computer Science, Volume B: Formal Models and Se- matics (B), pages 193–242. Elsevier, Amsterdam, 1990.

[67] E. Cuthill and J. McKee. Reducing the bandwidth of sparse symmetric matrices. In Proceedings of the 24th Nat. Conf. ACM, pages 157–172, 1969.

[68] E. Dahlhaus. Minimal elimination ordering inside a given chordal graph. In Proceedings of WG ’97 - 23rd International Workshop on Graph-Theoretic Concepts in Computer Science, volume 1335 of Lecture Notes in Computer Science, pages 132–143. Springer, 1997.

[69] S. Dantas, C. M. H. de Figueiredo, and L. Faria. On decision and optimiza- tion (k,l)-graph sandwich problems. Disc. Appl. Math., 143(1-3):155–165, 2004.

[70] S. Dantas, S. Klein, C. P. de Mello, and A. Morgana. The p4-sparse graph sandwich problem. Electronic Notes in Discrete Mathematics, 22:185–188, 2005. 93

[71] S. Dantas, S. Klein, C. P. de Mello, and A. Morgana. The graph sandwich problem for P4-sparse graphs. Discrete Mathematics, page In Press, 2008.

[72] C. M. Herrera de Figueiredo, L. Faria, S. Klein, and R. Sritharan. On the complexity of the sandwich problems for strongly chordal graphs and chordal bipartite graphs. Theor. Comput. Sci., 381(1-3):57–67, 2007.

[73] P. M. Dearing, D. R. Shier, and D. D. Warner. Maximal chordal subgraphs. Discrete Appl. Math., 20(3):181–190, 1988.

[74] E. D. Demaine, D. Emanuel, A. Fiat, and N. Immorlica. Correlation clus- tering in general weighted graphs. Theor. Comput. Sci., 361(2-3):172–187, 2006.

[75] P. Detti and C. Meloni. A linear algorithm for the hamiltonian completion number of the line graph of a cactus. Disc. Appl. Math., 136(2-3):197–215, 2004.

[76] M. Dom, J. Guo, F. H¨uffner, and R. Niedermeier. Error compensation in leaf power problems. Algorithmica, 44(4):363–381, 2006.

[77] R. Downey, M. Fellows, and U. Stege. Parameterized complexity: A frame- work for systematically confronting computational intractability. AMS- DIMACS Series in Discrete Mathematics and Theoretical Computer Sci- ence, 49:49–99, 1999.

[78] R. G. Downey and M. R. Fellows. Parameterized Complexity. Springer, 1999.

[79] R.G. Downey and M.R. Fellows. Fixed-parameter tractability and com- pleteness. Congr. Numer., 87:161–187, 1992.

[80] K. Edwards and G. Farr. Fragmentability of graphs. J. Comb. Theory, Ser. B, 82(1):30–37, 2001.

[81] K. Edwards and G. Farr. Planarization and fragmentability of some classes of graphs. Discrete Mathematics, in press, 2007.

[82] K. P. Eswaran and R. E. Tarjan. Augmentation problems. SIAM J. Com- put., 5(4):653–665, 1976.

[83] U. Feige. Coping with the NP-hardness of the problem. In Proceedings of SWAT’00 - 7th Scandinavian Workshop on Algorithm Theory, volume 1851 of Lecture Notes in Computer Science, pages 10–19. Springer, 2000. 94

[84] M. R. Fellows. The lost continent of polynomial time: Preprocessing and kernelization. In Proceedings of IWPEC’06 - 2nd International Workshop on Parameterized and Exact Computation, volume 4169 of Lecture Notes in Computer Science, pages 276–277. Springer, 2006.

[85] M. R. Fellows, M. A. Langston, F. A. Rosamond, and P. Shaw. Efficient parameterized preprocessing for cluster editing. In Proceedings of FCT’07 - Fundamentals of Computation Theory, 16th International Symposium, vol- ume 4639 of Lecture Notes in Computer Science, pages 312–321. Springer, 2007.

[86] D. Fernndez-Baca. The perfect phylogeny problem. Steiner Trees in Indus- try, pages 203–234, 2001.

[87] C. M. H. Figueiredo, S. Klein, and K. Vuskovic. The graph sandwich prob- lem for 1-join composition is NP-complete. Disc. Appl. Math., 121(1-3):73– 82, 2002.

[88] J. Flum and M. Grohe. Parameterized Complexity Theory. Springer Verlag, 2006.

[89] F. V. Fomin, S. Gaspers, and A. V. Pyatkin. Finding a minimum feedback vertex set in time O(1.7548n). In Proceedings of IWPEC’06 - 2nd Interna- tional Workshop on Parameterized and Exact Computation, volume 4169 of Lecture Notes in Computer Science, pages 184–191. Springer, 2006.

[90] F. V. Fomin and P. A. Golovach. Graph searching and interval completion. SIAM J. Discrete Math., 13(4):454–464, 2000.

[91] F. V. Fomin and P. A. Golovach. Interval degree and bandwidth of a graph. Disc. Appl. Math., 129(2-3):345–359, 2003.

[92] F. V. Fomin, F. Grandoni, and D. Kratsch. Some new techniques in design and analysis of exact (exponential) algorithms. Bulletin of the EATCS, 87:47–77, 2005.

[93] F. V. Fomin, D. Kratsch, and I. Todinca. Exact (exponential) algorithms for treewidth and minimum fill-in. In Proceedings ICALP’04 - 31st Inter- national Colloquium on Automata, Languages and Programming, volume 3142 of Lecture Notes in Computer Science, pages 568–580. Springer, 2004.

[94] F. V. Fomin and Y. Villanger. Treewidth computation and extremal com- binatorics. In Proceednigs of ICALP’08 - 35th International Colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science, page To Appear. Springer, 2008. 95

[95] A. Frank. Augmenting graphs to meet edge-connectivity requirements. SIAM J. Discrete Math., 5(1):25–53, 1992.

[96] T. Fujisawa and T. Kashiwabara. NP-completeness of the problem of find- ing a minimum-clique-number interval graph containing a given graph as a subgraph. In IEEE Symp. of Circuits and Systems, pages 657–660, 1979.

[97] D. R. Fulkerson and O. A. Gross. Incidence matrices and interval graphs. Pacific J. Math., 15(3):835–855, 1965.

[98] H. N. Gabow. Applications of a poset representation to edge connectivity and graph rigidity. In Proceedings of FOCS’91 - 32nd Annual Symposium on Foundations of Computer Science, pages 812–821. IEEE, 1991.

[99] T. Gallai. Transitiv orientierbare Graphen. Acta Math. Acad. Sci. Hungar, 18:25–66, 1967.

[100] G. Gardarin and S. Spaccapietra. Integrity of data bases: A general lock- out algorithm with deadlock avoidance. In IFIP Working Conference on Modelling in Data Base Management Systems, pages 395–412, 1976.

[101] M. R. Garey, R. L. Graham, D. S. Johnson, and D. E. Knuth. Complexity results for bandwidth minimization. SIAM J. Applied Math., 34(3):477–495, 1978.

[102] M. R. Garey and D. S. Johnson. Computers and Intractability : A Guide to the Theory of NP-Completeness (Series of Books in the Mathematical Sciences). W. H. Freeman, 1979.

[103] M. R. Garey, D. S. Johnson, and L. J. Stockmeyer. Some simplified NP- complete graph problems. Theor. Comput. Sci., 1(3):237–267, 1976.

[104] R. Geldmacher and P. Liu. On the deletion of non-planar edges of a graph. In In Proceedings of the 10th Southeastern Conference on Combinatorics, Graph Theory, and Computing, pages 727–738, 1977.

[105] J. A. George and J. W. H. Liu. Computer Solution of Large Sparse Positive Definite Systems. Prentice-Hall Inc., 1981.

[106] P. W. Goldberg, M. C. Golumbic, H. Kaplan, and R. Shamir. Four strikes against physical mapping of DNA. Journal of Computational Biology, 2(1):139–152, 1995.

[107] M. C. Golumbic. Algorithmic Graph Theory and Perfect Graphs. Academic Press, 1st edition, 1980. 96

[108] M. C. Golumbic and M. Lipshteyn. Chordal probe graphs. Disc. Appl. Math., 143(1-3):221–237, 2004.

[109] M. C. Golumbic and R. Shamir. Complexity and algorithms for reasoning about time: A graph-theoretic approach. J. ACM, 40(5):1108–1133, 1993.

[110] M. Charles Golumbic, H. Kaplan, and R. Shamir. Graph sandwich prob- lems. J. Algorithms, 19(3):449–473, 1995.

[111] J. Gramm, J. Guo, F. H¨uffner, and R. Niedermeier. Automated generation of search tree algorithms for hard graph modification problems. Algorith- mica, 39(4):321–347, 2004.

[112] J. Gramm, J. Guo, F. H¨uffner, and R. Niedermeier. Graph-modeled data clustering: Exact algorithms for clique generation. Theory Comput. Syst., 38(4):373–392, 2005.

[113] J. Gramm, J. Guo, F. H¨uffner, R. Niedermeier, and S. Wernicke. Compression-based fixed-parameter algorithms for feedback vertex set and edge bipartization. Journal of Computer and System Sciences, 72(8):1368– 1396, 2006.

[114] J. R. Griggs and M. S. Waterman. Interval graphs and maps of DNA. Bull. Math. Biol., 48(2):189–195, 1986.

[115] M. Gr¨otschel, L. Lov´asz, and A. Schrijver. Polynomial algorithms for perfect graphs. In Topics on perfect graphs, volume 88 of North-Holland Math. Stud., pages 325–356. 1984.

[116] J. Guo. A more effective linear kernelization for cluster editing. In Pro- ceedings of ESCAPE’07 - Combinatorics, Algorithms, Probabilistic and Ex- perimental Methodologies, First International Symposium, volume 4614 of Lecture Notes in Computer Science, pages 36–47. Springer, 2007.

[117] J. Guo. Problem kernels for NP-complete edge deletion problems: Split and related graphs. In Proceedings of ISAAC’07 - 18th International Symposium on Algorithms and Computation, volume 4835 of Lecture Notes in Computer Science, pages 915–926. Springer, 2007.

[118] J. Guo, F. H¨uffner, and R. Niedermeier. A structural view on parameteriz- ing problems: Distance from triviality. In Proceedings of IWPEC’04 - 1st International Workshop on Parameterized and Exact Computation, volume 3162 of Lecture Notes in Computer Science, pages 162–173. Springer, 2004. 97

[119] J. Guo and J. Uhlmann. Kernelization and complexity results for con- nectivity augmentation problems. In Proceedings of WADS’07 - 10th In- ternational Workshop on Algorithms and Data Structures, volume 4619 of Lecture Notes in Computer Science, pages 483–494. Springer, 2007.

[120] E. M. Gurari and I. H. Sudborough. Improved dynamic programming al- gorithms for bandwidth minimization and the mincut linear arrangement problem. J. Algorithms, 5(4):531–546, 1984.

[121] J. Gustedt. On the pathwidth of chordal graphs. Discrete Appl. Math., 45(3):233–248, 1993.

[122] M. Habib, D. Kelly, E. Lebhar, and C. Paul. Can transitive orientation make sandwich problems easier? Discrete Mathematics, 307(16):2030–2041, 2007.

[123] S. L. Hakimi, E. F. Schmeichel, and N. E. Young. Orienting graphs to optimize reachability. Inf. Process. Lett., 63(5):229–235, 1997.

[124] P. L. Hammer and B. Simeone. The splittance of a graph. Combinatorica, 1(3):275–284, 1981.

[125] X. Han, P. Kelsen, V. Ramachandran, and R. E. Tarjan. Computing mini- mal spanning subgraphs in linear time. SIAM J. Comput., 24(6):1332–1358, 1995.

[126] M. Hassan and G. Hogg. A review of graph theory application to the facilities layout problem. OMEGA, 15(4):291–300, 1987.

[127] P. Heggernes. Minimal triangulations of graphs: A survey. Discrete Math- ematics, 306(3):297–317, 2006.

[128] P. Heggernes, D. Kratsch, and D. Meister. Bandwidth of bipartite permu- tation graphs in polynomial time. In Proceedings of LATIN’08 - 8th Latin American Symposium on Theoretical Informatics, volume 4957 of Lecture Notes in Computer Science, pages 216–227. Springer, 2008.

[129] P. Heggernes and F. Mancini. Dynamically maintaining split graphs. Tech- nical report, 2006-334, UiB, 2006.

[130] P. Heggernes and F. Mancini. Minimal split completions of graphs. In Proceedings of LATIN’06 - 7th Latin American Symposium on Theoretical Informatics, volume 3887 of Lecture Notes in Computer Science, pages 592– 604. Springer, 2006. 98

[131] P. Heggernes, F. Mancini, and C. Papadopoulos. Making arbitrary graphs transitively orientable: Minimal comparability completions. Discrete Ap- plied Math., 156(1):705–718, 2008. [132] P. Heggernes and C. Papadopoulos. Single-edge monotonic sequences of graphs and linear-time algorithms for minimal completions and deletions. In Proceedings of COCOON’07 - 13th Annual International Conference on Computing and Combinatorics, volume 4598 of Lecture Notes in Computer Science, pages 406–416. Springer, 2007. [133] P. Heggernes, C. Paul, J. A. Telle, and Y. Villanger. Interval completion is fixed parameter tractable. In Proceedings of STOC’07 - 39th Annual ACM Symposium on Theory of Computing, pages 374–381, 2007. [134] P. Heggernes, K. Suchan, I. Todinca, and Y. Villanger. Minimal interval completions. In Proceedings of ESA’05 - 13th Annual European Symposium on Algorithms, volume 3669 of Lecture Notes in Computer Science, pages 403–414. Springer, 2005. [135] P. Heggernes, K. Suchan, I. Todinca, and Y. Villanger. Characterizing minimal interval completions. In Proceedings of STACS’07 - 24th Annual Symposium on Theoretical Aspects of Computer Science, volume 4393 of Lecture Notes in Computer Science, pages 236–247. Springer, 2007. [136] P. Heggernes, J.A. Telle, and Y. Villanger. Computing minimal triangula- tions in time O(nα log n)= O(n2.376). SIAM J. Discrete Math., 19(4):900– 913, 2005. [137] K. Higashide and Y. Takenaga. Vertex coloring of comparability+ke and-ke graphs. In Proceedings of WG’06 - 32nd International Workshop on Graph- Theoretic Concepts in Computer Science, volume 4271 of Lecture Notes in Computer Science, pages 102–112. Springer, 2006. [138] J. E. Hopcroft and R. E. Tarjan. Efficient planarity testing. J. ACM, 21(4):549–568, 1974. [139] T. Hsu. Graph augmentation and related problems: Theory and practice. Technical Report CS-TR-97-03, 24 1997. [140] T. Hsu. On four-connecting a triconnected graph. J. Algorithms, 35(2):202– 234, 2000. [141] T. Hsu and V. Ramachandran. A linear time algorithm for triconnectivity augmentation (extended abstract). In Proceedings of FOCS 1991 - 32nd Annual Symposium on Foundations of Computer Science, pages 548–559. IEEE, 1991. 99

[142] W. Hsu. A linear time algorithm for finding a maximal planar subgraph based on pc-trees. In Proceedings of COCOON’05 - 11th Annual Interna- tional Conference on Computing and Combinatorics, volume 3595 of Lecture Notes in Computer Science, pages 787–797. Springer, 2005.

[143] F. H¨uffner. Algorithm engineering for optimal graph bipartization. In Proceedings of WEA’05 - 4th International Workshop on Experimental and Efficient Algorithms, volume 3503 of Lecture Notes in Computer Science, pages 240–252. Springer, 2005.

[144] F. H¨uffner, C. Komusiewicz, H. Moser, and R. Niedermeier. Fixed- parameter algorithms for cluster vertex deletion. In Proceedings of LATIN’08 - 8th Latin American Symposium on Theoretical Informat- ics, volume 4957 of Lecture Notes in Computer Science, pages 711–722. Springer, 2008.

[145] L. Ibarra. Fully dynamic algorithms for chordal graphs. In Proceedings of SODA’99 - 10th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 923–924, 1999.

[146] B. Jackson and T. Jord´an. Independence free graphs and vertex connectiv- ity augmentation. J. Comb. Theory, Ser. B, 94(1):31–77, 2005.

[147] J. L. Johnson and J. Spinrad. A polynomial time recognition algorithm for probe interval graphs. In Proceedings of SODA’01 - 12th Annual ACM- SIAM Symposium on Discrete Algorithms, pages 477–486, 2001.

[148] M. J¨unger and P. Mutzel. Maximum planar subgraphs and nice embeddings: Practical layout tools. Algorithmica, 16(1):33–59, 1996.

[149] S. Kannan and T. Warnow. Triangulating 3-colored graphs. SIAM J. Discrete Math., 5(2):249–258, 1992.

[150] S. Kannan and T. Warnow. Inferring evolutionary history from DNA se- quences. SIAM J. Comput., 23(4):713–737, 1994.

[151] G. Kant and H. L. Bodlaender. Planar graph augmentation problems (ex- tended abstract). In Proceedings of WADS’91 - 2nd Workshop on Algo- rithms and Data Structures, volume 519 of Lecture Notes in Computer Sci- ence, pages 286–298. Springer, 1991.

[152] H. Kaplan and R. Shamir. Pathwidth, bandwidth, and completion problems to proper interval graphs with small cliques. SIAM J. Comput., 25(3):540– 561, 1996. 100

[153] H. Kaplan, R. Shamir, and R. E. Tarjan. Tractability of parameterized com- pletion problems on chordal, strongly chordal, and proper interval graphs. SIAM J. Comput., 28(5):1906–1922, 1999.

[154] R.M. Karp. Reducibility among combinatorial problems. In R.E. Miller and J.W. Thatcher, editors, Complexity of Computer Computations, pages 85–103. Plenum Press, 1972.

[155] T. Kashiwabara and T. Fujisawa. An NP-complete problem on interval graphs. In Proceedings of IEEE Symp. of Circuits and Systems, pages 82– 83. IEEE, 1979.

[156] P. Kelsen and V. Ramachandran. On finding minimal 2-connected sub- graphs. In Proceedings of SODA’91 - 2nd Annual ACM-SIAM Symposium on Discrete Algorithms, pages 178–187, 1991.

[157] S. Khot and V. Raman. Parameterized complexity of finding subgraphs with hereditary properties. Theor. Comput. Sci., 289(2):997–1008, 2002.

[158] D. J. Kleitman and R. V. Vohra. Computing the bandwidth of interval graphs. SIAM J. Discret. Math., 3(3):373–375, 1990.

[159] T. Kloks. Treewidth. PhD thesis, Dept. of Computer Science, Utrecht University, 1993.

[160] T. Kloks. Treewidth of circle graphs. In Proceedings of ISAAC’93 - 4th International Symposium on Algorithms and Computation, volume 762 of Lecture Notes in Computer Science, pages 108–117. Springer, 1993.

[161] T. Kloks. Treewidth, Computations and Approximations, volume 842 of Lecture Notes in Computer Science. Springer, 1994.

[162] T. Kloks, H. L. Bodlaender, H. M¨uller, and D. Kratsch. Computing treewidth and minimum fill-in: All you need are the minimal separators. In Proceedings of ESA’93 - 1st Annual European Symposium on Algorithms, volume 726 of Lecture Notes in Computer Science, pages 260–271. Springer, 1993.

[163] T. Kloks and D. Kratsch. Treewidth of chordal bipartite graphs. J. Algo- rithms, 19(2):266–281, 1995.

[164] T. Kloks, D. Kratsch, Y. Le Borgne, and H. M¨uller. Bandwidth of split and circular permutation graphs. In Proceedings of WG’00 - 26th International Workshop on Graph-Theoretic Concepts in Computer Science, volume 1928 of Lecture Notes in Computer Science, pages 243–254. Springer, 2000. 101

[165] T. Kloks, D. Kratsch, and J. Spinrad. On treewidth and minimum fill-in of asteroidal triple-free graphs. Theor. Comput. Sci., 175(2):309–335, 1997.

[166] T. Kloks, D. Kratsch, and C. K. Wong. Minimum fill-in on circle and circular-arc graphs. J. Algorithms, 28(2):272–289, 1998.

[167] D. Kratsch and J. Spinrad. Minimal fill in O(n2.69) time. Discrete Mathe- matics, 306(3):366–371, 2006.

[168] M. Kriv´anek and J. Mor´avek. NP -hard problems in hierarchical-tree clus- tering. Acta Inf., 23(3):311–323, 1986.

[169] D. Kuo and G.J. Chang. The profile minimization problem in trees. SIAM Journal on Computing, 23(1):71–81, 1994.

[170] S. L. Lauritzen and D. J. Spiegelhalter. Local computations with prob- abilities on graphical structures and their application to expert systems. Readings in uncertain reasoning, pages 415–448, 1990.

[171] V. B. Le and H. N. de Ridder. Characterisations and linear-time recognition of probe cographs. In Proceedings of WG’07 - 33rd International Workshop on Graph-Theoretic Concepts in Computer Science, volume 4769 of Lecture Notes in Computer Science, pages 226–237. Springer, 2007.

[172] V. B. Le and H.N. de Ridder. Probe split graphs. Discrete Mathematics and Theoretical Computer Science, 9(1-3):207–238, 2007.

[173] J. M. Lewis. On the complexity of the maximum subgraph problem. In Pro- ceedings of STOC’78 - 10th Annual ACM Symposium on Theory of Com- puting, pages 265–274, 1978.

[174] J. M. Lewis and M. Yannakakis. The node-deletion problem for hereditary properties is NP-complete. J. Comput. Syst. Sci., 20(2):219–230, 1980.

[175] A. Liebers. Planarizing graphs - a survey and annotated bibliography. J. Graph Algorithms Appl., 5(1):1–74, 2001.

[176] J. W. H. Liu. Equivalent sparse matrix reordering by elimination tree rotations. SIAM J. Sci. Stat. Comput., 9(3):424–444, 1988.

[177] D. Lokshtanov. Wheel-free deletion is W[2]-hard. In Proceedings of IW- PEC’08 - 3rd International Workshop on Exact and Parameterized Com- putation, page To Appear, 2008. 102

[178] D. Lokshtanov, F. Mancini, and C. Papadopoulos. Characterizing and computing minimal cograph completions. In Proceedings of FAW’08 - 2nd International Frontiers of Algorithmics Workshop, volume To appear of Lecture Notes in Computer Science. Springer, 2008.

[179] F. Mancini. Minimum fill-in and treewidth of split+ke and split+kv graphs. In Proceedings of ISAAC’07 - 18th International Symposium of Algorithms and Computation, volume 4835 of Lecture Notes in Computer Science, pages 881–892. Springer, 2007.

[180] F. Margot. Some complexity results about threshold graphs. Disc. Appl. Math., 49(1-3):299–308, 1994.

[181] D. Marx. Chordal deletion is fixed-parameter tractable. In Proceedings of WG’06 - 32nd International Workshop on Graph-Theoretic Concepts in Computer Science, volume 4271 of Lecture Notes in Computer Science, pages 37–48. Springer, 2006.

[182] D. Marx. Parameterized coloring problems on chordal graphs. Theor. Com- put. Sci., 351(3):407–424, 2006.

[183] D. Marx. Chordal deletion is fixed-parameter tractable, 2007. Manuscript.

[184] D. Marx and I. Schlotter. Obtaining a planar graph by vertex deletion. In Proceedings of WG’07 - 33rd International Workshop on Graph-Theoretic Concepts in Computer Science, volume To Appear of Lecture Notes in Com- puter Science. Springer, 2007.

[185] R. M. McConnell and J. Spinrad. Construction of probe interval models. In Proceedings of SODA’02 - 13th Annual ACM-SIAM Symposium on Discrete Algorithm, pages 866–875, 2002.

[186] T. A. McKee and F.R. McMorris. Topics in intersection graph theory. SIAM Monographs on Discrete Mathematics and Applications. Society for Industrial and Applied Mathematics, 1999.

[187] F. R. McMorris, C. Wang, and P. Zhang. On probe interval graphs. Disc. Appl. Math., 88(1-3):315–324, 1998.

[188] D. Meister. Computing treewidth and minimum fill-in for permutation graphs in linear time. In Proceedings of WG’05 - 31st International Work- shop on Theoretic Concepts in Computer Science, volume 3787 of Lecture Notes in Computer Science, pages 91–102. Springer, 2005.

[189] D. Meister. Two characterisations of minimal triangulations of 2K2-free graphs. Discrete Mathematics, 306(24):3327–3333, 2006. 103

[190] D. Meister. A characterisation of the minimal triangulations of permutation graphs. In Proceedings of WG’07 - 33rd International Workshop on Graph- Theoretic Concepts in Computer Science, volume 4769 of Lecture Notes in Computer Science, pages 99–108. Springer, 2007.

[191] R. H. M¨ohring. Triangulating graphs without asteroidal triples. Disc. Appl. Math., 64(3):281–287, 1996.

[192] B. Monien. The bandwidth-minimization problem for caterpillars with hair- length 3 is NP-complete. SIAM J. Algebraic Discrete Methods, 7:505–512, 1986.

[193] B. Monien and I. H. Sudborough. Min cut is NP-complete for edge weighted treees. Theor. Comput. Sci., 58:209–229, 1988.

[194] D. Morgan. The bandwidth minimization problem is NP-complete for lob- sters and k-polygon graphs. Technical report, TR05-02, University of Al- berta, 2005.

[195] A. Nakamura, T. Narita, and T. Watanabe. 3-edge-connectivity augmenta- tion problems. In IEEE International Symposium on Circuits and Systems, pages 335–338, 1989.

[196] A. Nakamura and T. Watanabe. On the removal of forbidden graphs by edge-deletion or edge-contraction. Discrete Appl. Math., 3:151–153, 1981.

[197] A. Nakamura and T. Watanabe. Edge-connectivity augmentation problems. J. Comput. Syst. Sci., 35(1):96–144, 1987.

[198] D. Naor, D. Gusfield, and C. U. Martel. A fast algorithm for optimally increasing the edge-connectivity. In Proceedings of FOCS’90 - 31st Annual Symposium on Foundations of Computer Science, pages 698–707. IEEE, 1990.

[199] A. Natanzon and R. Shamir. Perfect completion and deletion in random graphs. Technical report, Tel Aviv University, 1999.

[200] A. Natanzon, R. Shamir, and R. Sharan. A polynomial approximation algorithm for the minimum fill-in problem. SIAM J. Comput., 30(4):1067– 1079, 2000.

[201] A. Natanzon, R. Shamir, and R. Sharan. Complexity classification of some edge modification problems. Disc. Appl. Math., 113(1):109–128, 2001.

[202] R. Niedermeier. Invitation to Fixed-Parameter Algorithms. Oxford Univer- sity Press, 2006. 104

[203] S. D. Nikolopoulos and L. Palios. Adding an edge in a cograph. In Proceed- ings of WG’05 - 31st International Workshop on Graph-Theoretic Concepts in Computer Science, volume 3787 of Lecture Notes in Computer Science, pages 214–226. Springer, 2005.

[204] T. Nishizeki, N. Saito, and K. Takamizawa. Linear-time computability of combinatorial problems on series-parallel graphs. J. ACM, 29(3):623–641, 1982.

[205] T. Ohtsuki. A fast algorithm for finding an optimal ordering for vertex elimination on a graph. SIAM J. Comput., 5(1):133–145, 1976.

[206] T. Ohtsuki, H. Mori, T. Kashiwabara, and T. Fujisawa. On minimal aug- mentation of a graph to obtain an interval graph. J. Comput. Syst. Sci., 22(1):60–97, 1981.

[207] K. Onaga, T. Watanabe, and M. Yamakado. A linear time augmenting algorithm for 3-edge-connectivity augmentation problems. In IEEE Inter- national Symposium on Circuits and Systems, pages 1168–1171, 1991.

[208] S. Pande and X. Zhuang. Resolving register bank conflicts for a network processor. In Proceedings of 12th PACT, pages 260–278, 2003.

[209] A. Parra and P. Scheffler. Treewidth equals bandwidth for AT-free claw-free graphs. Technical report, 436/1995, Technische Universitt Berlin, 1995.

[210] A. Parra and P. Scheffler. Characterizations and algorithmic applications of chordal graph embeddings. Disc. Appl. Math., 79(1-3):171–188, 1997.

[211] S. Parter. The use of linear graphs in gauss elimination. SIAM Review, 3(2):119–130, 1961.

[212] S. Peng and C. Chen. On the interval completion of chordal graphs. Disc. Appl. Math., 154(6):1003–1010, 2006.

[213] S. Peng, T. Kloks, and C. Lee. The maximum interval graphs on distance hereditary graphs. In Proceedings of JCIS 2006 - Joint Conference on Information Sciences. Atlantis Press, 2006.

[214] F. Protti, M. D. da Silva, and J. L. Szwarcfiter. Applying modular decom- position to parameterized bicluster editing. In Proceedings of IWPEC’06 - 2nd International on Workshop Parameterized and Exact Computation, volume 4169 of Lecture Notes in Computer Science, pages 1–12. Springer, 2006. 105

[215] V. Raman, S. Saurabh, and S. Sikdar. Improved exact exponential al- gorithms for vertex bipartization and other problems. In Proceedings of ICTCS’05 - 9th Italian Conference on Theoretical Computer Science, vol- ume 3701 of Lecture Notes in Computer Science, pages 375–389, 2005. [216] C. P. Rangan, K. S. Singh, and R. Sundaram. Treewidth of circular-arc graphs. SIAM J. Discret. Math., 7(4):647–655, 1994. [217] S. Rao and A. W. Richa. New approximation techniques for some ordering problems. In Proceedings of SODA’98 - 9th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 211–218, 1998. [218] I. Rapaport, K. Suchan, and I. Todinca. Minimal proper interval com- pletions. In Proceedings of WG’06 - 32nd International Workshop Graph- Theoretic Concepts in Computer Science, volume 4271 of Lecture Notes in Computer Science, pages 217–228. Springer, 2006. [219] A. Raychaudhuri. The total interval number of a tree and the hamiltonian completion number of its line graph. Inf. Process. Lett., 56(6):299–306, 1995. [220] B. A. Reed. Edge coloring nearly bipartite graphs. Operations Research Letters, 24(1-2):11–14, 1999. [221] B. Reeda, K Smithb, and A. Vetta. Finding odd cycle transversals. Oper- ations Research Letters, 32(4):299–301, 2004. [222] N. Robertson and P. D. Seymour:. Graph minors. I. excluding a forest. J. Comb. Theory Series B, 35:39–61, 1983. [223] N. Robertson and P. D. Seymour:. Graph minors. I. algorithmic aspects of tree-width. J. Algorithms, 7:309–322, 1986. [224] N. Robertson and P. D. Seymour. Graph minors. XIII. the disjoint paths problem. J. Comb. Theory, Ser. B, 63(1):65–110, 1995. [225] N. Robertson and P. D. Seymour. Graph minors. XX. wagner’s conjecture. J. Comb. Theory, Ser. B, 92(2):325–357, 2004. [226] D. J. Rose, R. Endre Tarjan, and G. S. Lueker. Algorithmic aspects of vertex elimination on graphs. SIAM J. Comput., 5(2):266–283, 1976. [227] M. Schaefer. The graph sandwich problem for a coNP property. Technical Report TR 06-011, DePaul University, 2006. [228] R. Shamir, R. Sharan, and D. Tsur. Cluster graph modification problems. Disc. Appl. Math., 144(1-2):173–182, 2004. 106

[229] R. Sharan. Graph Modification Problems and their Applications to Genomic Research. PhD thesis, Tel-Aviv University, 2002.

[230] A. Silberschatz and P. Galvin. Operating System Concepts, 4th edition. Plenum Press, 1972.

[231] K. Skodinis. Computing optimal linear layouts of trees in linear time. In Proceedings of ESA’00 - 8th Annual European Symposium on Algo- rithms, volume 1879 of Lecture Notes in Computer Science, pages 403–414. Springer, 2000.

[232] J. Spinrad, A. Brandst¨adt, and L. Stewart. Bipartite permutation graphs. Discrete Appl. Math., 18(3):279–292, 1987.

[233] M. Steel. The complexity of reconstructing trees from qualitative characters and subtrees. J. of Classification, 9:91–116, 1992.

[234] K. Suchan and I. Todinca. Minimal interval completion through graph exploration. In Proceedings of ISAAC’06 - 17th International Symposiumon Algorithms and Computation, volume 4288 of Lecture Notes in Computer Science, pages 517–526. Springer, 2006.

[235] K. Suchan and I. Todinca. Pathwidth of circular-arc graphs. In Proceedings of WG’07 - 33rd International Workshop on Graph-Theoretic Concepts in Computer Science, volume 4769 of Lecture Notes in Computer Science, pages 258–269. Springer, 2007.

[236] R. Tamassia, G. Di Battista, and C. Batini. Automatic graph drawing and readability of diagrams. IEEE Trans. Syst. Man Cybern., 18(1):61–79, 1988.

[237] R. E. Tarjan. Graph theory and gaussian elimination. Sparse Matrix Com- putations, 1976.

[238] R. E. Tarjan. Decomposition by clique separators. Discrete Mathematics, 55(2):221–232, 1985.

[239] R. E. Tarjan and M. Yannakakis. Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs. SIAM J. Comput., 13(3):566–579, 1984.

[240] R.E. Tarjan. Data Structures and Network Algorithms. Siam Press, 1983.

[241] S. Ueno, Y. Kajitani, and H. Wada. The minimum augmentation of a tree to a k-edge-connected graph. Networks, 18(1):19–25, 1988. 107

[242] W. Unger. The complexity of the approximation of the bandwidth problem. In Proceedings of FOCS’98 - 39th Annual Symposium on Foundations of Computer Science, pages 82–91, 1998.

[243] Y. Villanger. Improved exponential-time algorithms for treewidth and min- imum fill-in. In Proceedings of LATIN’06 - 7th Latin American Symposium on Theoretical Informatics, volume 3887 of Lecture Notes in Computer Sci- ence, pages 800–811. Springer, 2006.

[244] C. Wang. A subgraph problem from restriction maps of DNA. J. Comput. Biol., 1(3):227–234, 1994.

[245] J. Xue. Edge-maximal triangulated subgraphs and heuristics for the maxi- mum clique problem. Networks, 24(2):109–120, 1994.

[246] J.H. Yan. The bandwidth problem in cographs. J. Math. Sci., 13:31–36, 1997.

[247] M. Yannakakis. Node and edge-deletion NP-complete problems. In Proceed- ings of STOC’78 - 10th Annual ACM Symposium on Theory of Computing, pages 253–264, 1978.

[248] M. Yannakakis. The effect of a connectivity requirement on the complexity of maximum subgraph problems. J. ACM, 26(4):618–630, 1979.

[249] M. Yannakakis. Computing the minimum fill-in is NP-complete. SIAM Journal on Algebraic and Discrete Methods, 2(1):77–79, 1981.

[250] M. Yannakakis. Edge-deletion problems. SIAM J. Comput., 10(2):297–309, 1981.

[251] J. Yuan, Y. Lin, Y. Liu, and S. Wang. NP-completeness of the profile problem and the fill-in problem on cobipartite graphs. J. Math. Study, 31:239–243, 1998.