## Section: New Results

### Cross-fertilising different computational approaches and other theoretical results

**On the Complexity of Quadratic-Time Solvable Problems**

Quadratic-time solvable problems may be classified into two classes: problems that are solvable in *truly subquadratic* time (that is, in time $\xd8\left({n}^{2-\u03f5}\right)$ for some $\u03f5>0$) and problems that are not, unless the well known Strong Exponential Time Hypothesis (in short, SETH) is false. We proved that some quadratic-time solvable problems are indeed easier than expected [6]. We provided an algorithm that computes the transitive closure of a directed graph in time $\xd8\left(m{n}^{\frac{\omega +1}{4}}\right)$, where $m$ denotes the number of edges in the transitive closure and $\omega $ is the exponent for matrix multiplication. As a side effect of our analysis, we were able to prove that our algorithm runs in time $\xd8\left({n}^{\frac{5}{3}}\right)$ if the transitive closure of the graph is sparse. The same time bounds hold if we want to check whether a graph is transitive, by replacing $m$ with the number of edges in the graph itself. As far as we know, this gives us the fastest algorithm for checking whether a sparse graph is transitive. Finally, we applied our algorithm to the comparability graph recognition problem (which dates back to 1941): also in this case, we obtained the first truly subquadratic algorithm. We then dealt with some hardness results. In particular, we started from an artificial quadratic-time solvable variation of the $k$-SAT problem and constructed a graph of Karp reductions, proving that a truly subquadratic-time algorithm for any of the problems in the graph falsifies SETH. More specifically, the analysed problems were the following: computing the subset graph, finding dominating sets, computing the betweenness centrality of a vertex, computing the minimum closeness centrality, and computing the hyperbolicity of a pair of vertices. We were also able to include in our framework three proofs that had already appeared in the literature, concerning the problems of distinguishing between split graphs of diameter 2 and diameter 3, of solving the local alignment of strings, and of finding two orthogonal binary vectors inside a collection.

**Enumeration of solutions produced by closure operations**

In enumeration problems, we are interested in listing a set of elements, which can be of exponential cardinality in the size of the input. The complexity of such problems is thus measured in terms of their input and output sizes.
An enumeration algorithm with a complexity polynomial in both sizes is called
output polynomial or total polynomial time.
Another more precise notion of complexity is related to the *delay*, that is to the time between the production of
two consecutive solutions. We are especially interested in problems solvable with a delay polynomial
in the input size. These are considered as the tractable problems in enumeration complexity.

We addressed the problem of generating all elements obtained
by the saturation of an initial set by some operations [41]. More precisely, we proved that
we can generate the closure by polymorphisms of a boolean relation with a polynomial delay. This implies for instance that we can compute with polynomial delay the closure of a family of sets by any set of "set operations" (*e.g.* union, intersection, difference, symmetric difference, etc.). To do so, we proved that for any set of operations $\mathcal{F}$, one can decide in polynomial time whether an element belongs to the closure by $\mathcal{F}$ of a family of sets. When the relation is over a domain larger than two elements, our generic enumeration method fails for some cases since the associated decision problem is NP-hard, and we then provide an alternative algorithm.