In the last decades, considerable efforts have been spent to characterize what makes NP-hard problems tractable. A successful approach in this line of research is the theory of parameterized complexity introduced by Downey and Fellows in the nineties. In this framework, the complexity of a problem is not measured only in terms of the input size, but also in terms of a parameter on the input. One of the most well-studied parameters is tree-width, a graph parameter which measures how close a graph is to the topological structure of a tree. It appears that tree-width has numerous structural properties and algorithmic applications.

However, only sparse graph classes can have bounded tree-width. But, many NP-hard problems are tractable on dense graph classes. Most of the time, this tractability can be explained by the ability of these graphs to be recursively decomposable along vertex bipartitions (A, B) where the adjacency between A and B is simple to describe. A lot of graph parameters -called width measures -have been defined to characterize this ability, the most remarkable ones are certainly clique-width, rank-width, and mim-width. In this thesis, we study the algorithmic properties of these width measures.

We provide a framework that generalizes and simplifies the tools developed for tree-width and for problems with a constraint of acyclicity or connectivity such as Connected Vertex Cover, Connected Dominating Set, Feedback Vertex Set, etc. For all these problems, we obtain 1) and n O(k) time algorithms parameterized respectively by clique-width, Q-rank-width, rank-width and mim-width. We also prove that there exists an algorithm solving Hamiltonian Cycle in time n O(k) , when a clique-width decomposition of width k is given. Finally, we prove that we can count in polynomial time the minimal transversals of β-acyclic hypergraphs and the minimal dominating sets of strongly chordal graphs. All these results offer promising perspectives towards a generalization of width measures and their algorithmic applications. we did! Un merci à Pierre pour tes Picons, tes Santiags et ces fameuses virées nocturnes... Et pour finir, merci à toi Zurab, de ton salami à ta façon de « faire la vaisselle », tu nous auras bien fait rigoler quand même ! J'aimerais remercier les thésards du LIMOS pour cette excellente ambiance de « travail » et pour m'avoir retrouvé dans ce champ ! Merci à Arnaud et à son légendaire sang froid dans la défaite, aux Benjamins, pour cette fameuse saint Patrick et leurs contre-pépouze-abricotpastèque, à Giacomo avec qui j'ai été vice-champion olympique (d'Europe) de kayak, à Docteur Perret du Cray et Mister Riton pour son déhanché de folie lors de nos nombreuses danses, à Matthieu (l'être de lumière) mon premier fournisseur d'occasions de trinquer, et enfin à Rafael (et sa fameuse crampe) pour m'avoir amené à ce « bal populaire ». À toutes ces parties endiablées de Hanabi et cie 1 et aux pauses travail qui les entrecoupaient ! Merci à mes braves et spirituels 2 co-bureaux, Alexis, David et Kévin pour toutes ces discussions passionnantes et passionnées sur tout et (surtout) n'importe quoi: 0, 1, 2, 3, . . . , 9, 01, 02, 03, . . . , 09, 10, 11, . . . , 99, 001, 002, . . . Un petit merci à Isabelle et Renaud du Beerland (le meilleur bar du monde) pour m'avoir fait découvrir tant de bonnes bières artisanales.

Il me faut remercier aussi ceux qui ont le plus contribué à ma construction intellectuelle. Merci à tous ces profs géniaux de la primaire au Master qui ont su me donner le goût des études, l'amour des mathématiques et ma passion pour l'algorithmique. Cela inclut de nombreux enseignants en informatique de l'université de Montpellier.

Et bien sûr, merci avant tout à mes parents -sans qui je ne serai pas né -pour m'avoir donné autant d'amour et de liberté. Je vous dois la curiosité et la persévérance nécessaire à une telle aventure. Merci pour ces innombrables efforts et sacrifices que vous avez faits pour moi. Je suis fier de vous.

Je remercie également ma soeur Salomé pour tous ces précieux moments qu'on a partagés et ces fous rires qui font un bien fou.

Pour terminer, j'aimerais remercier Eva de m'avoir supporté (dans les deux sens du terme) jusqu'aux bouts 3 . Merci d'avoir changé ma vie et de continuer à partager la tienne avec moi.

1 Mais, au fait, il sert à quoi le 10 finalement ? 2 Pas dans le sens mormons du terme.

3 Notons l'utilisation du pluriel me permettant de rajouter gratuitement un « x » à cette thèse comme celui qu'on prononce fièrement dans « Bergougnoux ». g (a) Un graphe G. (b) Un arbuste (T, δ) de G. v 2 v 5 v 1 v 4 v 3 V (G) \ Vi V i (c) Graphe bipartite associé avec (Vi, V (G) \ Vi).

  

Resumé

Durant ces dernières décennies, d'importants efforts et beaucoup de café ont été dépensés en vue de caractériser les instances faciles des problèmes NP-difficiles. Dans ce domaine de recherche, une approche s'avère être redoutablement efficace : la théorie de la complexité paramétrée introduite par Downey et Fellows dans les années 90. Dans cette théorie, la complexité d'un problème n'est plus mesurée uniquement en fonction de la taille de l'instance, mais aussi en fonction d'un paramètre. Dans cette boite à outils, la largeur arborescente est sans nul doute un des paramètres de graphe les plus étudiés. Ce paramètre mesure à quel point un graphe est proche de la structure topologique d'un arbre. La largeur arborescente a de nombreuses propriétés algorithmiques et structurelles.

Néanmoins, malgré l'immense intérêt suscité par la largeur arborescente, seules les classes de graphes peu denses peuvent avoir une largeur arborescente bornée. Mais, de nombreux problèmes NP-difficiles s'avèrent faciles dans des classes de graphes denses. La plupart du temps, cela peut s'expliquer par l'aptitude de ces graphes à se décomposer récursivement en bipartitions de sommets (A, B) où le voisinage entre A et B possède une structure simple. De nombreux paramètres -appelés largeurs -ont été introduits pour caractériser cette aptitude, les plus remarquables sont certainement la largeur de clique, la largeur de rang, la largeur booléenne et la largeur de couplage induit. Dans cette thèse, nous étudions les propriétés algorithmiques de ces largeurs.

Nous proposons une méthode qui généralise et simplifie les outils développés pour la largeur arborescente et les problèmes admettant une contrainte d'acyclicité ou de connexité tel que 1 Couverture Connexe, Dominant Connexe, Coupe Cycle, etc. Pour tous ces problèmes, nous obtenons des algorithmes s'exécutant en temps 2 O(k) • n O (1) , 2 O(k log(k)) • n O (1) , 2 O(k 2 ) • n O (1) et n O(k) avec k étant, respectivement, la largeur de clique, la largeur de Q-rang, la larguer de rang et la largueur de couplage induit. On prouve aussi qu'il existe un algorithme pour Cycle Hamiltonien s'exécutant en temps n O(k) quand une décomposition de largeur de clique k est donné en entrée. Finalement, nous prouvons qu'on peut compter en temps polynomial le nombre de transversaux minimaux d'hypergraphes β-acyclique ainsi que le nombre de dominants minimaux de graphes fortement triangulés. Tous ces résultats offrent des pistes prometteuses en vue d'une généralisation des largeurs et de leurs applications algorithmiques.

Une thèse n'est pas une aventure solitaire, c'est une réussite collective et humaine qui repose sur une multitude de personnes du maraîcher qui m'a vendu ses légumes au barman qui m'a servi ses bières. Tout cela repose sur ce qu'il y a de meilleur dans nos sociétés : la solidarité. Cette thèse n'aurait jamais vu le jour sans sécurité sociale, sans bourses d'études, sans aides sociales, sans écoles et universités publiques, etc. Ainsi mes premiers remerciements vont à ces femmes et ces hommes qui ont combattu et combattent, parfois au prix de leurs vies, pour la démocratie, la République, les droits humains et l'intérêt général.

Mes deuxièmes remerciements sont naturellement destinés à mon directeur de thèse Mamadou Moustapha Kanté. Merci pour toute cette énergie, cette sagesse (e.g., la Planète des singes) et cet ensemble indénombrable de conseils que tu as partagés avec moi.

J'aimerais remercier Cristina Bazgan et Nicolas Trotignon pour avoir accepté de rapporter ma thèse. Merci également à Mourad Baïou et Christophe Paul qui m'ont fait l'honneur d'être membre de mon jury de soutenance.

Merci à Clermont-Ferrand (une ville géniale, je conseille) et plus spécifiquement au LIMOS de m'avoir accueilli. Je remercie tout spécialement Béa et sa légendaire efficacité d'avoir été si patiente avec moi malgré un nombre non-négligeable de bourdes :P.

Durant ces années de thèse, j'ai eu la chance de travailler avec plein d'êtres humains très sympathiques. Je pense notamment à deux de mes co-auteurs : à Thomas Bellitto, pour cette escapade totalement inattendue en transitions interdites et à Florent Capelli, pour ses précieux et nombreux conseils de toutes sortes.

I would like to say "감사합니다" to O-joung Kwon, I will never forget this unexpected afternoon where we found the main idea of our "beautiful" [START_REF] Fedor | Clique-width III: hamiltonian cycle and the odd case of graph coloring[END_REF] algorithm for Hamiltonian Cycle! I would like to thank Binh-Minh Bui-Xuan, Jan Arne Telle and Martin Vatshelle for the creation of the d-neighbor equivalence relation. This beautiful concept is at the core of the result I am the most proud of. Now, I cannot design an algorithm without trying to use the d-neighbor equivalence relation.

Psychologiquement, la recherche n'est certainement pas un long fleuve tranquille en temps normal et c'est encore pire avec ces satanées deadlines et le syndrome de l'imposteur. Contre ces maux, rien de mieux que le rire, le jeu, le sport et tous ces bons moments passés en si bonne compagnie. J'aimerais remercier ici tous ces amis qui ont contribué, parfois sans s'en douter, à cette thèse.

Commençons par le commencement et donc par remercier tous les anciens colocataires de mon auberge espagnole. Merci à Amélie lalala-lemande pour sa bonne humeur contagieuse et son caractère inoubliable. Thank you Alex, I hope that one day, we will watch England win something! Merci à mes culs terreux : Camille avec sa Toul et ses larges épaules et François, fils de charron et dompteur de 407 break ! Je remercie Hanne et Shannen pour leur belgitude et les soirées inoubliables que j'ai passées en leur compagnie. Thank you Laura for all these pub crawls

Introduction en français

Depuis la construction des premiers ordinateurs dans les années 40, le besoin d'algorithmes efficaces pour résoudre une multitudes de problèmes n'a jamais cessé de croître. Cela motiva les chercheurs à étudier la complexité des problèmes, i.e., les ressources, tel que le temps et la mémoire, qu'un ordinateur doit utiliser pour résoudre un problème. Les chercheurs constatèrent assez rapidement que certains problèmes semblaient plus difficiles à résoudre que d'autres. Par exemple, calculer le plus grand diviseur commun de deux entiers peut être fait assez rapidement tandis que trouver tous les diviseurs d'un entier semble demander beaucoup plus de temps et de mémoire. Malgré des décennies de recherche intensive, il existe de nombreux problèmes intéressants pour lesquels personne n'a pu trouver d'algorithmes rapides les résolvant ni prouver qu'ils n'en admettaient pas. Néanmoins, il est possible de caractériser la difficulté des problèmes en comparant leurs complexités relatives. Par exemple, étant donné les diviseurs de deux entiers a et b, il est facile de calculer le plus grand diviseur commun de a et de b. Ainsi, trouver les diviseurs d'un entier est au moins aussi difficile que calculer le plus grand diviseur commun de deux entiers. Cette approche a permis de classifier les problèmes en fonction de leurs complexités relatives.

La classification la plus célèbre est sans aucun doute celle émergeant de la théorie de la NP-complétude introduite indépendamment par Cook [START_REF] Cook | The complexity of theorem-proving procedures[END_REF] et Levin [START_REF] Anatolevich | Universal sequential search problems[END_REF] au début des années 70. Intuitivement, un problème est dans la classe NP si il peut être formulé comme une question dont la réponse est soit « oui » soit « non » et dont les instances où la réponse est « oui » peuvent facilement être vérifiée. Le Traveling Salesman Problem est un exemple typique de problème difficile dans NP. Étant donné un entier L, une liste de villes et les distances entre chaque paire de villes, ce problème demande si il existe une route visitant chaque ville et revenant à son point de départ de longueur inférieure à L. Malgré son apparente simplicité, personne jusqu'à présent n'a pu trouver d'algorithme rapide pour résoudre ce problème. Il se trouve que ce problème a une propriété étonnante : il est NP-difficile [START_REF] Karp | Reducibility among combinatorial problems[END_REF], c'est à dire qu'il est au moins aussi difficile que chacun des problèmes dans NP. En d'autres mots, si le Traveling Salesman Problem admet un algorithme rapide alors tous les problèmes dans NP admettent un algorithme rapide. Des milliers de problèmes intéressants se sont révélés être des problèmes NP-difficiles [START_REF] Garey | Computers and Intractability: A Guide to the Theory of NP-Completeness[END_REF][START_REF] Karp | Reducibility among combinatorial problems[END_REF] et aucun d'entre eux ne semblent admettre d'algorithme rapide. Ceci motiva les chercheurs à conjecturer que P = NP où P est la classe des problèmes admettant un algorithme dont le temps d'exécution est polynomial en la taille de l'instance. Cette conjecture est considérée par de nombreux chercheurs comme la plus importante conjecture mathématique, malgré des décennies de recherche intensive elle est reste encore ouverte [START_REF] Fortnow | The status of the P versus NP problem[END_REF].

En dépit de leurs difficultés théoriques, en pratique, des softwares rapides tel les solveurs SAT ont été développés pour résoudre des problèmes NP-difficiles. Bien sur, ça ne prouve pas que P = NP car ces derniers n'arrivent pas à résoudre rapidement toutes les instances d'un problème NP-difficile. Les bonnes performances des ces softwares peuvent s'expliquer en partie par le fait que les instances rencontrées en pratique ne sont pas arbitraires. Ces instances cachent de nombreuses structures qui expliquent pourquoi elles sont faciles à résoudre [START_REF] Michael | Parameterized complexity: The main ideas and some research frontiers[END_REF][START_REF] Michael | Parameterized complexity: The main ideas and connections to practical computing[END_REF]. Par exemple, en pratique, une instance du Traveling Salesman Problem peut consister en un ensemble de villes existantes reliées par un réseau routier. Pour résoudre le problème sur un telle instance, un algorithme peut utiliser le fait qu'un réseau routier, étant construit par des homo sapiens, est structuré et optimisé pour le transport. Durant ces dernières décennies, d'importants efforts et beaucoup de café ont été dépensés en vue de caractériser ces structures cachées et de les exploiter pour obtenir des algorithmes rapides.

Dans ce domaine de recherche, une approche s'avère être redoutablement rapide : la théorie de la complexité paramétrée introduite par Downey et Fellows [START_REF] Downey | Parameterized Complexity[END_REF] dans les années 90. Dans cette théorie, la complexité d'un problème n'est plus mesurée uniquement en fonction de la taille de l'instance, mais aussi en fonction d'un paramètre. Cette nouvelle dimension permet d'obtenir une classification des problèmes NP-difficiles beaucoup plus fine qu'en théorie de la NP-complétude. Durant ces 30 années d'existence, la complexité paramétrée est devenue un domaine important de l'informatique théorique, elle est au coeur de plus d'un millier de publications, en particulier, trois livres récents [START_REF]The Multivariate Algorithmic Revolution and Beyond -Essays Dedicated to Michael R. Fellows on the Occasion of His 60th Birthday[END_REF][START_REF] Cygan | Parameterized Algorithms[END_REF][START_REF] Downey | Fundamentals of parameterized complexity[END_REF] lui sont consacrés. Formellement, un problème paramétré est un problème dont chaque instance est associée avec une valeur numérique : le paramètre. Un problème donné peut être paramétré par une multitude de paramètres. Le choix du paramètre a un immense impact sur la complexité du problème. Définissons et commentons rapidement les concepts les plus importants de la complexité paramétrée.

• Un problème paramétré est dit FPT s'il admet un algorithme FPT : un algorithme dont le temps d'exécution est f (k) • n O (1) avec k le paramètre, n la taille de l'instance et f une fonction. Un des objectifs principaux en complexité paramétrée est de créer des algorithmes FPT où la fonction f et l'exposant de n sont les plus petits possibles. En plus de leurs indéniable intérêt théorique, les algorithmes FPT sont également intéressants en pratique [START_REF] Cheetham | Solving large FPT problems on coarse-grained parallel machines[END_REF][START_REF] Fafianie | Speeding up dynamic programming with representative sets: An experimental evaluation of algorithms for steiner tree on tree decompositions[END_REF][START_REF] Michael | Parameterized complexity: The main ideas and connections to practical computing[END_REF][START_REF] Langston | Practical FPT implementations and applications (invited talk)[END_REF][START_REF] Langston | Innovative computational methods for transcriptomic data analysis: A case study in the use of FPT for practical algorithm design and implementation[END_REF].

• Un problème paramétré est dit XP s'il admet un algorithme XP : un algorithme dont le temps d'exécution est f (k) • n g(k) avec k le paramètre, n la taille de l'instance et avec f et g deux fonctions. En d'autres mots, un problème paramétré est XP si on peut le résoudre en temps polynomial sur les instances où le paramètre est considéré comme une constante. Contrairement aux algorithmes FPT, l'intérêt des algorithmes XP est avant tout théorique car ils sont significativement moins performants que les algorithmes FPT [START_REF] Michael | Parameterized complexity: The main ideas and some research frontiers[END_REF].

Tandis que tous les problèmes FPT sont par définition XP, certains problèmes XP ne semblent pas admettre d'algorithmes FPT. Downey et Fellows [START_REF] Downey | Fixed-parameter intractability[END_REF] ont défini une classe de problèmes dans XP appelée W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]. Il est conjecturé que FPT = W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF], i.e., les problèmes dans W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF] ne sont pas FPT. Cette conjecture est pratiquement aussi raisonnable que P = NP; dans les faits, les deux conjectures se ressemblent beaucoup [START_REF] Michael | Parameterized complexity: The main ideas and some research frontiers[END_REF]. Similairement aux réductions polynomiales utilisées pour prouver la NP-difficulté d'un problème, il existe une notion de réduction entre problèmes paramétrés pour prouver qu'un problème est W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-difficile (l'analogue de NP-difficile) et ainsi qu'il n'admet vraisemblablement pas d'algorithme FPT.

En plus de ces concepts, la complexité paramétrée offre de nombreuses techniques pour créer des algorithmes rapides [START_REF] Cygan | Parameterized Algorithms[END_REF]. Elle fournit aussi des outils pour obtenir des bornes inférieures conditionnelles sur la complexité paramétré d'un problème tel que la W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-difficulté [START_REF] Cygan | Parameterized Algorithms[END_REF][START_REF] Downey | Fundamentals of parameterized complexity[END_REF]. Cette thèse se consacre à la création d'algorithmes FPT et XP rapides. Une partie des algorithmes que nous allons présenter sont asymptotiquement optimaux sous une hypothèse de complexité appelée Exponential Time Hypothesis (abrégée en ETH). Cette hypothèse de complexité a été introduite en 2001 par Impagliazzo et Paturi [START_REF] Impagliazzo | On the complexity of k-sat[END_REF]. Informellement, ETH suppose qu'on ne peut pas résoudre le problème 3-SAT en temps 2 o(n) avec n le nombre de variables. Grâce à ETH, on peut prouver des bornes inférieures sur la complexité classique de problèmes NP-difficiles mais aussi sur leurs complexités paramétrées.

La grande majorité des résultats obtenus concernant la complexité paramétrée sont de près ou de loin rattachés aux graphes. Un graphe est une structure de donnée qui modélise une relation binaire entre des entités. Formellement, un graphe est une paire ordonnée G = (V (G), E(G)) avec V (G) un ensemble d'éléments appelés sommets et E(G) un ensemble de paires non-ordonnées de sommets appelées arêtes. Malgré leurs extrême simplicité, les graphes permettent de modéliser un nombre incalculable de concepts. On les utilise dans de nombreux domaines, en informatique mais aussi en biologie, en chimie, en physique, en économie, en électronique, en industrie, etc. Par exemple, les graphes excellent dans la modélisation de réseaux tel que les réseaux sociaux et les réseaux routiers en identifiant les sommets avec les carrefours et les arrêtes avec les routes qui les séparent.

Les graphes offrent un riche panel de paramètres tel que le degré maximum (nombre maximum de voisins d'un sommet), le diamètre (distance maximum entre deux sommets), le genre, la dégénérescence, etc. C'est donc sans surprise qu'ils s'avèrent être un terreaux fertiles pour de nombreux résultats en complexité paramétrée, même pour des problèmes qui ne sont pas directement liés aux graphes tel que des problèmes en intelligence artificielle [START_REF] Capelli | Structural restrictions of CNF formulas: application to model counting and knowledge compilation[END_REF][START_REF] Gottlob | Fixed-parameter algorithms for artificial intelligence, constraint satisfaction and database problems[END_REF][START_REF] Ordyniak | Satisfiability of acyclic and almost acyclic CNF formulas[END_REF].

La largeur arborescente est sans aucun doute un des paramètres de graphe les plus étudiés. Ce paramètre a été redécouvert plusieurs fois dans différents contextes et notamment par Robertson et Seymour [START_REF] Robertson | Graph minors. II. algorithmic aspects of tree-width[END_REF] dans leurs monumentale projet sur les mineurs de graphes. Intuitivement, la largeur arborescente mesure à quel point un graphe est proche de la structure topologique d'un arbre. Plus précisément, un graphe a une largeur arborescente au plus k si il peut être représenté par une décomposition récursive (appelée décomposition arborescente) constituée d'ensembles de sommets (appelés sacs) de tailles au plus k connectés entre eux à la manière d'un arbre. La largeur arborescente a de nombreuses propriétés algorithmiques et structurelles, voir [START_REF] Hans | Treewidth: Characterizations, applications, and computations[END_REF] pour une vue d'ensemble. Une de ces propriétés algorithmiques les importantes se retrouve dans le théorème de Courcelle [START_REF] Courcelle | The monadic second-order logic of graphs III: tree-decompositions, minor and complexity issues[END_REF] : un des plus célèbre méta-théorèmes en informatique. Il énonce que tout problème exprimable en logique monadique du second ordre (appelée MSO 2 ) peut être résolu en temps f (k) • n sur un graphe de n sommets et avec une décomposition arborescente de largeur au plus k. Bodlaender [7] prouva un résultat tout aussi fameux qui énonce qu'on peut calculer en temps f (k)•n une décomposition de largeur arborescente optimale d'un graphe de largeur arborescente au plus k. Ensemble, ces deux résultats prouvent qu'un nombre gargantuesque de problèmes sont FPT paramétrés par la largeur arborescente. Parmi ces problèmes, on retrouve des problèmes NP-difficiles célèbres et intensivement étudiés tel que Dominating Set, Hamiltonian Cycle et 3-Coloring. Cependant, les algorithmes qu'on obtient à travers le théorème de Courcelle sont trop souvent inutilisables en pratique car la fonction f dans leurs temps d'exécution est énorme. Beaucoup d'effort ont été porté pour obtenir de meilleurs algorithmes. De nos jours, pour de nombreux problèmes NP-difficiles, nous avons un algorithme paramétré par la largeur arborescente qui est optimal sous ETH.

Néanmoins, malgré l'immense intérêt suscité par la largeur arborescente, seul les classes de graphes peu denses peuvent avoir une largeur arborescente bornée. Mais, de nombreux problèmes NP-difficiles s'avèrent faciles dans des classes de graphes denses. La plupart du temps, cela peut s'expliquer par l'aptitude de ces graphes à se décomposer récursivement en bipartitions de sommets (A, B) où le voisinage entre A et B possède une structure simple. De nombreux paramètres -appelés largeurs -ont été introduits pour caractériser cette aptitude, les plus remarquables sont certainement la largeur de clique [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF], la largeur de rang [START_REF] Oum | Rank-width and vertex-minors[END_REF], la largeur booléenne [START_REF] Bui-Xuan | Boolean-width of graphs[END_REF] et la largeur de couplage induit [START_REF] Vatshelle | New width parameters of graphs[END_REF]. Dans cette thèse, nous étudions les propriétés algorithmiques de ces largeurs.

Expliquons comment ces paramètres sont définis. La largeur de clique est défini à partir des opérations suivantes dans les graphes labellisés : (1) la création d'un sommet avec un label i ∈ N, (2) la relabellisation de tous les sommets labellisés i avec le label j, (3) l'union disjointe de deux graphes labellisés, (4) l'ajout de toutes les arêtes entre les sommets labellisés i et ceux labellisés j. La largeur de clique d'un graphe est le plus petit nombre de labels nécessaires pour le construire à partir de ces opérations. Les expressions construisant un graphe avec au plus k labels sont appelées k-expressions.

De leurs coté, la largeur de rang, la largeur de couplage induit et de nombreuses autres largeurs sont définis à partir de la notion d'arbuste. Un arbuste d'un graphe G est une paire (T, δ) où T est un arbre enraciné et δ est une bijection entre les sommets de G et les feuilles de T . Chaque noeud x de T est associé à un ensemble de sommets V x dans G correspondant aux sommets qui sont en bijection avec les descendants de x. Étant donné une fonction f : 2 V (G) → N, nous pouvons associer à chaque arbuste (T, δ) de G, une mesure -appelée f-largeur -correspondant au maximum f(V x ) parmi tous les noeuds x de T . La f-largeur de G est alors la f-largeur minimum parmi tous les arbustes de G.

Par exemple, la largeur de rang est définie à partir de la fonction f(A) qui correspond au rang dans GF (2) de la matrice d'adjacence entre A et V (G) \ A; si on prend le rang dans Q, on obtient une variante de la largeur de rang introduite dans [START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF] appelée largeur de Q-rang. Pour la largeur de couplage induit, f(A) correspond à la taille maximum d'un couplage induit dans le graphe biparti associé à A et V (G) \ A. La Figure 1 présente un exemple d'arbuste (T, δ) d'un graphe G. Remarquez que la largeur de (Q-)rang de (T, δ) égale 2 et ceci est optimal, i.e., la largeur de (Q-)rang de G est 2. Cependant, la largeur de couplage induit de (T, δ) est 2 mais cela n'est pas optimal car on peut trouver un arbuste de largeur de couplage induit 1.

Les notions d'arbuste, de décomposition arborescente et de k-expression sont très efficaces pour résoudre rapidement les problèmes NP-difficiles avec des algorithmes de programmation dynamique. Expliquons les grandes idées utilisées pour créer de tels algorithmes avec les arbustes (les mêmes idées marchent sur les décompositions arborescente et les k-expressions). Supposons qu'on veut trouver un ensemble de sommet satisfaisant une propriété P de taille maximum dans un graphe G. Pour ce faire, on dispose d'un arbuste (T, δ) de G avec une petite f-largeur pour une certaine fonction f. Afin de résoudre ce problème, nous allons parcourir les noeuds de T de bas en haut et à chaque noeud x de T , nous allons calculer un ensemble de solutions partielles, une solution partielle étant une partie de G[V x ] pouvant potentiellement s'étendre en une solution. Puisqu'on recherche un ensemble de sommets, les solutions partielles associées à un noeud x seront des sous-ensembles de V x . L'idée principale est de calculer, pour chaque noeud x de T , un ensemble de solutions partielles S x qui représente 2 Vx , i.e., pour chaque ensemble X ⊆ V x et chaque Y ⊆ V (G) \ V x , si X ∪ Y vérifie P, alors il existe un ensemble X ∈ S x tel que X ∪ Y vérifie P et avec |X | ≥ |X|. Avec cette notion de représentativité, on est assuré de trouver une solution à notre problème (si il en existe une) dans l'ensemble de solutions partielles calculé pour la racine de T . La plupart des algorithmes de programmation dynamique sont basés sur ce concept de représentant, et proposer un algorithme rapide se réduit souvent à trouver une manière de calculer des petits représentants. Généralement, ceci est fait en définissant une relation d'équivalence ∼ sur 2 Vx avec « peu » de classes d'équivalence et tel que X ∼ W si pour tout Y ⊆ V (G) \ V x , l'ensemble X ∪ Y vérifie P si et seulement si W ∪ Y vérifie aussi P. Pour Pour calculer les ensembles S x , pour tous les noeuds x de T , nous commençons par les calculer pour les feuilles de T . Cette étape est triviale car |V x | = 1. Pour chaque noeud interne x de T avec deux enfants a et b, nous calculons S x à partir de S a et de S b . Généralement, on calcule un ensemble S x de taille au plus N 2 en prenant l'ensemble des solutions partielles obtenues par l'union d'une solution partielle de S a et d'une solution partielle de S b . Normalement, il est facile de prouver que S x représente 2 Vx à partir du fait que S a et S b représentent, respectivement, 2 Va et 2 V b . Maintenant, on calcule S x en temps N 3 • T à partir de S x comme expliqué précédemment. Vu qu'un arbuste possèdent 2n -1 noeuds, en appliquant ces idées, on obtient un algorithme s'exécutant en temps O(N 3 • T • n).

Il y a trois aspects importants à considérer quand on étudie et compare des largeurs.

(a) La complexité paramétrée du calcul d'une décomposition de largeur optimale ou approchée.

(b) L'ensemble des graphes où cette largeur est petite.

(c) La complexité paramétrée des problèmes NP-difficiles paramétrés par cette largeur en supposant qu'une décomposition soit donnée en entrée.

L'Aspect (a) doit être considéré comme une étape de pré-calcul car une fois calculée la décomposition peut servir à résoudre rapidement de nombreux problèmes. Malheureusement, pour toutes les largeurs abordées dans cette thèse, calculer une décomposition de largeur optimale s'avère être NP-difficile. Cependant, pour la largeur arborescente et la largeur de (Q-)rang, il existe des algorithmes FPT rapides pour calculer une décomposition qui approxime à une constante près la largeur du graphe en entrée. Concernant la largeur de clique et de couplage induit, les algorithmes utilisant ces largeurs requièrent qu'une k-expression ou qu'un arbuste soit donné en entrée. En effet, on ne sait pas si on peut approximer à un facteur constant près la largeur de clique (ou de couplage induit) d'un graphe avec un algorithme XP. Nous donnons une vue d'ensemble concernant cet aspect en Section 2.5. L'Aspect (b) est capital. En effet, même si une largeur est facile à calculer (ou à approximer), cette dernière peut être énorme, i.e., proche du nombre de sommets. Il est important de comparer les largeurs sur cet aspect car deux largeurs peuvent résoudre un problème avec le même temps d'exécution mais il peut y avoir une différence immense entre les valeur de ces deux largeurs sur un graphe.

Par exemple, la largeur de clique est plus générale que la largeur arborescente. En d'autres mots, si une classe de graphes a une largeur arborescente bornée alors sa largeur de clique est également bornée [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF], mais le contraire est faux : la largeur arborescente d'une clique de taille n est n -1 tandis que sa largeur de clique est au plus de 2. La largeur de rang et de Q-rang sont aussi générales que la largeur de clique, i.e., ces trois largeurs sont bornées dans les mêmes classes de graphes. Cependant, la largeur de clique d'un graphe peut être exponentiellement plus grande que sa largeur de (Q-)rang. De son coté, la largeur de couplage induit est plus générale que les quatre autres largeurs, contrairement à ces dernières, elle est même bornée dans les graphes d'intervalles et de permutation où les autres largeurs ne sont pas bornées [START_REF] Belmonte | Graph classes with structured neighborhoods and algorithmic applications[END_REF][START_REF] Charles | On the clique-width of some perfect graph classes[END_REF].

Intuitivement, plus une largeur est générale plus il va être dur de résoudre des problèmes NP-difficiles avec celle-ci. Comparer la généralité des largeurs est utile car si une largeur f est plus générale qu'une largeur g alors :

• si un problème P paramétré par f est FPT, alors P est FPT paramétré par g et • si un problème P est W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-difficile paramétré par g, alors P est aussi W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-difficile paramétré par f.

Par conséquent, un problème est FPT paramétré par la largeur de clique si et seulement si il est FPT paramétré par la largeur de (Q-)rang. Cependant, même si deux largeurs sont équivalentes en terme de généralité, ça ne veut pas dire qu'elles ont les même propriétés ni que les techniques algorithmiques employées pour une vont s'avérer efficaces pour l'autre. Dans la Section 2.3, nous donnons un état de l'art sur les relations qu'entretiennent les différentes largeurs au niveau de l'Aspect (b). De ce qu'on a dit, la largeur de rang semble surpasser la largeur de clique à la fois sur l'Aspect (a) et sur l'Aspect (b). Cependant, cette supériorité se paie sur l'Aspect (c) : la largeur de rang est plus difficile à manipuler que la largeur de clique pour résoudre des problèmes. L'Aspect (c) est le thème central de cette thèse. Cet aspect a été intensivement étudié durant ces dernières décennies. Grâce au théorème de Courcelle [START_REF] Courcelle | The monadic second-order logic of graphs III: tree-decompositions, minor and complexity issues[END_REF] et à ses variantes [START_REF] Arnborg | Easy problems for tree-decomposable graphs[END_REF][START_REF] Borie | Automatic generation of lineartime algorithms from predicate calculus descriptions of problems on recursively constructed graph families[END_REF] (présentés dans la Sous-section 2.6.1), on connaît un nombre incommensurable de problèmes NPdifficiles qui sont FPT paramétrés par la largeur arborescente. Courcelle, Makowsky et Rotics prouvèrent une variante du théorème de Courcelle [START_REF] Courcelle | Linear time solvable optimization problems on graphs of bounded clique-width[END_REF] pour la largeur de clique et de (Q-)rang. Plus précisément, ils démontrèrent que tout problème exprimable en logique monadique du premier ordre (appelée MSO 1 ) -une restriction de MSO 2 -est FPT paramétré par la largeur de clique et de (Q-)rang. De nombreux problèmes classiques sont exprimables en MSO 1 comme Dominating Set et Feedback Vertex Set. Cependant, les temps d'exécution des algorithmes qu'on obtient à partir de ces méta-théorèmes sont épouvantables. Pour obtenir des algorithmes efficaces, il est nécessaire de mettre les mains dans le cambouis.

Pour la largeur arborescente et la largeur de clique, nous avons une idée précise de la complexité de nombreux problèmes classiques tel que Vertex Cover, Hamiltonian Cycle et Graph Coloring. C'est à dire que pour ces problèmes, nous connaissons des algorithmes paramétrés par la largeur arborescente du graphe en entrée (ou la largeur de clique d'une kexpression donnée en entrée) dont la dépendance sur le paramètre est asymptotiquement optimale sous ETH. En revanche, pour les autres largeurs, notre connaissance est assez limitée. Pour de nombreux problèmes NP-difficiles, il a une grosse différence entre le temps d'exécution des meilleurs algorithmes et les meilleures bornes inférieures. Dans la Section 2.6, nous donnons une vue d'ensemble des meilleurs algorithmes connus en incluant les résultats de cette thèse et les meilleures bornes inférieures connues pour plusieurs problèmes NP-difficiles classiques.

Dans le reste de cette introduction, nous allons présenter en détails les questions traitées dans cette thèse ainsi que ses contributions.

Tandis que les largeurs définies à partir du rang de matrices binaires 4 dans différents corps ont été intensivement étudiées [START_REF] Moustapha | The rank-width of directed graphs[END_REF][START_REF] Moustapha | The rank-width of edge-coloured graphs[END_REF][START_REF] Oum | Graphs of Bounded Rank Width[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF], on ne connaît rien des largeurs qu'on pourrait obtenir à partir de décompositions de matrices dérivées d'autres structures algébriques. Dans le Chapitre 3, nous introduisons deux nouvelles largeurs, qui à notre connaissance n'ont jamais été étudiées auparavant. On les a appelées respectivement largeur de N-rang et largeur de Brang. Ces deux largeurs sont définies à partir de notions de décomposition de matrices dans des semi-anneaux. Un semi-anneaux est une structure algébrique ressemblant aux anneaux mais sans la contrainte que chaque élément doit avoir un inverse pour l'addition. Pour définir ces deux largeurs, nous utilisons les semi-anneaux suivants :

• le semi-anneau de Boole B = ({0, 1}, ∨, ∧) où ∨ et ∧ sont, respectivement, le ou et le et logique,

• le semi-anneau (N, +, •) où + et • correspondent à l'addition et la multiplication qu'on apprend à l'école primaire.

Malgré le fait que ces semi-anneaux n'ont pas toutes les propriétés d'un corps, Froidure [START_REF] Froidure | Rangs des relations binaires et semigroupes de relations non ambigus[END_REF] a prouvé qu'on pouvait définir à partir d'eux une notion de rang dans les matrices binaires. Étant donné une matrice binaire M , on définit ainsi rw B (M ) (resp. rw N (M )) comme étant le nombre minimum de vecteurs nécessaires pour générer les lignes de M dans B (resp. (N, +, •)).

Par exemple, pour la matrice M dont les lignes sont (1, 1, 0), (0, 1, 1) et (1, 1, 1). La somme des vecteurs (1, 1, 0) et (0, 1, 1) dans B, (N, +, •) et GF (2) sont égales, respectivement, à (1, 1, 1), (1, 2, 1) et (1, 0, 1). Par conséquent, nous avons rw B (M ) = 2, rw N (M ) = 3 et le rang de M dans GF (2) égale 3. La largeur de B-rang (respectivement N-rang) d'un graphe G correspond à la rw B -largeur (resp. rw N -largeur) de G où rw B (A) := rw B (M ) (resp. rw N (A) := rw N (M )) avec M la matrice d'adjacence entre A et V (G) \ A.

Dans cette thèse, nous prouvons que ces deux paramètres ont la même généralité que la largeur de clique et de rang. Pour cela, nous démontrons que rw B (A) (resp. rw N (A)) correspond au nombre minimum de bicliques nécessaires pour couvrir (resp. partitionner) les arêtes du graphe biparti associé à A et V (G) \ A. À travers ces équivalences et grâce à [START_REF] Chandran | On the parameterized complexity of biclique cover and partition[END_REF], nous déduisons que les calculs de rw B (A) et de rw N (A) sont NP-difficiles et qu'on ne peut calculer rw B (A) en temps 2 2 o(rw B (A)) en supposant ETH. De plus, grâce à un méta-théorème de Saether et Vatshelle [START_REF] Hortemo | Hardness of computing width parameters based on branch decompositions over the vertex set[END_REF], nous pouvons étendre ces résultats de difficulté aux calculs des deux largeurs dans les graphes.

Au vu de ces résultats, ces deux largeurs se révèlent décevantes : elles ont l'air très difficiles à calculer et elles ne se démarquent pas assez de la largeur de clique. Pour toutes ces raisons, nous n'avons pas continué l'étude de la largeur de B-rang et de la largeur de N-rang.

À la place, nous nous sommes concentrés sur les applications algorithmiques de la largeur de clique, la largeur de rang et la largeur de couplage induit. Apprivoiser un problème NP-difficile -trouver un bon algorithme -avec ces largeurs peut être aussi bien une simple formalité qu'un calvaire. Les problèmes NP-difficiles les plus gentils sont certainement ceux dont on peut vérifier une solution localement : en regardant juste le voisinage de chaque sommets séparément. C'est le cas des problèmes Independent Set, Dominating Set, et Maximum Induced Matching. Ces trois problèmes sont des problèmes de (σ, ρ)-domination. Étant donné une paire (σ, ρ) de sous-ensembles finis ou co-finis de N et un graphe G, un (σ, ρ)-dominant de G est un sousensemble D de V (G) tel que, pour tout sommet v ∈ V (G), le nombre de voisins de v dans D appartient à σ si v ∈ D ou à ρ sinon. Un problème est un problème de (σ, ρ)-domination si il consiste à trouver un (σ, ρ)-dominant de poids maximum ou minimum. Par exemple, le problème Dominating Set consiste à trouver un (N, N \ {0})-dominant de poids minimum. Énormément de problème NP-difficiles appartiennent à cette famille de problèmes voir [18, Table 1].

Cette famille de problème a été introduite et apprivoisée avec la largeur arborescente par Telle et Proskurowski [START_REF] Telle | Algorithms for vertex partitioning problems on partial k-trees[END_REF]. Elle a été aussi étudiée avec les largeurs de clique, de (Q-)rang et de couplage induit dans [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF]. Grâce à [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Telle | Algorithms for vertex partitioning problems on partial k-trees[END_REF], nous avons une idée précise de la complexité des problèmes de (σ, ρ)-domination paramétrés par la largeur arborescente ou la largeur de clique. C'est à dire, qu'on sait résoudre ces problèmes en temps 2 O(k) • n et on connaît de nombreux problèmes de (σ, ρ)-domination qui ne peuvent pas être résolu en temps 2 o(k) •n O (1) en supposant ETH. Pour les autres paramètres, on sait grâce à [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF] qu'on peut résoudre chaque problème de (σ, ρ)-domination en temps

2 O(k log(k)) • n O(1) , 2 O(k 2 ) • n O(1) et n O(k) quand k est,
respectivement, la largeur de Q-rang, la largeur de rang et la largeur de couplage induit. Cependant, nous n'avons pas sous ETH de bornes inférieures serrées pour ces largeurs.

A contrario, les problèmes incorporant une contrainte globale -e.g., connexité ou acyclicité -sont beaucoup plus durs à apprivoiser avec des largeurs. Parmi ces problèmes, on retrouve des classiques comme Hamiltonian Cycle, Connected Vertex Cover et Feedback Vertex Set. Notre connaissance sur la complexité de ces problèmes paramétrés par les largeurs était assez limitée même pour la largeur arborescente. Pendant un moment, la plupart des informaticiens pensaient que pour nombre de ces problèmes, les algorithmes naïfs en temps k O(k) • n, avec k la largeur arborescente du graphe, ne pouvait être améliorés. En effet, il semblait nécessaire de connaître les composantes connexes des solutions partielles dans l'optique de les mettre à jour et d'assurer la connexité de la solution calculée. Algorithmiquement, à chaque sac de la décomposition arborée, les composantes connexes des solutions partielles sont représentées par des partitions sur les k sommets du sac. Conserver toutes les partitions de k éléments possibles conduit inévitablement à un temps d'exécution de k O(k) [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] une approche générale appelée rank-based approach pour créer des algorithmes déterministes en temps 2 O(k) • n pour une plus grande variété de problèmes. Les algorithmes obtenus avec la rank-based approach ne souffrent pas des inconvénients de ceux obtenus avec l'approche Cut & Count. La principale contribution de [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] a été de prouver qu'à partir d'un ensemble de solutions partielles A, on pouvait calculer, en temps |A| • 2 O(k) , un sous-ensemble B de A de taille 2 k-1 et qui représente A. Ainsi, pour résoudre un problème de connectivité, on peut se contenter de manipuler des ensembles de solutions partielles de taille 2 O(k) . Pour prouver cela, étant donné un ensemble de solutions partielles A associé à un sac B, les auteurs définissent une matrice binaire M tel que :

• les lignes de M correspondent aux partitions de {1, . . . , k} représentant les composantes connexes des solutions partielles dans A,

• les colonnes de M correspondent à toutes les partitions de {1, . . . , k} et représentent toutes les manières de connecter les sommets dans le sac B,

• M[p, q] = 1 si et seulement si la « fusion » de p et de q égale {{1, . . . , k}}, i.e., cette fusion représente une solution connectée.

Bodlaender et al. ont démontré que le rang de M est borné par 2 k-1 ; de plus, une base de poids maximum (ou minimum si on cherche à minimiser) générant les lignes de M peut être calculée en temps |A| • 2 O(k) et correspond à un représentant de A. Nous donnons plus d'explications sur cette approche dans les Sections 4.1 et 4.2. En plus de son indéniable intérêt théorique, la rank-based approach est intéressante en pratique [START_REF] Fafianie | Speeding up dynamic programming with representative sets: An experimental evaluation of algorithms for steiner tree on tree decompositions[END_REF].

Il est assez naturel de se demander si on peut adapter ces approches aux autres largeurs. Instinctivement, on a commencé à étudier cette question avec la largeur de clique car cette dernière est plus facile à manipuler que les autres. À ce moment là, notre connaissance sur la complexité des problèmes avec une contrainte globale paramétrés par la largeur de clique était encore plus incomplète que pour la largeur arborescente avant l'introduction du Cut & Count. Quelques problèmes comme Connected Dominating Set et Connected Vertex Cover étaient connus pour être FPT paramétrés par la largeur de clique car ils sont exprimables en MSO 1 . Cependant, nous n'avions pas d'idée précise sur leurs complexités paramétrées en dehors de certains cas spéciaux comme Feedback Vertex Set qu'on peut résoudre en temps k O(k) • n O (1) en supposant qu'une k-expression est donnée [START_REF] Bui-Xuan | Feedback vertex set on graphs of low clique-width[END_REF]. Similairement à la largeur arborescente, les meilleures bornes inférieures pour ces problèmes stipulent qu'on ne peut les résoudre en temps

2 o(k) • n O(1) en supposant ETH.
Dans la Section 4.1, nous démontrons qu'on peut adapter la rank-based approach à la largeur de clique. Nous nous concentrons sur les variantes connexes des problèmes de (σ, ρ)-domination (on demande à la solution ou à son complément d'induire un graphe connexe), e.g., Connected Dominating Set et Connected Vertex Cover. Il n'est pas difficile de modifier l'algorithme de [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] pour les problème de (σ, ρ)-domination afin de résoudre leurs variantes connexes en temps k O(k) • n O (1) . En effet, il suffit de garder une solution partielle pour chaque partition des labels possible correspond à la façon dont le graphe induit par cette solution partielle connecte ces classes de labels. On peut modifier légèrement cet algorithme naïf et prouver qu'on peut calculer à chaque étape, un représentant de taille 2 O(k) pour obtenir un algorithme s'exécutant en temps

2 O(k) • n.
Nous considérons aussi le problème Feedback Vertex Set, qui demande le calcul d'un ensemble de sommet de poids minimum à enlever pour obtenir un graphe acyclique. Nous démontrons qu'on peut résoudre ce problème en temps 2 O(k) • n. Même si notre algorithme est dans le même esprit que celui pour les variantes connexes des problèmes de (σ, ρ)-domination, il est beaucoup moins trivial car on doit gérer l'acyclicité. Ceci est dû au fait qu'avec les opérations de la largeur de clique, une multitude d'arêtes peuvent être ajoutées à la fois. Ainsi, contrairement à la largeur arborescente, à chaque étape de calcul, le nombre de sommets ayant un voisinage dans le reste du graphe n'est pas borné.

Dans nos deux algorithmes, nous utilisons la même approche que [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF], mais pour Feedback Vertex Set, nous devons adapter celle-ci pour gérer l'acyclicité. Contrairement à [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF], nous ne pouvons pas garantir l'acyclicité en comptant le nombre d'arêtes induites par les solutions partielles. Dans notre cas, utiliser cette astuce, nous conduirait à un temps d'exécution de n O(k) (on explique pourquoi dans la Section 4.1).

Dans la Section 4.2, nous généralisons et étendons les résultats obtenus pour la largeur de clique aux largeurs de (Q-)rang et de couplage induit. Nous étendons aussi la classe de problèmes étudiés en y incluant les variantes acycliques (ou acycliques et connexes) des problèmes de (σ, ρ)-domination, où on demande aux solutions d'induire un graphe acyclique (ou un arbre). Parmi ces problèmes, on retrouve des classiques comme Maximum Induced Tree et Longest Induced Path. Nous obtenons des algorithmes rapides pour résoudre toutes ces variantes de problèmes de (σ, ρ)-domination, avec les largeurs de clique, de (Q-)rang et de couplage induit. Les temps d'exécution de ces algorithmes sont présentés dans la Table 1. À une constante prés dans les exposants, ces temps d'exécutions sont équivalents aux temps d'exécutions des meilleurs algorithmes connus pour les problèmes de (σ, ρ)-domination dans [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF], même pour des problèmes très basiques comme Independent Set et Dominating Set. Pour la largeur de clique, cela prouve que rajouter une contrainte de connexité ou d'acyclicité à ces problèmes n'ajoute pas de grande difficulté. Pour les autres largeurs, cela semble être également le cas mais nous ne pouvons confirmer cette intuition sans de meilleures bornes inférieures.

2 O(k) • n O(1) 2 O(k 2 ) • n O(1) 2 O(k log(k)) • n O(1) n O(k)
Pour obtenir ces algorithmes, nous généralisons et simplifions la rank-based approach de [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF]. Pour y arriver, nous utilisons la notion de d-voisins équivalence. Ce concept a été introduit dans [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] et utilisé dans [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF] pour obtenir les meilleurs algorithmes connus pour les problèmes de (σ, ρ)-domination paramétrés par les largeurs de clique, de (Q-)rang et de couplage induit. Formellement, étant donné [START_REF] Bui-Xuan | Boolean-width of graphs[END_REF] correspond au logarithme binaire de la largeur de 1-voisins.

A ⊆ V (G) et d ∈ N \ {0}, deux ensembles X, Y ⊆ A sont d-voisins équivalents envers A si, pour chaque sommet v de V (G) \ A, nous avons min(d, |N (v) ∩ X|) = min(d, |N (v) ∩ Y |) où N (v)
Similairement à [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] pour les problèmes de (σ, ρ)-domination, nous prouvons qu'on peut résoudre leurs variantes connexes en temps polynomial en n et en la largeur de d-voisins d'un arbuste donné en entrée, avec d une constante ne dépendant que de σ et de ρ. Les temps d'exécutions obtenus dans la Table 1 proviennent du fait que la largeur de d-voisins d'un arbuste L est bornée par

(d + 1) mw , 2 rw Q log(d•rw Q +1) , 2 d•rw 2 , et n d•mim où mw, rw Q , rw et mim sont,
respectivement, les largeurs de module (une largeur équivalent à la largeur de clique), de Qrang, de rang et de couplage induit de L. Jusqu'à maintenant la d-voisins équivalence n'avait été utilisée que pour des problèmes avec des contraintes locales [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF]. Étonnamment, nous prouvons qu'elle peut être utilisée pour les variantes connexes des ces problèmes. Cela démontre l'importance et la transversalité de la largeur de d-voisins concernant les largeurs de clique, de (Q-)rang et de couplage induit.

Malheureusement, pour les variantes acycliques (ou acyclique et connexe) nous n'avons pas réussi à obtenir un algorithme en temps polynomial en n et en la largeur de d-voisins pour une certaine constante d. Malgré le fait, que les algorithmes que nous obtenons pour ces problèmes s'appuient énormément la largeur de d-voisins, à un moment, nous avons dû utiliser les propriétés des autres largeurs pour obtenir les temps d'exécution présentés dans la Table 1.

Les algorithmes que nous présentons dans la Section 4.2 généralisent et unifient de nombreux résultats dont notamment la rank-based approach de [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF]. En effet, notre approche peut être utilisée pour résoudre en temps 2 O(k) • n tous les problèmes que nous considérons, avec k la largeur arborescente du graphe en entrée. Ceci est dû au fait que si un ensemble de sommets S est un séparateur de taille k, alors s-nec d (S) ≤ (d + 1) k .

De plus, les algorithmes présentés dans la Section 4.2 sont plus simples que ceux présentés dans [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] et dans la Section 4.1. Cela est dû principalement au fait que nous évitons d'utiliser des partitions pondérées pour représenter nos solutions partielles. Ceci simplifie grandement les opérations utilisées par les algorithmes, les étapes de calculs et les preuves. En particulier, l'utilisation de partitions pondérées pour représenter les solutions partielles dans la Section 4.1 implique de prendre soin de nombreux détails techniques concernant l'acyclicité. Notre approche simplifie l'algorithme pour Feedback Vertex Set paramétré par la largeur de rang de Ganian et Hliněný [START_REF] Ganian | On parse trees and Myhill-Nerode-type tools for handling graphs of bounded rank-width[END_REF] et les algorithmes paramétrés par la largeur de couplage induit de Jaffke, Kwon et Telle pour Longest Induced Path [START_REF] Jaffke | Polynomial-time algorithms for the longest induced path and induced disjoint paths problems on graphs of bounded mim-width[END_REF] et Feedback Vertex Set [START_REF] Jaffke | A unified polynomial-time algorithm for feedback vertex set on graphs of bounded mim-width[END_REF].

Dans la Section 4.3, nous démontrons que la portée de nos idées n'est pas limitée à la rankbased approach. Nous prouvons qu'on peut utiliser les mêmes idées à l'approche Cut & Count pour obtenir un algorithme Monte Carlo pour les variantes connexes de problèmes de (σ, ρ)domination. Ceci montre la généralité de nos idées et permet d'envisager de les appliquer à d'autres types de problèmes et d'autres approches.

Vous avez peut-être remarqué que nos généralisations de la rank-based approach et du Cut & Count ne s'appliquent pas à tous les problèmes considérés dans [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF][START_REF] Cygan | Solving connectivity problems parameterized by treewidth in single exponential time[END_REF] [START_REF] Courcelle | The monadic second-order logic of graphs III: tree-decompositions, minor and complexity issues[END_REF] et à ses variantes [START_REF] Arnborg | Easy problems for tree-decomposable graphs[END_REF][START_REF] Borie | Automatic generation of lineartime algorithms from predicate calculus descriptions of problems on recursively constructed graph families[END_REF]. Paramétrés par la largeur de clique, on sait qu'ils sont tous les quatre XP [START_REF] Espelage | How to solve NP-hard graph problems on clique-width bounded graphs in polynomial time[END_REF][START_REF] Kobler | Edge dominating set and colorings on graphs with fixed clique-width[END_REF]. Dans de nombreux papiers [START_REF] Godlin | Evaluations of graph polynomials[END_REF][START_REF] Kobler | Polynomial algorithms for partitioning problems on graphs with fixed clique-width[END_REF][START_REF] Kobler | Edge dominating set and colorings on graphs with fixed clique-width[END_REF][START_REF] Makowsky | Computing graph polynomials on graphs of bounded clique-width[END_REF], les auteurs se demandèrent si il existait pour ces problèmes des d'algorithmes FPT paramétrés par la largeur de clique. Fomin, Golovach, Lokshtanov et Saurabh [START_REF] Fedor | Intractability of clique-width parameterizations[END_REF] prouvèrent que les problèmes Edge Dominating Set, Graph Coloring et Hamiltonian Cycle sont W[1]-difficiles paramétrés par la largeur de clique. En 2014, les même auteurs [START_REF] Fedor | Almost optimal lower bounds for problems parameterized by clique-width[END_REF] prouvèrent que Edge Dominating Set et Max Cut pouvaient être résolus en temps n O(k) , à partir d'une k-expression, mais qu'on ne pouvait pas les résoudre en temps n o(k) en supposant ETH. Dans la conclusion de [START_REF] Fedor | Almost optimal lower bounds for problems parameterized by clique-width[END_REF], les auteurs affirment qu'en supposant ETH, on ne peut pas résoudre Hamiltonian Cycle en temps n o(k) (ce résultat est prouvé dans [START_REF] Fedor | Clique-width III: hamiltonian cycle and the odd case of graph coloring[END_REF]).

Cependant, les auteurs ne purent pas prouver qu'on pouvait résoudre Hamiltonian Cycle en temps n O(k) . À l'époque, les meilleurs algorithmes pour Hamiltonian Cycle et Graph Coloring s'exécutaient, respectivement, en temps n O(k 2 ) [49] et n 2 O(k) [START_REF] Kobler | Edge dominating set and colorings on graphs with fixed clique-width[END_REF]. Récemment, Golovach et al. [START_REF] Golovach | Cliquewidth III: the odd case of graph coloring parameterized by cliquewidth[END_REF] ont prouvé qu'étonnamment Graph Coloring ne pouvait pas être résolu en temps n 2 o(k) en supposant ETH.

Dans la Section 4.4, nous prouvons qu'on peut résoudre Hamiltonian Cycle en temps n O(k) à partir d'une k-expression. Notre algorithme utilise une équivalence entre l'existence d'un cycle Hamiltonien dans un graphe et l'existence d'une marche Eulérienne qui utilise des arêtes de couleurs différentes alternativement dans un multigraphe dont les arêtes sont colorées avec deux couleurs. L'idée essentielle est que dans un tel multigraphe, l'existence d'une marche Eulérienne « alternante » peut être déterminée par les informations suivantes : le nombre d'arêtes colorée incidentes à chaque sommets et la connexité du multigraphe. Avec ces idées, nous évitons l'obstacle majeur de l'algorithme naïf dans [START_REF] Espelage | How to solve NP-hard graph problems on clique-width bounded graphs in polynomial time[END_REF] qui garde tous les multigraphes possibles sur k sommets et avec au plus n arêtes.

Grâce à notre résultat, nous avons maintenant une idée précise de la complexité des problèmes classiques qui sont W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-difficiles paramétrés par la largeur de clique. Même si notre approche semble assez ad hoc à première vue, elle pourrait nous aider à étendre le champ d'application de l'approche que nous avons créée pour les variantes de problèmes de (σ, ρ)-domination.

Jusqu'à maintenant, nous n'avons parlé que de problèmes d'optimisation ou de décision. La grande majorité des problèmes étudiés à travers la complexité paramétrée concerne ces deux types de problèmes. Laissés derrière pendant un moment, les problèmes de comptage reçoivent de plus en plus d'attention de la part de la communauté [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF][START_REF] Curticapean | The simple, little and slow things count: on parameterized counting complexity[END_REF][START_REF] Flum | The parameterized complexity of counting problems[END_REF][START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF]. Tandis qu'un problème de décision demande si il existe une solution, un problème de comptage demande le nombre de solutions. Ainsi, la variante de comptage d'un problème de décision NP-difficile est au moins aussi difficile que ce dernier. A contrario, si un problème de décision est dans P, sa variante de comptage n'admet pas nécessairement d'algorithme en temps polynomial [START_REF] Valiant | The complexity of computing the permanent[END_REF].

À l'instar des problèmes de décision, il existe pour les problèmes de comptage deux classes de complexité jouant le même rôle que P et NP. L'ensemble des problèmes de comptage qu'on peut résoudre en temps polynomial est dénoté par FP (pour Functional P). Valiant [START_REF] Valiant | The complexity of computing the permanent[END_REF] introduisit la classe de complexité #P l'analogue de NP pour les problèmes de comptage. Intuitivement, #P désigne l'ensemble des fonctions qui correspondent aux nombre de chemins acceptants d'une machine de Turing non-déterministe. En supposant #P = FP, on peut s'intéresser à classifier les problèmes de comptage entre ceux qui sont faciles à résoudre, i.e., qui appartiennent à FP, et ceux qui sont difficiles, c'est à dire #P-difficiles [START_REF] Valiant | The complexity of computing the permanent[END_REF] ou même difficiles à approximer [START_REF] Leslie | Approximately counting locallyoptimal structures[END_REF].

La variante de comptage d'un problème de décision peut être beaucoup plus difficile que ce dernier. Par exemple, décider si un graphe admet un couplage parfait est décidable en temps polynomial tandis que compter le nombre de couplages parfaits d'un graphe est #P-difficile même dans les graphes bipartis [START_REF] Valiant | The complexity of computing the permanent[END_REF]. Dans le même esprit, décider si une formule 2-SAT admet un modèle est un problème dans P alors que sa variante de comptage est #P-difficile [START_REF] Valiant | The complexity of enumeration and reliability problems[END_REF].

Il est assez naturel d'étudier les problèmes de comptage avec la boite à outils fournie par la complexité paramétrée. Dans la Section 5.1, nous donnons une vue d'ensemble des résultats obtenus sur le comptage avec les largeurs.

Cependant, il reste énormément de zones d'ombre, les largeurs qu'on connaît ne parviennent pas à expliquer tous les résultats d'appartenance dans P et FP quand on restreint les instances à certaines classes de graphes. Ceci est particulièrement vrai pour les problèmes de comptage dont la variante de décision est facile. Par exemple, compter le nombre de vertex covers est #P-difficile en général mais restreint aux graphes cordaux, ce problème appartient à FP [START_REF] Okamoto | Counting the number of independent sets in chordal graphs[END_REF]. Or aucune largeur qu'on connaît et qui est bornée dans les graphes cordaux n'arrive à expliquer ce résultat. Par conséquent, il faut découvrir de nouvelles largeurs et pour ce faire, nous devons améliorer notre compréhension de ces classes de graphes et des problèmes qu'on peut résoudre en temps polynomial sur ces classes.

Dans cette optique, nous démontrons, dans le Chapitre 5, plusieurs résultats sur la complexité classique de problèmes de comptage. Notre principal sujet d'étude est le comptage des transversaux minimaux dans les hypergraphes. Un hypergraphe est une collection de sousensembles -appelés hyper-arêtes -d'un ensemble fini d'éléments appelés sommets. Les hypergraphes généralisent la notion de graphes car un graphe est un hypergraphe dont les hyperarêtes sont de taille 2. Un transversal est un ensemble de sommets qui intersecte toutes les hyper-arêtes de l'hypergraphe. Le comptage des transversaux minimaux est intimement lié au problème d'énumération des transversaux minimaux. Ce problème d'énumération a énormément d'applications dans de nombreux domaines [START_REF] Eiter | Computational aspects of monotone dualization: a brief survey[END_REF]. Malgré des décennies de recherche intensives, on ne sait toujours pas si on peut le résoudre en temps polynomial en la taille de l'instance et du nombre de solutions. Compter les transversaux minimaux a également de nombreuses applications dans des domaines variés comme dans le model checking [START_REF] Durand | On the counting complexity of propositional circumscription[END_REF]. Ce problème a également un intérêt en théorie des graphes car il est intimement proche du comptage des dominants minimaux dans les graphes. Ces deux problèmes de comptage se révèlent être #P-difficiles en général. Cependant, la littérature regorge de résultats [START_REF] Capelli | Structural restrictions of CNF formulas: application to model counting and knowledge compilation[END_REF][START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF][START_REF] Mamadou | On the enumeration and counting of minimal dominating sets in interval and permutation graphs[END_REF] démontrant qu'on peut résoudre ces problèmes en se restreignant à certaines classes de graphes ou d'hypergraphes.

Les hypergraphes sont connus pour être plus compliqués à manipuler que les graphes, même des notions basiques comme l'acyclicité ne sont pas triviale à définir dans les hypergraphes. En fait, plusieurs notions d'acyclicité coexistent [START_REF] Capelli | Structural restrictions of CNF formulas: application to model counting and knowledge compilation[END_REF]. Similairement, il existe différentes notions de largeurs pour les hypergraphes qui ont été introduites pour généraliser la largeur arborescente [START_REF] Gottlob | Hypertree decompositions and tractable queries[END_REF][START_REF] Gottlob | Hypergraphs in model checking: Acyclicity and hypertree-width versus clique-width[END_REF]. À notre connaissance, personne n'a pu utiliser ces largeurs d'hypergraphes pour créer un algorithme FPT ou XP pour résoudre un problème NP-difficile ou #P-difficile. En fait, les largeurs d'hypergraphes qu'on connaît sont soit trop dures à manipuler, soit elles sont trop générales, i.e., bornées dans des instances difficiles.

Dans la Section 5.2, nous prouvons qu'on peut compter en temps polynomial les transversaux minimaux des hypergraphes β-acycliques. La β-acyclicité est une des notions généralisant l'acyclicité des graphes aux hypergraphes. En corollaire, nous déduisons qu'on peut compter en temps polynomial le nombre de dominant minimaux dans les graphes fortement cordaux, une classe de graphes où même la largeur de couplage induit n'est pas bornée. Le comptage des dominants minimaux dans les graphes cordaux est connu pour être #P-difficile [START_REF] Moustapha | Counting minimal dominating sets[END_REF]. Ces deux résultats offrent de prometteuses pistes pouvant mener à la découverte de nouvelles largeurs de graphes et d'hypergraphes intéressantes.

Introduction

The needs of efficient algorithms to solve real-world problems never ceased to increase since the construction of the first computers in the forties. This leads researchers to study the complexity of problems, i.e., the minimal amounts of resources -such as time and memory -a computer needs to solve a problem. It quickly became clear that all problems are not equally hard to solve. For example, computing the greatest common divisor of two integers can be done in a few steps of computation (Euclid's algorithm), while finding the divisors of an integer needs, apparently, much more time and memory to be computed. Despite decades of research, no one was able to find efficient algorithms for many interesting problems or to rule out the existence of efficient algorithms for these problems. Nevertheless, one can characterize the hardness of problems by comparing their relative complexity. For example, given the divisors of two integers a and b, we can easily find the greatest common divisor of a and b, hence finding the divisors of an integer is at least as hard as finding the greatest common divisor of two integers. This approach turned out to be successful for classifying the problems with respect to their relative complexity.

The most famous classification was due to the theory of NP-completeness introduced independently by Cook [START_REF] Cook | The complexity of theorem-proving procedures[END_REF] and Levin [START_REF] Anatolevich | Universal sequential search problems[END_REF] in the early seventies. Informally, a problem is in the class NP if it can be formulated as a yes-no question of the input value and the instances where the answer is "yes" have efficiently verifiable proofs. The Traveling Salesman Problem is a typical example of hard problem in NP. This problem asks, given an integer L, a list of cities and the distances between each pair of cities, whether there exists a route of length at most L that visits each city and returns to the origin city. This problem is in NP since it is quite easy given a route to check whether its length is smaller than L. Despite its apparent simplicity, no one was able to find an efficient algorithm for this problem. In fact, the Traveling Salesman Problem has a surprising property: it is NP-hard [START_REF] Karp | Reducibility among combinatorial problems[END_REF], meaning that it is at least as hard as any problem in NP. That is, the existence of an efficient algorithm for the Traveling Salesman Problem implies that every problem in NP admits an efficient algorithm. Thousands of interesting problems turned out to be NP-hard [START_REF] Garey | Computers and Intractability: A Guide to the Theory of NP-Completeness[END_REF][START_REF] Karp | Reducibility among combinatorial problems[END_REF] and none of them seems to admit an efficient algorithm. This leads researchers to conjecture that P = NP where P is the class of problems in NP that admit an algorithm whose running time is polynomial in the input size. Proving or refuting this conjecture is one of the most important open problems in computer science [START_REF] Fortnow | The status of the P versus NP problem[END_REF].

At first glance, P = NP may seem to be an insurmountable wall and the study of NPhard problems may look like a dead-end. On the other hand, NP-hard problems have tons of applications in practice, we cannot just ignore them and pretend they do not exist. For instance, the Traveling Salesman Problem has several applications in transportation but also in planning, logistics, manufacture of microchips, DNA sequencing, etc. [START_REF] Matai | Traveling salesman problem: an overview of applications, formulations, and solution approaches[END_REF].

In spite of their theoretical hardness, in practice, efficient softwares such as SAT-solvers [START_REF] Järvisalo | The international SAT solver competitions[END_REF] have been developed for handling some NP-hard problems. Of course, this does not prove that P = NP as these tools do not solve quickly all instances of an NP-hard problem. The good performances of these software in practice can be partially explained by the fact that real inputs are not arbitrary. That is, these real-world instances have a lots of hidden structures which explain why they are easy to solve [START_REF] Michael | Parameterized complexity: The main ideas and some research frontiers[END_REF][START_REF] Michael | Parameterized complexity: The main ideas and connections to practical computing[END_REF]. For example, a real instance of the Traveling Salesman Problem may consist in a set of existing cities joined by a road network. An algorithm for this problem could use the fact that human networks are very structured and constructed to optimize transportation. In the last decades, considerable efforts have been spent to characterize these hidden structures and to use them in order to design efficient algorithms.

A successful approach in this line of research is the theory of parameterized complexity introduced by Downey and Fellows [42] in the nineties. In this framework, the complexity of a problem is not measured only in terms of the input size, but also in terms of a parameter on the input. This additional dimension allows the classification of NP-hard problems on a finer scale than in the classical complexity theory. During the 30 years of its existence, the area has transformed into a mainstream topic of theoretical computer science with thousands of papers and three recent books [START_REF]The Multivariate Algorithmic Revolution and Beyond -Essays Dedicated to Michael R. Fellows on the Occasion of His 60th Birthday[END_REF][START_REF] Cygan | Parameterized Algorithms[END_REF][START_REF] Downey | Fundamentals of parameterized complexity[END_REF]. Formally, a parameterized problem is a problem whose instances are associated with a numerical value called parameter. A given problem can be parameterized by a multitude of different parameters. The choice of a parameter has a great impact on the complexity of the problem. Let us define and comment, briefly, some of the most important concepts in parameterized complexity. 1) with n the input size, k the parameter, and f a function. Typically, one goal in parameterized complexity is to design FPT algorithms, trying to make both f (k) and the exponent of n as small as possible. If a parameterized problem is FPT, then the problem is easy to solve for all instances where the parameter value is small. Additionally to their theoretical interests, FPT algorithms have practical applications [START_REF] Cheetham | Solving large FPT problems on coarse-grained parallel machines[END_REF][START_REF] Fafianie | Speeding up dynamic programming with representative sets: An experimental evaluation of algorithms for steiner tree on tree decompositions[END_REF][START_REF] Michael | Parameterized complexity: The main ideas and connections to practical computing[END_REF][START_REF] Langston | Practical FPT implementations and applications (invited talk)[END_REF][START_REF] Langston | Innovative computational methods for transcriptomic data analysis: A case study in the use of FPT for practical algorithm design and implementation[END_REF].

• A parameterized problem is FPT if it admits an algorithm -called FPT algorithm -running in time f (k) • n O(
• A parameterized problem is XP if it admits an algorithm -called XP algorithm -running in time f (k) • n g(k)
with f and g two functions, n the input size, and k the parameter.

Observe that a problem is XP if it can be solved in polynomial time on every instance where the parameter value is fixed. Unlike FPT, the interest on XP is mostly theoretical since an XP algorithm is significantly less efficient than an FPT algorithm [START_REF] Michael | Parameterized complexity: The main ideas and some research frontiers[END_REF]. While every FPT parameterized problem is XP by definition, it is conjectured that some XP problems are not FPT. To support this conjecture, Downey and Fellows [START_REF] Downey | Fixed-parameter intractability[END_REF] define a class of XP problems called W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]. It is conjectured that FPT = W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF], i.e., the problems in W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF] are not FPT. Assuming FPT = W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF] is almost as reasonable as assuming P = NP; in fact, the two conjectures have a lot in common [START_REF] Michael | Parameterized complexity: The main ideas and some research frontiers[END_REF]. Similarly to polynomial reductions, there exists a notion of reduction between parameterized problems to prove that a parameterized problem is W[1]-hard (analog of NP-hard) and thus unlikely to be FPT.

Additionally to these concepts, parameterized complexity theory provides plenty of techniques to design efficient algorithms. It also provides tools to establish conditional lower bounds on the complexity of problems such as W[1]-hardness [START_REF] Cygan | Parameterized Algorithms[END_REF]. An important part of this thesis consists in designing efficient FPT and XP algorithms. Some of our algorithms are asymptotically optimal under a reasonable complexity assumption called Exponential Time Hypothesis (ETH for short). This complexity assumption was introduced in 2001 by Impagliazzo and Paturi in [START_REF] Impagliazzo | On the complexity of k-sat[END_REF]. Roughly speaking, ETH states that the 3-SAT problem cannot be solved in time 2 o(n) with n the number of variables. Under ETH, one can prove lower bounds on the classical complexities of NP-hard problems but also on their parameterized complexities.

The vast majority of results obtained through the parameterized complexity toolbox are closely related to graphs. A graph is a data structure that models a binary relation between entities. Formally, a graph is an ordered pair G = (V (G), E(G)) comprising a set V of elements, called vertices, together with a set E of unordered pairs of vertices called edges. Despite their simplicity, graphs can model a huge amount of concepts. We use graphs in many areas, in computer science but also in biology, chemistry, physic, economics, electrical engineering, industry, etc. For instance, graphs excel at modeling any kind of network such as friendship relations between people or a road network by identifying crossroads as vertices and roads as edges.

Graphs offer a wide spectrum of interesting parameters such as the maximum degree (the largest number of neighbors of a vertex), the diameter (the largest distance between two vertices), the degeneracy, the genus, etc. It comes with no surprise that graphs make a fertile ground for many results in parameterized complexity theory, even for studying problems which are not directly related to graphs such as AI problems [START_REF] Capelli | Structural restrictions of CNF formulas: application to model counting and knowledge compilation[END_REF][START_REF] Gottlob | Fixed-parameter algorithms for artificial intelligence, constraint satisfaction and database problems[END_REF][START_REF] Ordyniak | Satisfiability of acyclic and almost acyclic CNF formulas[END_REF].

One of the most well-studied graph parameters is tree-width. The concept of tree-width was rediscovered several times in different settings, in particular, by Robertson and Seymour [START_REF] Robertson | Graph minors. II. algorithmic aspects of tree-width[END_REF] in their monumental Graph Minors project. Intuitively, tree-width measures how close a graph is to the topological structure of a tree. More precisely, a graph has tree-width at most k if it can be represented by a structural decomposition (called tree decomposition) into vertex sets of size k (called bags) that are connected in a tree-like fashion. It appears that tree-width has numerous structural properties and algorithmic applications, see [START_REF] Hans | Treewidth: Characterizations, applications, and computations[END_REF] for a survey. A celebrated algorithmic meta-theorem by Courcelle [START_REF] Courcelle | The monadic second-order logic of graphs III: tree-decompositions, minor and complexity issues[END_REF] states that every graph problem expressible in monadic second-order logic (MSO 2 ) can be decided in time f (k) • n on an n-vertex graph given with a tree-decomposition of tree-width k. Another celebrated result proved by Bodlaender [7] states that an optimal tree-decomposition of a graph can be computed in time f (k) • n. Consequently, Courcelle's Theorem and Bodlaender's algorithm prove that a huge number of problems are FPT parameterized by tree-width and that they are solvable in linear time on graphs of bounded treewidth. Among these problems, there are some well-studied and well-known NP-hard problems such as Dominating Set, Hamiltonian Cycle, and 3-Coloring. However, the FPT algorithms we obtain through Courcelle's meta-theorem have a huge dependency on tree-width. Many efforts have been spent to design better FPT algorithms. These efforts lead to the creation of fruitful techniques to obtain efficient algorithms. Nowadays, for many NP-hard problems, we have an FPT algorithm parameterized by tree-width whose dependency on tree-width is optimal under ETH.

Nevertheless, despite the broad interest on tree-width, only sparse graph classes can have bounded tree-width. But many NP-hard problems are tractable on dense graph classes. Most of the time, this tractability can be explained by the ability of these graphs to be recursively decomposable along vertex bipartitions (A, B) where the adjacency between A and B has a simple structure. A lot of graph parameters -called width measures -have been defined to characterize this ability, the most remarkable ones are certainly clique-width [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF], rank-width [START_REF] Oum | Rank-width and vertex-minors[END_REF], boolean-width [START_REF] Bui-Xuan | Boolean-width of graphs[END_REF], and maximum induced matching width (called mim-width) [START_REF] Vatshelle | New width parameters of graphs[END_REF]. In this thesis, we study the algorithmic properties of these width measures.

Let us explain how these width measures are defined. Clique-width is defined in terms of the following graph operations: (1) addition of a single vertex labeled i ∈ N, (2) renaming label i into j, (3) addition of edges between vertices labeled i and those labeled j, (4) disjoint union. The clique-width of a graph is the minimum number of labels needed to construct it, and the expressions constructing a graph with at most k labels are called k-expressions.

Rank-width, mim-width, and many other width measures are obtained through the notion of rooted layout. A rooted layout of a graph G is a pair (T, δ) where T is a rooted tree and δ is a bijection between the leaves of T and the vertices of G. Every node x of T is associated with a vertex set V x of G which are the vertices of G in bijection with the leaves of T that are the descendants of x. Given a set function f : 2 V (G) → N, one can associate with each rooted layout (T, δ) a measure, called usually f-width, defined as the maximum f(V x ) over all the nodes x of T . The f-width of G is the minimum f-width over all rooted layouts of G.

For instance, rank-width is defined from the function f(A) which corresponds to the rank over GF (2) of the adjacency matrix between the vertex sets A and V (G) \ A; if we take the rank over Q, we obtain a useful variant of rank-width introduced in [START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF], called Q-rank-with. For mim-width, f(A) is the maximum size of an induced matching in the bipartite graph associated with (A, V (G)\A). See Figure 2 for an example of a rooted layout (T, δ) of a graph G. Notice that the rank-width and the Q-rank-width of (T, δ) equal 2 and this is optimal, i.e., the rank-width and Q-rank-width of G is 2. The mim-width of (T, δ) is 2 because {v 2 v 3 , v 4 v 5 } is an induced matching of the bipartite graph associated with V i and V (G) \ V i . However, this is not optimal as one can find a rooted layout of G of mim-width 1. The notions of tree-decomposition, k-expression, and rooted layout are particularly suited to design fast dynamic programming algorithms for NP-hard problems. Let us explain the general ideas used to design such algorithms on rooted layouts (the same ideas hold for treedecompositions and k-expressions). Suppose that we want to find a vertex subset of maximum size that satisfies some property P in a graph G. For doing so, we dispose of a rooted layout (T, δ) of G of small f-width for some set function f. We will solve this problem by doing a bottom-up traversal of T and at each node x of T , we will compute a set of partial solutions. As we seek a vertex subset, the partial solutions associated with a node x of T are subsets of V x . The main idea is to compute, for each node x of T , a small set of partial solutions S x that represents 2 Vx , i.e., for every X ⊆ V x and every Y ⊆ V (G) \ V x , if X ∪ Y satisfies P, then there exists X ∈ S x such that X ∪ Y satisfies P and |X | ≥ |X|. With this notion of representativity, the set computed for the root of T must contain a set of maximum size that satisfies P in G, assuming that such a set exists. Most of the dynamic programming algorithms are based on this concept of representativity, and proposing a fast algorithm is usually reduced to finding a way of computing small representative sets. Typically, this is done by defining an equivalence relation ∼ on 2 Vx with "few" equivalence classes and such that X ∼ W if, for all Y ⊆ V (G) \ V x , we have X ∪ Y satisfies P if and only if W ∪ Y satisfies P. To design an FPT (resp. XP) algorithm, the number N of equivalence classes of ∼ and the time T to decide whether X ∼ W must be bounded by f

v 1 v 2 v 3 v 4 v 5 r δ(v 2 ) = a δ(v 5 ) = b δ(v 1 ) = d δ(v 3 ) = e δ(v 4 ) = f c i g (a) A graph G. (b) A layout (T, δ) of G. v 2 v 5 v 1 v 4 v 3 V (G) \ Vi V i (c) Bipartite graph associated with (Vi, V (G) \ Vi).    v 2 v 5 v 1 1 1 v 3 1 0 v 4 0 1    (d) Adjacency matrix between V i and V (G) \ V i .
(k) • n O(1) (resp. f (k) • n g(k)
) with k the f-width of (T, δ) and f, g some functions. This way, given any representative set S x of 2 Vx , we can compute in time |S x | • N • T a set S x of size N that represents 2 Vx by taking a set of maximum size in each equivalence class of ∼ over S x .

In order to compute the sets S x , for each node x of T , we start by computing them for each leaf x of T , this is quite easy since |V x | = 1. For every internal node x of T with two children a and b, we compute S x from S a and S b . Typically, we compute a set of partial solutions S x of size at most N 2 and in time N 2 • n O (1) , by taking the partial solutions of x obtained by the union of a set in S a and one in S b . Normally, it is easy to prove that S x represents 2 Vx from the fact that S a and S b represent, respectively, 2 Va and 2 V b . Observe that computing S x from S x can be done in time N 2 • T from the above explanations. As a layout has 2n -1 nodes, these ideas lead to an O(N 2 • T • n) time algorithm.

There are three important aspects to consider when studying and comparing width measures.

(a) The parameterized complexity of computing a decomposition and the width of this decomposition with respect to the width of the input graph.

(b) The graph classes where this width is bounded.

(c) How fast we can solve NP-hard problems with a given decomposition.

Aspect (a) should be considered as a precomputation step since once a rooted layout is computed, we can use it to solve quickly many problems. Unfortunately, for all the width measures we deal with in this thesis and tree-width, computing an optimal decomposition is an NP-hard problem. However, for tree-width, rank-width and Q-rank-width, there exist "efficient" FPT algorithms that, given a graph G, compute a corresponding decomposition of width that is within a constant factor from the width of G. On the other hand, all the algorithms parameterized by clique-width (or mim-width) require that a k-expression (resp. a rooted layout) is given as input. Indeed, it is not known whether the clique-width (respectively mim-width) of a graph can be approximated within a constant factor by an FPT or XP algorithm. We give an overview of this aspect in Section 2.5. Aspect (b) is crucial. Indeed, even if the width of the computed decomposition is within a constant factor from the width of a graph, this latter may be huge, i.e., close to the number of vertices. It is primordial to compare width measures on this aspect because two width measures could have algorithms with the same running time but the values of these two width measures on the input graph could differ greatly.

For instance, the modeling power of clique-width is strictly stronger than the modeling power of tree-width. In other words, if a graph class has bounded tree-width, then it has bounded clique-width [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF], but the converse is false as cliques have clique-width at most 2 and unbounded tree-width. Rank-width and Q-rank-width have the same modeling power as clique-width, i.e., a graph has bounded (Q-)rank-width if and only if it has bounded clique-width, but the cliquewidth of a graph can be exponentially bigger than its (Q-)rank-width. In contrast, mim-width has the strongest modeling power among all these width measures and is even bounded on interval graphs and permutation graphs [START_REF] Belmonte | Graph classes with structured neighborhoods and algorithmic applications[END_REF][START_REF] Charles | On the clique-width of some perfect graph classes[END_REF] where the other complexity measures are unbounded.

Intuitively, the stronger the modeling power of a parameter is, the harder it will be to design efficient algorithms for this parameter. Comparing the modeling power of these width measures is quite useful since if a width measure p has a stronger modeling power than a width measure p , then:

• if a problem P parameterized by p is FPT, then P is FPT parameterized by p and

• if a problem P is W[1]-hard parameterized by p , then P is W[1]-hard parameterized by p.
For instance, a problem is FPT parameterized by clique-width if and only if it is FPT parameterized by (Q-)rank-width. However, even if two parameters have the same modeling power, it does not mean that they have the same properties or that the best algorithm for one will also give the best algorithm for the other. From what we said, rank-width seems to overcome clique-width both on Aspects (a) and (b) but this superiority has a price on Aspect (c): rank-width is harder to manipulate than clique-width when it comes to solve problems. In Sections 2.3, we give an overview of the known relations between the values of these parameters on graphs. Section 2.4 gives an overview of the well-known graph classes where the value of one of these parameters is bounded. Aspect (c) is the main focus of this thesis. This aspect has been intensively studied over the last decades. Thanks to Courcelle's theorem [START_REF] Courcelle | The monadic second-order logic of graphs III: tree-decompositions, minor and complexity issues[END_REF] and its variants [START_REF] Arnborg | Easy problems for tree-decomposable graphs[END_REF][START_REF] Borie | Automatic generation of lineartime algorithms from predicate calculus descriptions of problems on recursively constructed graph families[END_REF], we know a huge number of NP-hard problems which are FPT parameterized by tree-width. Courcelle, Makowsky, and Rotics provided a variant of Courcelle's theorem [START_REF] Courcelle | Linear time solvable optimization problems on graphs of bounded clique-width[END_REF] for clique-width and (Q-)rank-width. More precisely, they showed that every problem expressible in monadic first order logic (called MSO 1 ) -a restriction of MSO 2 -is FPT parameterized by clique-width, rank-width, or Q-rankwidth (see Subsection 2.6.1 for an overview of these meta-theorems). Many famous problems are expressible in MSO 1 such as Feedback Vertex Set and Dominating Set. But, the running time of the algorithms we obtained from these meta-theorems are awful. If we want efficient algorithms, we need to get our hands dirty.

For tree-width and clique-width, we have a precise idea on the parameterized complexity of many classical NP-hard problems such as Vertex Cover, Hamiltonian Cycle, and Graph Coloring. That is, for these problems, we know algorithms parameterized by the tree-width of the input graph or the clique-width of a given k-expression whose dependency on the parameter is asymptotically optimal under ETH. In contrast, for the other parameters, there is a huge gap between the best lower bounds and the running times of the best-known algorithms. Section 2.6 gives an overview of the best (up to a constant in the exponent) algorithms (including our results) and the best lower bounds for several classical NP-hard problems.

In the rest of this introduction, we explain in detail the questions that are addressed in this thesis and we review our contributions.

While width measures defined through the rank of binary matrices6 over some field have been intensively studied [START_REF] Moustapha | The rank-width of directed graphs[END_REF][START_REF] Moustapha | The rank-width of edge-coloured graphs[END_REF][START_REF] Oum | Graphs of Bounded Rank Width[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF], nothing is known on the width measures we could obtain via the matrix decompositions over other algebraic structures. In Chapter 3, we introduce two new width measures which, to the best of our knowledge, has never been studied. We call these parameters N-rank-width and B-rank-width. Both parameters are defined through the notion of rooted layout as the f-width of some function f defined via matrix decompositions over a semiring. A semiring is an algebraic structure similar to a ring, but without the requirement that each element has an additive inverse. To define these parameters, we use the following semirings:

• the Boole semiring B := ({0, 1}, ∨, ∧) where ∨ and ∧ correspond, respectively, to the logical disjunction and the logical conjunction,

• the semiring (N, +, •) where + and • are the addition and multiplication we learn in elementary school.

Despite the fact that these semirings do not have all the properties of a field, Froidure [START_REF] Froidure | Rangs des relations binaires et semigroupes de relations non ambigus[END_REF] has showed that we can define for them a rank-like notion on binary matrices. Given a binary matrix M , we define rw B (M ) (resp. rw N (M )) as the minimum number of vectors we need to generate the rows of M over B (resp. (N, +, •)).

For example, let M be the matrix with rows (1, 1, 0), (0, 1, 1) and (1, 1, 1). The sum of the vectors (1, 1, 0) and (0, 1, 1) over B, N and GF (2) equals, respectively, (1, 1, 1), (1, 2, 1), and (1, 0, 1). Consequently, we have rw B (M ) = 2, rw N (M ) = 3, and the rank of M over GF (2) equals 3.

The B-rank-width (resp. N-rank-width) of a graph G is the rw B -width (resp. rw N -width) of G where rw B (A) := rw B (M ) (resp. rw N (A) := rw N (M )) with M the adjacency matrix between A and V (G) \ A.

In this thesis, we prove that these two parameters are equivalent in terms of modeling power to clique-width and rank-width. For doing so, we prove that rw B (A) (resp. rw N (A)) equals the minimum number of bicliques that cover (resp. partition) the edges of the bipartite graph associated with A and V (G)\A. Moreover, from these equivalences, we deduce from [START_REF] Jiang | Minimal NFA problems are hard[END_REF][START_REF] Orlin | Contentment in graph theory: Covering graphs with cliques[END_REF][START_REF] Chandran | On the parameterized complexity of biclique cover and partition[END_REF] that computing rw B (A) and rw N (A) is NP-hard and that we cannot compute rw B (A) in time 2 2 rw B (A) unless ETH fails. We can extend these hardness results to the computation of the Brank-width and the N-rank-width of a graph thanks to a meta-theorem of Saether and Vatshelle [START_REF] Hortemo | Hardness of computing width parameters based on branch decompositions over the vertex set[END_REF] on the computation of width measures.

These two new parameters turn out to be rather disappointing: they are too hard to compute and they do not seem to differ by much from rank-width and clique-width. For all these reasons, we did not continue to study B-rank-width and N-rank-width.

Instead, we focus on the algorithmic applications of clique-width, rank-width and mim-width. Taming an NP-hard problem with a width measure -finding an efficient algorithm parameterized by this width measure -could be a formality as much as a calvary. The kindest NP-hard problems are those for which the property of the object to be found can be verified by looking separately at the neighborhood of each vertex. This is the case for Independent Set, Dominating Set, and Maximum Induced Matching. These three problems belong to the family of problems called (σ, ρ)-Dominating Set problems. Given a pair (σ, ρ) of finite or co-finite subsets of N and a graph G, a (σ, ρ)-dominating set of G is a subset D of V (G) such that, for each vertex x ∈ V (G), the number of neighbors of x in X is in σ if x ∈ X and in ρ otherwise. A problem is a (σ, ρ)-Dominating Set problem if it consists in finding a minimum (or maximum) (σ, ρ)-dominating set. For instance, the Dominating Set problem asks for the computation of a minimum (N, N\{0})-dominating set. Many NP-hard problems belong to this family of problems, see [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF]Table 1].

This family was introduced and tamed with tree-width in [START_REF] Telle | Algorithms for vertex partitioning problems on partial k-trees[END_REF]. It was also studied with clique-width, (Q)-rank-width, and mim-width in [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF]. Thanks to [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Telle | Algorithms for vertex partitioning problems on partial k-trees[END_REF], we have a precise idea on the parameterized complexity of (σ, ρ)-Dominating Set problems with treewidth and clique-width. That is, we can solve them in time 2 O(k) •n and, unless ETH fails, there is no 2 o(k) • n O (1) time algorithm for several (σ, ρ)-Dominating Set problems, e.g., Independent Set and Dominating Set. For the other parameters, we know from [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF] that any (σ, ρ)-Dominating Set problem can be solved in time 1) and n O(k) when parameterized respectively by Q-rank-width, rank-width and mim-width. However, we do not have tight lower bounds under ETH for these parameters.

2 O(k log(k)) • n O(1) , 2 O(k 2 ) • n O(
In contrast, taming problems involving a global constraint -e.g., connectivity or acyclicityrequire to get our hands dirty. Among these problems, we have some well-known and well-studied problems such as Hamiltonian Cycle, Steiner Tree, Connected Vertex Cover, and Feedback Vertex Set. For a long time, our knowledge on the parameterized complexity of this kind of problems with width measures was quite limited even for tree-width. For a while, people used to think that for many of these problems the naive k O(k) • n O(1) time algorithms, k the tree-width of the input graph, could not be improved. Indeed, it seemed necessary to know the connected components of the partial solutions in order to be able to extend them and also certify that the computed solution is really connected. Algorithmically, at each bag of a tree-decomposition, the connected components of a partial solution can be represented by a partition on the k vertices of the bag and storing all possible partitions leads to a k O(k) • n O (1) time algorithm.

But, quite surprisingly, in 2011, Cygan et al. showed in [START_REF] Cygan | Solving connectivity problems parameterized by treewidth in single exponential time[END_REF] that we can design Monte Carlo 2 O(k) • n O (1) time algorithms for a wide range of problems with a global constraint, including Hamiltonian Cycle, Feedback Vertex Set, and Connected Dominating Set. For doing so, they introduced a technique that they called Cut & Count. We explain the main ideas of this approach in Section 4.3. The main drawbacks of the algorithms obtained from the Cut & Count approach are (1) they are not deterministic, (2) the dependence on the number of vertices of the input graph is not linear, and (3) the dependence on the inputs weights is pseudo-polynomial.

In 2013, Bodlaender et al. proposed in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] a general toolkit called rank-based approach to design deterministic 2 O(k) • n time algorithms, where k is the tree-width of the input graph, to solve a wider range of connectivity problems. The algorithms obtained from the rank-based approach do not suffer from the drawbacks of those obtained from the Cut & Count approach; on the other hand, they have a slightly worse dependence on the tree-width. The main contribution of [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] was to prove that, for some connectivity constraints problems, and for each bag B of a tree-decomposition, we can compute in time 2 O(k) • n a set of partial solutions of size 2 k-1 that represents the set of all partial solutions. For doing so, given a set of partial solutions A associated with a bag B, the authors define a binary matrix M such that:

• the rows of M correspond to the partitions of {1, . . . , k} that represent the connected components of the partial solutions in A,

• the columns of M correspond to all the partitions of {1, . . . , k} and they represent all the potential ways of connecting the vertices of B,

• M[p, q] = 1 if and only if the "join" of p and q equals {{1, . . . , k}}, i.e., represents a connected solution.

Bodlaender et al. showed that the rank of M is at most 2 k-1 ; moreover, a maximum (or minimum if it is a minimization problem) weighted basis corresponds to a representative set of A and such a representative can be computed in time 1) . More explanations on the rankbased approach are given in Sections 4.1 and 4.2. Besides its theoretical interest, the rank-based approach is also a viable approach in practice [START_REF] Fafianie | Speeding up dynamic programming with representative sets: An experimental evaluation of algorithms for steiner tree on tree decompositions[END_REF].

|A| • 2 O(k) • n O(
It is quite natural to ask whether we can adapt these approaches to other width measures. Instinctively, we began to look at these questions with clique-width because this latter is easier to handle than the other width measures. At the time, our knowledge on the complexity of problems with a global constraint parameterized by clique-width was even more incomplete than for tree-width before the introduction of the Cut & Count approach. Some problems Connected Vertex Cover and Connected Dominating Set were known to be FPT parameterized by clique-width because they are expressible in MSO 1 . However, we do not have a clear picture of their parameterized complexities, except for some special cases such as Feedback Vertex Set which was proved to admit a k O(k) • n O (1) time algorithm in [START_REF] Bui-Xuan | Feedback vertex set on graphs of low clique-width[END_REF], provided the graph is given with a k-expression. Similarly to tree-width, it is known that these three problems do not admit 2 o(k) • n O (1) time algorithms unless ETH fails.

In Section 4.1, we prove that we can adapt the rank based approach to clique-width. We investigate the connected variants of (σ, ρ)-Dominating Set problems (we ask the solution or the complement of the solution to induce a connected graph) e.g., Connected Dominating Set and Connected Vertex Cover. It is not hard to modify the dynamic programming algorithm from [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] for (σ, ρ)-Dominating Set problems in order to solve their connected variants in time k O(k) • n O (1) , since it suffices to keep track, for each family of partial solutions, of the possible partitions of the label classes induced by them. We modify this naive algorithm slightly and prove that one can compute, at each step of computation, a representative set of size 2 O(k) , yielding 2 O(k) • n time algorithms resolving this family of problems.

We also consider the Feedback Vertex Set problem, which asks to compute a minimum set of vertices to delete so that the resulting graph is acyclic, and propose similarly a 2 O(k) •n time algorithm. But, the algorithm, even in the same spirit as the one for connected (σ, ρ)-dominating set, is less trivial since one has to manage also the acyclicity. A task that is not trivial when dealing with clique-width operations as a bunch of edges can be added at the same time. Indeed, at each step of the dynamic programming algorithm, when dealing with tree-width the number of vertices that have a neighbor in the rest of the graph is at most the tree-width of the given decomposition, but for clique-width this number can belong to O(n).

In both cases, we use the same rank-based approach as in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF], but we need to adapt it in the Feedback Vertex Set's case to manage the acyclicity. Contrary to [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF], we cannot guarantee the acyclicity of the final solutions by just counting the number of vertices and edges. In our case, counting the number of edges would yield an n O(k) time algorithm (we explain why in Section 4.1).

In Section 4.2, we generalize and extend the results we obtained for clique-width to rankwidth, Q-rank-width, and mim-width. We also extend the class of problems considered to include the acyclic (or acyclic and connected) variants of (σ, ρ)-Dominating Set problems, where we ask the solution to induce an acyclic graph (or a tree). Among these variants of (σ, ρ)-Dominating Set problems we have some famous problems such as Maximum Induced Tree and Longest Induced Path. Consequently, we obtain efficient algorithms to solve all these variants of (σ, ρ)-Dominating Set problems, with parameters clique-width, (Q)-rank-width, and mim-width. The running times of these algorithms are given in Table 2. Up to a constant in the exponent, these running times match those obtained for (σ, ρ)-Dominating Set problems in [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF] even for "basic" problems such as Independent Set and Dominating Set. For clique-width, it proves that adding connectivity or acyclicity constraints on a problem based on locally checkable constraints does not make these problems significantly harder. For the other width measures, it seems that this is also the case but we cannot confirm this intuition without tight lower bounds.

Table 2 -Running times of our algorithms for the different parameters, where n is the number of vertices of the given graph and k the width of the input decomposition.

Clique-width Rank-width

Q-rank-width Mim-width

2 O(k) • n O(1) 2 O(k 2 ) • n O(1) 2 O(k log(k)) • n O(1) n O(k)
To obtain these algorithms, we generalize and simplify the rank-based approach from [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF]. For doing so, we use the notion of d-neighbor equivalence. This concept was introduced in [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] and it was used in [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF] to obtain the best algorithms for (σ, ρ)-Dominating Set parameterized by clique-width, rank-width, Q-rank-width or mim-width. Formally, given

A ⊆ V (G) and d ∈ N \ {0}, two sets X, Y ⊆ A are d-neighbor equivalent w.r.t. A if for all v ∈ V (G) \ A, we have min(d, |N (v) ∩ X|) = min(d, |N (v) ∩ Y |)
, where N (v) is the set of neighbors of v in G. One easily checks that it is an equivalence relation, and if d = 1, then it measures the number of subsets of A with different neighborhoods in V (G) \ A.

In Section 4.2, we use a parameter related to the d-neighbor equivalence relation that we call d-neighbor-width. The d-neighbor-width of a graph G is defined from the function s-nec d (A) where s-nec d (A) is the maximum number of equivalence classes of the d-neighbor equivalence over A and V (G) \ A. It is worth noticing that the boolean-width introduced in [START_REF] Bui-Xuan | Boolean-width of graphs[END_REF] corresponds to the binary logarithm of the 1-neighbor-width.

Analogously to [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] for (σ, ρ)-Dominating Set problems, we prove that any connected variant of a (σ, ρ)-Dominating Set problem can be solved in time polynomial in n and the d-neighbor-width of the given layout, with d a constant that depends only on σ and ρ. The running times obtained in Table 2 follow from the fact that the d-neighbor-width of a rooted layout L is upper bounded by

(d + 1) mw , 2 rw Q log(d•rw Q +1) , 2 d•rw 2 ,
and n d•mim with mw, rw Q , rw and mim being, respectively, the module-width (a width equivalent to clique-width), the Q-rankwidth, the rank-width, and the mim-width of L. Until now, the d-neighbor equivalence relation was only used for problems with a locally checkable constraint [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF]. We showed that, surprisingly, we can use it also for the connected variant of these problems. This highlights the importance and the transversality of the d-neighbor-width for clique-width, (Q-)rank-width and mim-width.

Unfortunately, for the acyclic (or acyclic and connected) variants of (σ, ρ)-Dominating Set problems, we were not able to obtain algorithms whose running time is polynomial in n and the d-neighbor-width of the given layout (for some constant d). Despite the fact that we heavily rely on the d-neighbor width, we had to use the properties of the different width measures in order to obtain the running times presented in Table 2.

The framework presented in Section 4.2 can be used on tree-decomposition to obtain 2 O(k) • n O (1) time algorithms parameterized by tree-width for the variants of (σ, ρ)-Dominating Set problems. Indeed, given a vertex separator S of size k, the number of d-neighbor equivalence classes over S (resp. V (G) \ S) is upper bounded by 2 k (resp. (d + 1) k ). For this reason, we can consider our framework as a generalization of the rank-based approach of [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF]. Our framework generalizes also the clique-width adaptation of the rank-based approach used in Section 4.1 to obtain 2 O(k) • n time algorithms, k being the clique-width of a given decomposition, for Connected (σ, ρ)-Dominating Set problem and Feedback Vertex Set. However, the constant in the running time of the algorithms in Section 4.1 and [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] are better than those of our algorithms. For instance, in Section 4.1, we obtain a 1) • n time algorithm for Feedback Vertex Set, while in Section 4.2, we design a 54 k • 2 2(ω+1)•k • n 4 time algorithm for this latter problem. Indeed, the approach in 4.2 is based on a more general parameter and is not optimized neither for tree-width nor clique-width.

15 k • 2 (ω+1)•k • k O(
Anyway, this approach simplifies the algorithms in Section 4.1 and [9] because we do not use weighted partitions to encode the partial solutions. Consequently, the definitions of the dynamic programming tables and the computational steps of our algorithms are simpler than those in Section 4. 1 and [9]. This is particularly true for Feedback Vertex Set where the use of weighted partitions to encode the partial solutions in Section 4.1 implies to take care of many technical details concerning the acyclicity.

Moreover, The results we obtain simplify the 2 O(k 2 ) • n O (1) time algorithm parameterized by rank-width for Feedback Vertex Set from [START_REF] Ganian | On parse trees and Myhill-Nerode-type tools for handling graphs of bounded rank-width[END_REF], and the n O(k) time algorithms parameterized by mim-width for Feedback Vertex Set and Longest Induced Path from [START_REF] Jaffke | Polynomial-time algorithms for the longest induced path and induced disjoint paths problems on graphs of bounded mim-width[END_REF][START_REF] Jaffke | A unified polynomial-time algorithm for feedback vertex set on graphs of bounded mim-width[END_REF].

In Section 4.3, we show that the ambit of our ideas are not limited to the rank-based approach. We prove that the same ideas can be used to generalize the Cut & Count approach in order to obtain an efficient Monte-Carlo algorithm for any connected variant of a (σ, ρ)-Dominating Set problem. This offers promising prospects to extend our ideas to other kinds of problems and other approaches.

One might notice that we were not able to apply our generalizations of the Cut & Count and rank-based approaches to all the problems considered in the original frameworks. This is the case of the problems Steiner Tree and Hamiltonian Cycle. In fact, the Steiner Tree problem is NP-hard on graphs of clique-width 2, i.e., cliques. However, its node-weighted variant corresponds to a connected variant of a (σ, ρ)-Dominating Set problem and thus fits into our framework.

On the other hand, we can prove that the Hamiltonian Cycle7 problem is not a variant of a (σ, ρ)-Dominating Set problem. In fact, Hamiltonian Cycle is known to be expressible in MSO 2 but not in MSO 1 . This is also the case for other well-known and well-studied problems such as Edge Dominating Set, Graph Coloring, and Max Cut. These four problems were known to be FPT parameterized by tree-width thanks to (variants of [START_REF] Arnborg | Easy problems for tree-decomposable graphs[END_REF][START_REF] Borie | Automatic generation of lineartime algorithms from predicate calculus descriptions of problems on recursively constructed graph families[END_REF]) Courcelle's theorem [START_REF] Courcelle | The monadic second-order logic of graphs III: tree-decompositions, minor and complexity issues[END_REF] and to be XP parameterized by clique-width [START_REF] Espelage | How to solve NP-hard graph problems on clique-width bounded graphs in polynomial time[END_REF][START_REF] Kobler | Edge dominating set and colorings on graphs with fixed clique-width[END_REF]. The existence of FPT algorithms parameterized by clique-width for these problems was asked in several papers [START_REF] Godlin | Evaluations of graph polynomials[END_REF][START_REF] Kobler | Polynomial algorithms for partitioning problems on graphs with fixed clique-width[END_REF][START_REF] Kobler | Edge dominating set and colorings on graphs with fixed clique-width[END_REF][START_REF] Makowsky | Computing graph polynomials on graphs of bounded clique-width[END_REF]. Fomin, Golovach, Lokshtanov, and Saurabh [START_REF] Fedor | Intractability of clique-width parameterizations[END_REF] proved the W[1]-hardness of Edge Dominating Set, Graph Coloring, and Hamiltonian Cycle parameterized by clique-width. In 2014, the same authors [START_REF] Fedor | Almost optimal lower bounds for problems parameterized by clique-width[END_REF] proved that, given a k-expression, Max-Cut and Edge Dominating Set admit n O(k) -time algorithms, and they do not admit f (k) • n o(k) -time algorithms unless ETH fails. In the conclusion of [START_REF] Fedor | Almost optimal lower bounds for problems parameterized by clique-width[END_REF], the authors state that, unless ETH fails, there is no f (k) • n o(k) time algorithm for Hamiltonian Cycle (this lower-bound is proved in [START_REF] Fedor | Clique-width III: hamiltonian cycle and the odd case of graph coloring[END_REF]) and they left open the question of finding an algorithm with running time f (k) • n O(k) . At that time, the best known running time parameterized by clique-width for Hamiltonian Cycle and Graph Coloring were respectively n O(k 2 ) [49] and n 2 O(k) [START_REF] Kobler | Edge dominating set and colorings on graphs with fixed clique-width[END_REF]. Recently, Golovach et al. [START_REF] Golovach | Cliquewidth III: the odd case of graph coloring parameterized by cliquewidth[END_REF] proved that, surprisingly, Graph Coloring cannot be solved in time

f (k) • n 2 o(k) unless ETH fails.
In Section 4.4, we prove that there exists an algorithm solving Hamiltonian Cycle in time n O(k) , when a clique-width k-expression is given. We present a technique of representative sets using two-edge colored multigraphs on k vertices. The essential idea is that, for a twoedge colored multigraph, the existence of an Eulerian trail that uses edges with different colors alternately can be determined by two information: the number of colored edges incident with each vertex, and the connectedness of the multigraph. With this idea, we avoid the bottleneck of the naive algorithm, which stores all the possible multigraphs on k vertices with at most n edges.

Thanks to this result, we now have a precise idea on the complexity of the most classical problems that are W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-hard parameterized by clique-width. At first glance, the approach we used to design our algorithm seems quite ad hoc, but it could help to extend the application scope of the framework we designed for the connected and acyclic variants of (σ, ρ)-Dominating Set problems.

Until now, we have only talked about decision and optimization problems. The vast majority of problems studied through the parameterized complexity theory concerns these two kinds of problems. Left behind for a while, counting problems are receiving increasing attention from the parameterized complexity community [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF][START_REF] Curticapean | The simple, little and slow things count: on parameterized counting complexity[END_REF][START_REF] Flum | The parameterized complexity of counting problems[END_REF][START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF]. While decision problems ask whether there exists a solution, counting problems ask for the number of solutions. Hence, the counting variant of an NP-hard problem is unlikely to be solvable in polynomial time. On the other hand, if a decision problem is in P, its counting variant is not necessarily solvable in polynomial time [START_REF] Valiant | The complexity of computing the permanent[END_REF].

As for decision problems, there exist two analog complexity classes to P and NP. The set of counting problems solvable in polynomial time is denoted by FP (for Functional P). Valiant [START_REF] Valiant | The complexity of computing the permanent[END_REF] introduced a class of problems call #P which are an analog of NP for counting problems. Informally, #P denotes the set of functions corresponding to the number of accepting paths of a non-deterministic Turing machine. Under the assumption FP = #P, one may be interested in classifying counting problems between those that are easy to compute, i.e., belong to FP, and those that are hard, i.e., are #P-hard [START_REF] Valiant | The complexity of computing the permanent[END_REF], or even hard to approximate [START_REF] Leslie | Approximately counting locallyoptimal structures[END_REF].

The counting variant of a decision problem could be much more tough than this later. For example, deciding whether a graph admits a perfect matching can be done in polynomial time while counting the number of perfect matchings is #P-hard even on bipartite graphs [START_REF] Valiant | The complexity of enumeration and reliability problems[END_REF]. In the same spirit, deciding whether a 2-SAT formula admits a satisfying assignment is decidable in polynomial time but counting the number of satisfying assignments of a 2-SAT formula is #P-hard [START_REF] Valiant | The complexity of enumeration and reliability problems[END_REF].

It is quite natural to study counting problems through the toolbox provided by the parameterized complexity theory. In Section 5.1, we give an overview on some results obtained on counting problems with width measures.

Nevertheless, the known width measures are not able to explain every tractability result on graph classes. This is especially true for counting problems whose decision variants are trivial. For instance, counting the number of vertex covers is #P-hard in general but restricted to chordal graphs, the problem belongs to FP [START_REF] Okamoto | Counting the number of independent sets in chordal graphs[END_REF]. To the best of our knowledge, we are not able to explain this tractability result in terms of width measures, i.e., they are not implied by a known XP or FPT algorithm. Consequently, we have to discover new width measures and for doing so, we need a better understanding of these graph classes and of the problems that are tractable on them.

In Chapter 5, we provide some results on the classical complexity of counting problems which could lead to the creation of interesting width measures. The main problem we study is the counting of the minimal transversals of a hypergraph. A hypergraph is a collection of subsets -called hyperedges -of a finite ground set, and a transversal is a subset of the ground set that intersects every hyperedge. Hypergraphs generalize the notion of graphs, i.e., a graph is a hypergraph whose hyperedges have size 2. The problem of computing the number of minimal transversals of a hypergraph -denoted by #Minimal Transversal -is closely related to the Transversal Enumeration problem which asks for the enumeration of all (inclusion-wise) minimal transversals of a given hypergraph. This enumeration problem has a lots of applications [START_REF] Eiter | Computational aspects of monotone dualization: a brief survey[END_REF]. Despite the fact that it has been extensively studied over the last decades, it is not yet known whether this problem can be solved by an algorithm that runs in time polynomial in the size of the output. The #Minimal Transversal problem has also many applications in several areas, see for instance the description given in [START_REF] Durand | On the counting complexity of propositional circumscription[END_REF] in the case of model checking. This problem also has applications in graph theory as it is closely related to the problem of counting the minimal dominating sets of a graph, we denote this latter problem by #Minimal Dominating Set. It turns out that these counting problems are both #P-hard in general. However, there is a rich literature on solving these problems in polynomial time by restricting the input (hyper)graph to a specific class, see for example [START_REF] Capelli | Structural restrictions of CNF formulas: application to model counting and knowledge compilation[END_REF][START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF][START_REF] Mamadou | On the enumeration and counting of minimal dominating sets in interval and permutation graphs[END_REF].

Hypergraphs are known to be more complex to manipulate than graphs, even basic notions on graphs such as acyclicity are not trivial to extend to hypergraphs. In fact, several concepts have been introduced to characterize the acyclicity of hypergraphs [START_REF] Capelli | Structural restrictions of CNF formulas: application to model counting and knowledge compilation[END_REF]. Similarly, several width measures on hypergraphs have been introduced to generalize tree-width [START_REF] Gottlob | Hypertree decompositions and tractable queries[END_REF][START_REF] Gottlob | Hypergraphs in model checking: Acyclicity and hypertree-width versus clique-width[END_REF]. To the best of our knowledge, no one was able to use these width measures to design an FPT or an XP algorithm for an NP-hard (or #P-hard) problem. In fact, the width measures we know are either too general, i.e., they are bounded on hard instances, or they are too hard to manipulate.

In Section 5.2, we prove that we can solve #Minimal Transversal in polynomial time on β-acyclic hypergraphs. The β-acyclicity is one generalization of graph acyclicity on hypergraphs. As a corollary, we deduce that we can solve #Minimal Dominating Set in polynomial time in strongly chordal graphs, a class of graphs of unbounded mim-width. This latter problem was known to be #P-hard on chordal graphs [START_REF] Moustapha | Counting minimal dominating sets[END_REF]. These two results offer promising prospects for the design of new width measures in graphs and hypergraphs.

Organization of this thesis

In Chapter 1, we present the definitions of the concepts we manipulate through this thesis. In particular, we give the definitions of d-neighbor equivalence and the definitions of the graph problems we deal with. We also present the concepts related to parameterized complexity and the Exponential Time Hypothesis.

In Chapter 2, we give the definitions of the width measures we deal with in this thesis and we give an overview of their properties. In particular, we compare their values on graphs and we discuss about their computations. We also present the asymptotically best algorithms for several classical problems parameterized by these width measures.

In Chapter 3, we define and study the B-rank-width and N-rank-width.

In Chapter 4, we present our results on connectivity problems: the acyclic and connected variants of (σ, ρ)-Dominating Set problems and the Hamiltonian Cycle problem.

In Chapter 5, we summarize some parameterized complexity results on counting problems especially those concerning width measures and we present our results on #Minimal Transversal and #Minimal Dominating Set.

In Chapter 6, we conclude by some perspectives and open questions concerning the study of width measures.

Publications

The results presented in this thesis have led to following publications: During this Ph.D., I also work on projects that are not directly related to width measures. For the sake of coherence, we did not present these results in this thesis. These results lead to the following two publications: Kernelization is one of the most interesting facets of the parameterized complexity theory. The Kernelization theory provides many tools and fruitful techniques for a theoretical study of preprocessing. Here the goal is to obtain a polynomial kernel which is essentially a polynomial-time preprocessing algorithm that transforms the given instance of the problem into an equivalent one whose size is bounded polynomially in the parameter. In this appendix, we study Directed Feedback Vertex Set parameterized by the feedback vertex set number of the underlying undirected graph. We provide two main contributions: a polynomial kernel for this problem on general instances, and a linear kernel for the case where the input digraph is embeddable on a surface of bounded genus. These results concern forbidden transition graphs. A forbidden transition graph is a graph defined together with a set of permitted transitions, i.e., unordered pairs of adjacent edges that one may use consecutively in a walk in the graph. In this appendix, we look for the smallest set of transitions needed to be able to go from any vertex of the given graph to any other. We prove that this problem is NP-hard and study approximation algorithms. We develop theoretical tools that help to study this problem.

Chapter 1

Preliminaries

In this chapter, we give a formal definition of all the recurrent concepts used in this thesis. In Sections 1.1 and 1.2, we consider definitions from, respectively, set theory and graph theory. Section 1.3 is dedicated to the notion of d-neighbor equivalence which is used in our algorithms (presented in Section 4.2) and also to define two width measures in Chapter 2. We give the definition of this equivalence relation and some results. In Section 1.4, we define the graph problems we deal with in this thesis. In Section 1.5, we review notions of parameterized complexity. We conclude with a section presenting the Exponential Time Hypothesis.

Set Theory

The size of a set V is denoted by |V | or #V , and 2 V denotes the power-set of V . When the context is clear, we often write x to denote the singleton {x}. For two sets A and B, we denote by A \ B the set {a ∈ a : a / ∈ B}, and we write A B for the disjoint union of A and B. Moreover, we denote by A B the symmetric difference of A and B, i.e. (A \ B) ∪ (B \ A).

Special Sets. We denote by N the set of non-negative integers and N + the set N \ {0}. For k ∈ N + , we denote by [k] the set {1, . . . , k}. The binary field, the rational field and the real field are denoted, respectively, by GF (2), Q, and R.

Mapping. For a mapping

f : A → B and U ⊆ B, we let f -1 (U ) := {a ∈ A : f (a) ∈ U }. When U = {b}, we write f -1 (b) instead of f -1 ({b}). We let min(∅) := +∞ and max(∅) := -∞. Set function. Let V be a finite set and f : 2 V → R be a set function. If f satisfies f(A) = f(V \ A) for all A ⊆ V , then f is said to be symmetric. If f(X) + f(Y ) ≥ f(X ∩ Y ) + f(X ∪ Y ), then f is said to be submodular. Merging Operation. For a ground set V and subsets A 1 , . . . , A k of 2 V , with k ≥ 2, we let 1≤i≤k A i := ∅ if A i = ∅ for some 1 ≤ i ≤ k, {T 1 ∪ • • • ∪ T k : ∀i ≤ k, T i ∈ A i } otherwise.
If k = 2, then we write A 1 A 2 . We use this operator in almost all of our dynamic programming algorithms.

Graph Theory

Our graph terminology is standard, and we refer to R. Diestel's book [START_REF] Diestel | Graph Theory[END_REF].

Graph. We use the term graph to denote loopless simple undirected graphs. A graph is an ordered pair G = (V, E) where V is a set whose elements are called vertices and E is a set of edges, which are unordered pairs of vertices. For a graph G, we denote its vertex set by V (G), and its edge set by E(G). We write xy or yx to denote an edge {x, y}. For every vertex set X ⊆ V (G), when the underlying graph is clear from context, we denote by X, the set V (G) \ X. Given a weight function w : V (G) → Q on the vertices of G and a set X ⊆ V (G), we write w(X) := x∈X w(x).

Neighborhood/degree. For a graph G and a vertex v ∈ V (G), the neighborhood of v, denoted by N G (v), is the set of all vertices adjacent to v in G. The closed neighborhood of v is denoted by N G [v] := N G (v) ∪ {v}. We extend these notions to sets of vertices, for X ⊆ V (G), we define N G (X) := v∈X N G (v) and N G [X] := N G (X) ∪ X. We denote by deg G (v) the number of vertices adjacent to v in G.
If the underlying graph is clear, then we may remove G from the subscripts.

Subgraphs. Let G be a graph. A subgraph of G is a graph H such that V (H) ⊆ V (G) and E(H) ⊆ E(G). For X ⊆ V (G), we denote by G[X] the subgraph of G induced by X, i.e., (X, {uv ∈ E(G) : u, v ∈ X}). For F ⊆ E(G), we write G-F for the subgraph (V (G), E(G)\F ), and G |F for the subgraph (V (G), F ). For an edge e of G, we simply write G -e for G -{e}. For X, Y ⊆ V (G), we denote by G[X, Y ] the bipartite graph with vertex set X ∪ Y and edge set {xy ∈ E(G) : x ∈ X ∧ y ∈ Y }. Moreover, we denote by M X,Y the (X, Y )-matrix such that M X,Y [x, y] = 1 if y ∈ N (x), 0 otherwise. Walk/Trail/Path/Cycle. A walk of a graph G is a sequence (v 1 , e 1 , v 2 , e 2 , . . . , v t-1 , e t-1 , v t )
of vertices v 1 , . . . , v t and edges e 1 , . . . , e t-1 such that, for every i ∈ [t -1], the endpoints of e i are v i and v i+1 . The vertices v 1 and v t are called end-vertices and the vertices v 2 , . . . , v t-1 are called internal vertices. Notice that, for every v ∈ V (G), we consider the sequence (v) as a walk. A walk is closed if its first and last vertices are the same. For convenience sometimes, we use the shortcut (e 1 , e 2 , . . . , e t-1 ) for a walk (v 1 , e 1 , . . . , v t-1 , e t-1 , v t ). This is possible because an edge always determines the two vertices with which it is incident. A trail of a graph is a walk where each edge is used at most once. A path of a graph is a trail in which all vertices (except possibly the first and the last) are pairwise distinct. A cycle of a graph is a path whose end vertices are the same.

Connected Component. A graph is connected if there exists a path between every pair of vertices. A connected component of a graph G is a maximal connected subgraph of G. For a graph G, we denote by cc(G) the following set

cc(G) := {V (C) : C is a connected component of G}.
Tree/Forest. A forest is an acyclic graph, i.e., a graph without cycles. A tree is a connected forest. Since we manipulate at the same time graphs and trees representing them, the vertices of trees will be called nodes. A node of degree at most one is called a leaf and a node of degree at least two is called an internal node. A rooted tree is a tree with a distinguished vertex called the root. For a rooted tree T and two adjacent nodes u and v of V (T ), we say that v is a child of u if u lies in the path between v and the root of T . A rooted binary tree is a rooted tree where every internal node has exactly two children. A rooted caterpillar is a rooted binary tree where every internal node has at least a child that is a leaf.

d-neighbor equivalence

The following definition is from [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF]. Definition 1.1 (d-neighbor equivalence [START_REF] Bui-Xuan | Feedback vertex set on graphs of low clique-width[END_REF]). Let G be a graph, A ⊆ V (G), and d ∈ N + . Two subsets X and Y of A are d-neighbor equivalent w.r.t. A, denoted by

X ≡ d A Y , if min(d, |X ∩ N (u)|) = min(d, |Y ∩ N (u)|) for all u ∈ A.

It is not hard to check that ≡ d

A is an equivalence relation. See Figure 1.1 for an example of 2-neighbor equivalent sets.

A A X Y Figure 1.1 -We have X ≡ 2 A Y , but it is not the case that X ≡ 3 A Y .
We use the following definition to define two width measures in Chapter 2. The following lemma from [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] upper bounds nec d (A) in terms of nec 1 (A) for all A ⊆ V (G).

Lemma 1.4 ([18]

). For every graph G and d ∈ N + , nec d (A) and nec d (A) are both upper bounded by nec 1 (A) d•log 2 (nec 1 (A)) , for each A ⊆ V (G).

Some graph properties and problems

This section is dedicated to the definition of the graph problems we deal with in this thesis. We begin by the definition of some classical graph problems. We also give the definition of a family of problems called (σ, ρ)-Dominating Set problems and we introduce the connected and acyclic variants of this family of problems.

For a graph G and X ⊆ V (G), we define the following graph properties.

Dominating set. A set D ⊆ V (G) dominates a set U ⊆ V (G) if every vertex in U is either in D or is adjacent to a vertex in D. A dominating set of G is a set that dominates V (G). Clique. A set K ⊆ V (G) is a clique if the vertices in K are pairwise adjacent. Feedback vertex set. A set X ⊆ V (G) is a feedback vertex set if G[V (G) \ X] is a forest.
Hamiltonian Cycle. A Hamiltonian cycle is a cycle that contains every vertex of G.

Independent Set. A set I ⊆ V (G) is an independent set of G if the graph G[I] has no edges.
Matching. A matching is a set of edges M ⊆ E(G) such that every vertex in G is incident to at most one edge in M .

Induced matching. A set M ⊆ E(G) is an induced matching if M is a matching of G and every edge in E(G) intersects at most one edge in M .
q-coloring. A q-coloring of G is a partition of the vertices into at most q independent sets.

Vertex cover. A set X ⊆ V (G) is a vertex cover of G if every edge in E(G) has at least one endpoint in X.
We also define the following problems:

Dominating Set

Input: A graph G and a weight function w :

V (G) → N. Output: A dominating set D of G such that w(D) is minimum.

Clique

Input: A graph G and a weight function w :

V (G) → N. Output: A clique K of G such that w(K) is minimum.

Edge Dominating Set

Input: A graph G.

Output: A set D ⊆ E(G) of minimum size such that every edge in E(G) \ D is incident with at least one edge in D.

Feedback Vertex Set

Input: A graph G and a weight function w :

V (G) → N. Output: A feedback vertex set X of G such that w(X) is minimum.

Graph Coloring

Input: A graph G.

Output: The minimum q ∈ N such that G admits a q-coloring.

Hamiltonian Cycle

Input: A graph G.

Output: Does G admit a Hamiltonian cycle?

Independent Set

Input: A graph G and a weight function w : V (G) → N. Output: An independent set I of G such that w(I) is maximum.

Max-Cut

Input: A graph G. Output: A set A ⊆ V (G) such that |E(G[A, A])| is maximum.

Node-Weighted Steiner Tree

Input: A graph G, a weight function w : V (G) → N, and a set K ⊆ V (G). Output: A subset X ⊆ V (G) such that K ⊆ V (G), G[X]
is connected, and w(X) is minimum.

Vertex Cover

Input: A graph G and a weight function w :

V (G) → N. Output: A vertex cover X of G such that w(X) is minimum.

Longest Induced Path

Input: A graph G.

Output: An induced path of G of maximum length.

In general, let P be a vertex subset property. The maximization (resp. minimization) problem associated with P asks, given a graph G and a weight function w : V (G) → N, for the computation of a set X ⊆ V (G) that satisfies P and such that w(X) is maximum (resp. minimum).

Given a graph G, we say that a set X satisfies the acyclic, connected and AC variant of P, if X satisfies P and G[X] is, respectively, acyclic, connected, and a tree. The acyclic, the connected, and the AC variants of a maximization (resp. minimization) problem Π associated with P are the maximization (resp. minimization) problems associated with, respectively, the acyclic, the connected, and the AC variant of P. The acyclic, the connected, and the AC variants of Π are denoted, respectively, by Acyclic Π, Connected Π, and AC-Π. For example, the Connected Dominating Set problem is the connected variant of the Dominating Set problem.

(σ, ρ)-Dominating Set problems. Now, we give the definition of the family of problems called (σ, ρ)-Dominating Set problems. This family of problems was introduced in [START_REF] Telle | Algorithms for vertex partitioning problems on partial k-trees[END_REF] as a generalization of Dominating Set. Many NP-hard problems based on a locally checkable constraint belong to the family of (σ, ρ)-Dominating Set problems. Bui-Xuan, Telle and Vatshelle [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] designed a beautiful algorithm that solves any (σ, ρ)-Dominating Set problem. This algorithm is based on the d-neighbor equivalence where d depends on the considered problem. See Subsection 4.1.3 for some explanation of the value of d. We will show in Section 4.2 that similar algorithms exist for the acyclic and the connected variants of the (σ, ρ)-Dominating Set problems. We review the algorithmic results concerning the (σ, ρ)-Dominating Set problems and their variants in Subsection 2.6.2. To the best of our knowledge, these variants were never studied until now.

Let σ and ρ be two (non-empty) finite or co-finite subsets of N. We say that a subset

D of V (G) (σ, ρ)-dominates a subset U ⊆ V (G) if • for every vertex u ∈ U ∩ D, we have |N (u) ∩ D| ∈ σ and • for every vertex u ∈ U \ D, we have |N (u) ∩ D| ∈ ρ. A subset D of V (G) is a (σ, ρ)-dominating set if D (σ, ρ)-dominates V (G).
A problem Π is a (σ, ρ)-Dominating Set problem if Π is the maximization or minimization problem associated with a (σ, ρ)-dominating set property.

Notice that vertex cover is not a property expressible as a (σ, ρ)-dominating set, but the complement of a vertex cover, i.e., an independent set, is a ({0}, N)-dominating set. In order to catch problems like Connected Vertex Cover into the framework designed for (σ, ρ)dominating sets, we introduce the following notion of co-

(σ, ρ)-dominating set. A subset X of V (G) is a co-(σ, ρ)-dominating set if V (G) \ X (σ, ρ)-dominates V (G).
We denote by Co-(σ, ρ)-Dominating Set problems the family of problems that are the maximization or minimization problems associated with the co-(σ, ρ)-dominating set properties.

Examples of some vertex subset properties expressible as (σ, ρ)-dominating sets or as a variant of a (σ, ρ)-dominating set are shown in Table 1.1. Many (σ, ρ)-Dominating Set problems and their connected, acyclic and AC variants associated with these vertex subset properties are NPhard. These NP-hardness results are proved in [START_REF] Cameron | Induced matchings[END_REF][START_REF] Garey | Computers and Intractability: A Guide to the Theory of NP-Completeness[END_REF][START_REF] Yen | The weighted perfect domination problem and its variants[END_REF]. It is worth mentioning that the connected variants of the minimization problems associated with the properties vertex cover, dominating set, and total dominating set are NP-hard [START_REF] Garey | Computers and Intractability: A Guide to the Theory of NP-Completeness[END_REF]. Moreover, the connected variant of the maximization problem associated with the induced q-regular subgraph property is also NP-hard even when q = 2 [START_REF] Garey | Computers and Intractability: A Guide to the Theory of NP-Completeness[END_REF], in this case, the problem asks for the computation of a longest induced cycle.

Parameterized Complexity

In this section, we give a formal definition of some classes of problems such as FPT, XP, and W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]. We begin by recalling the definition of the big O notation that we use to describe the running times of our algorithm. Definition 1.5. Let f, g : R → R be two functions. We say that g

(n) ∈ O(f (n)) if there exists c ∈ N and N ∈ R such that for all n > N , we have g(n) ≤ c • f (n). Moreover, we say that f (n) ∈ Ω(g(n)) if g(n) ∈ O(f (n)). Finally, we say that f (n) ∈ Θ(g(n)) if f (n) ∈ O(g(n)) and g(n) ∈ O(f (n)).
The following is a formal definition of what is a parameterized decision problem.

Definition 1.6. A parameterized problem is a language L ⊆ Σ * × R, where Σ is a fixed, finite alphabet. For an instance (x, k) ∈ Σ * × R, k is called the parameter.
As explained in the introduction, one way to describe the easy instances of an NP-hard problem is to find parameterization of this problem for which the problem is FPT.

Definition 1.7 (FPT).

A parameterized problem L ⊆ Σ * × R is called fixed-parameter tractable (FPT) if there exists an algorithm A (called FPT algorithm), a computable function f : R → R, and a constant c such that, given (x, k) ∈ Σ * × R, the algorithm A correctly decides whether

(x, k) ∈ L in time bounded by f (k) • |(x, k)| c
. We denote by FPT the complexity class containing all fixed-parameter tractable problems.

Table 1.1 -Examples of (co)-(σ, ρ)-dominating sets and some connected, acyclic and AC variants, with {≥ d} := N \ {0, . . . , d -1}. Columns MAX and MIN show the complexity of the maximization and minimization problems associated with these subset properties, with P and NP-h denoting, respectively, Polytime and NP-hard.

σ ρ Variant Standard name MAX MIN {0} N Independent set NP-h P {0} N Co Vertex cover P NP-h N N + Dominating set P NP-h N {1} Perfect dominating set P NP-h N + N + Total dominating set P NP-h N {≥ d} d-dominating set P NP-h {q} N Induced q-regular subgraph NP-h P {1} N Induced matching NP-h P N N Acyclic Induced forest NP-h P N N AC Induced tree NP-h P {1, 2} N Acyclic Induced linear forest NP-h P {1, 2} N AC Induced path NP-h P Example 1.
. if E(G) = ∅ then return yes; else if k = 0 then return no; else take an edge uv ∈ E(G); return A(G -u, k -1) or A(G -v, k -1); Definition 1.9 (XP). A parameterized problem L ⊆ Σ * × R is called slice-wise polynomial (
XP) if there exists an algorithm A (called XP algorithm), two computable functions f : R → R and g : R → R such that, given (x, k) ∈ Σ * × R, the algorithm A correctly decides whether k) . We denote by XP the complexity class containing all slice-wise polynomial problems.

(x, k) ∈ L in time bounded by f (k) • |(x, k)| g(
Example 1.10. By definition, any parameterized problem which is FPT is also XP. The converse is not true, the following two problems are in XP but they are unlikely to be in FPT.

k-Clique

Input Given an n-vertex graph, we can solve both problems in time O(n k+1 ) with a naive algorithm that checks for each subset X of vertices of size k, if X is a solution. As we will see in the following, k-Clique and k-Dominating Set are two typical XP problems that are unlikely to be FPT under a reasonable complexity assumption.

The analog of polynomial reduction in parameterized complexity is called parameterized reduction whose definition is the following.

Definition 1.11 (Parameterized reduction). Let two parameterized problems

A, B ⊆ Σ * × R. A parameterized reduction from A to B is an algorithm A that, given an instance (x, k) of A, outputs an instance (x , k ) of B such that • (x, k) ∈ A if and only if (x , k ) ∈ B,
• k ≤ g(k) for some computable function g, and 1) for some computable function f . As intended, if there exists a parameterized reduction from a problem A to a problem B, and B is FPT, then A is FPT.

• the running time is f (k) • |x| O(
The W-hierarchy is a set of complexity classes introduced by Downey and Fellows [START_REF] Downey | Fundamentals of parameterized complexity[END_REF] in order to capture the hardness of problems which are unlikely to be FPT. In this thesis, we just need to know from this hierarchy the class of problems called W[1]-hard. We will not give a formal definition of this class based on Boolean circuits, instead, we give the following equivalent definition.

Definition 1.12. A parameterized problem A is W[1]-hard if there exists a parameterized reduction from k-Clique to A.

Analogously to P = NP, it is conjectured that FPT = W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]. These two conjectures are very similar (both are closely related to the Halting Problem [START_REF] Michael | Parameterized complexity: The main ideas and some research frontiers[END_REF]) and FPT = W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF] is nearly as reasonable as P = NP. More arguments in favor of the conjecture FPT = W[1] can be found in [START_REF] Michael | Parameterized complexity: The main ideas and some research frontiers[END_REF].

It is worth noticing that FPT = W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF] implies P = NP, because every polynomial time algorithm is, by definition, an FPT algorithm.

As suggested by the definition, k-Clique is a W[1]-hard problem. This problem and some variants such as k-Multicolored Clique are the starting point of many W[1]-hardness proof.

The complexity classes we have introduced so far form the following chain of inclusion:

FPT ⊆ W[1] ⊆ XP.
The following class is analog to NP-hard.

Definition 1.13. A parameterized problem is para NP-hard if it is NP-hard for some fixed constant value of its parameter.

It is worth mentioning that, unless P = NP, any parameterized problem that is para NP-hard cannot be in XP and consequently it cannot be in FPT either.

Example 1.14. A famous example of a para NP-hard problem is q-Coloring parameterized by the number of colors whose definition is the following.

q-Coloring

Input: A graph G and q ∈ N. Parameter: q. Output: Does G admit a q-coloring?

It is well-known that this problem is NP-complete even when q = 3.

Exponential Time Hypothesis

As explained in the previous section, the conjecture FPT = W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF] can be used to prove that a parameterized problem is unlikely to admit an FPT algorithm. Similarly, the conjecture P = NP is used to prove that a problem is unlikely to admit a polynomial time algorithm. However, these two conjectures do not give any hint about how fast we can solve a problem. To get more precise lower bounds, we need a stronger assumption. The Exponential Time Hypothesis (ETH) is a conjecture stating that, roughly speaking, 3-SAT has no algorithm subexponential in the number of variables. Introduced in 2001 by Impagliazzo and Paturi [START_REF] Impagliazzo | On the complexity of k-sat[END_REF], ETH has been used to prove many lower-bounds for classical problems, but also FPT and XP problems. Before giving its formal definition, we recall the definition of the small o notation. Definition 1.15. Let f, g : R → R be two functions. We say that f

(n) ∈ o(g(n)) if for all k > 0, there exists N ∈ R such that k • f (n) ≤ g(n) for all n ≥ N . Example 1.16. For example, we have log(n) ∈ o( √ n), √ n ∈ o(n), and
2 √ n ∈ 2 o(n) .
We recall the definition of the q-SAT problem.

q-SAT

Input: A CNF formula ϕ with n variables and m clauses where every clause contains at most q literals. Output: Does there exist a satisfying assignment for ϕ?

For q ≥ 3, let δ q be the infimum of the set of constants c for which there exists a deterministic algorithm solving q-SAT in time O(2 cn • (n + m) O (1) ). The Exponential-Time Hypothesis is then defined as follows.

Conjecture 1.17 (Exponential Time Hypothesis, ETH).

δ 3 > 0.
Example 1.18. The Exponential Time Hypothesis implies the following.

• k-Clique cannot be solved in time f (k)•n o(k) with k the size of the solution. Consequently, ETH implies FPT = W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF].

• Vertex Cover cannot be solved in time 1) . This implies in particular that k-Vertex Cover cannot be solved in time 1) with k the size of the solution because k ≤ n.

2 o(n) • n O(
2 o(k) •n O(
It is worth mentioning a stronger variant of ETH called Strong Exponential Time Hypothesis (SETH), whose definition is the following.

lim q→+∞ δ q = 1.
Intuitively, SETH states that, for any > 0, there are no (2-) n •(n+m) O(1) time algorithms solving CNF-SAT. The Strong Exponential Time Hypothesis implies ETH and gives even more refined lower bounds. For example, unless SETH fails, there do not exist > 0 and an algorithm solving k-Dominating Set in time O(n k-) with n the number of vertices of the input graph [START_REF] Cygan | Parameterized Algorithms[END_REF]Theorem 14.42].

While ETH is generally considered a plausible complexity assumption, it is not the case for SETH which is regarded by many as a quite doubtful working hypothesis that can be refuted any time [START_REF] Cygan | Parameterized Algorithms[END_REF]. It is worth noticing that, assuming SETH, some lower bounds have been proved for problems in P [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF][START_REF] Backurs | Edit distance cannot be computed in strongly subquadratic time (unless SETH is false)[END_REF][START_REF] Chechik | Better approximation algorithms for the graph diameter[END_REF][START_REF] Vassilevska | Hardness of easy problems: Basing hardness on popular conjectures such as the strong exponential time hypothesis (invited talk)[END_REF].

Chapter 2

Overview of width measures

This chapter gives the definitions and the characteristics of the width measures we studied in this thesis. In Section 2.1, we define the notion of rooted layout and the parameters obtained from this notion. In Section 2.2, we define clique-width and we give some of its properties. We give an overview of the knowledge and the open problems concerning:

• the relations between the value of these width measures in Section 2.3,

• the relations between these width measures and some well-known graph classes in Section 2.4,

• the computations of these width measures in Section 2.5,

• how these width measures tame NP-hard problems in Section 2.6.

Rooted layout of a graph

In [START_REF] Robertson | Graph minors. x. obstructions to tree-decomposition[END_REF], Robertson and Seymour define the concept of branch-decomposition and branch-width to define a variant of tree-width. These concepts allow to define a width measure from a symmetric set function f called the branch-width of f . By now, these two notions are standard and they were used to define many width measures on graphs and matroids, see [START_REF] Geelen | Branch-width and well-quasiordering in matroids and graphs[END_REF][START_REF] Oum | Graphs of Bounded Rank Width[END_REF].

In this thesis, we use the rooted variant of branch-decomposition called rooted layout of a graph (or rooted decomposition tree) whose definition follows. Contrary to branch-decomposition, rooted layout allows to define width measure from a set function that is not symmetric. Rooted layout is also more practical than branch-decomposition when designing algorithms. Definition 2.1 (Rooted layout of a graph). Let G be a graph. A rooted layout of G is a pair L = (T, δ) of a rooted binary tree T and a bijective function δ between V (G) and the leaves of T . If T is a rooted caterpillar, then we said that (T, δ) is a linear layout of G.

Each node u of a rooted layout (T, δ) of a graph G is associated with a set of vertices V u . The following definition explains how we obtain this vertex set. Definition 2.2. For each node x of T , let L x be the set of all the leaves l of T such that the path from the root of T to l contains x. We denote by V L

x the set of vertices that are in bijection with L x , i.e., V L

x := δ -1 (L x ). When L is clear from the context, we may remove L from the superscript.

See Figure 2.1 for an example of a layout of a graph and a vertex set associated with a node of this layout. An example of a linear layout is presented in Figure 2

.2. v 1 v 2 v 3 v 4 v 5 r δ(v 2 ) = a δ(v 5 ) = b δ(v 1 ) = d δ(v 3 ) = e δ(v 4 ) = f c i g (a) G (b) A layout (T, δ) of G v 2 v 5 v 1 v 4 v 3 (c) G[V i , V i ] V i V i Figure 2.1 -Subfigure (a)
shows a graph G. Subfigure (b) shows a layout (T, δ) of G with r as root of T . Observe that the vertex set associated with the node i is

V i := {v 1 , v 3 , v 4 }. Subfigure (c) shows the bipartite graph G[V i , V i ].
In order to define a width measure from the notion of rooted layout, all we need is a set function f : 2 V (G) → R. The function f is intended to measure the simplicity of the graph G[A, A] through the value of f(A). The following definition shows how we obtain a width measure from a set function f, we call the resulting parameter f-width. All the width measures dealt with in this thesis are the f-width of some set function f. Definition 2.3 (f-width). Let G be a graph. Given a set function f : 2 V (G) → R and a rooted layout (T, δ), the f-width of (T, δ), denoted by f(T, δ), is max{f(V x ) : x ∈ V (T )}. Finally, the f-width of G, denoted by f(G), is the minimum f-width over all rooted layouts of G.

The linear version of a width measure is obtained from the notion of linear layout. Definition 2.4 (Linear f-width). Let G be a graph. Given a set function f : 2 V (G) → R, the linear f-width of G is the minimum f-width over all linear layouts (T, δ) of G.

The rest of this section is dedicated to the definition of all the parameters we deal with in this thesis that are the f-width of some set function.

Module-width

Introduced in [START_REF] Rao | Décompositions de Graphes et Algorithmes Efficaces[END_REF], module-width is a width measure closely related to clique-width (see Theorem 2.21).

Definition 2.5 (Module-width). The module-width of a graph

G is the mw-width of G where mw(A) is the cardinal of {N (v) ∩ A : v ∈ A} for all A ⊆ V (G).
One also observes that mw(A) is the number of different rows in M A,A . Moreover, mw is not a symmetric function, i.e., mw(A) is not necessarily equal to mw(A) (see the following example).

Example 2.6. Notice that for the rooted layout (T, δ) of the graph G presented in Figure 2.1, we have mw(V i ) = 2 = mw(V i ) = mw(T, δ) = 3. Moreover, it is easy to check that mw(G) = 3.

Rank-width and Q-rank-width

Rank-width and Q-rank-width were introduced, respectively, in [START_REF] Oum | Graphs of Bounded Rank Width[END_REF][START_REF] Oum | Rank-width and vertex-minors[END_REF] and [START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF]. Definition 2.7 (Rank-width). The rank-width of a graph G corresponds to the rw-width of G where rw(A) is the rank over GF (2) of the matrix M A,A for all A ⊆ V (G). Definition 2.8 (Q-rank-width). The Q-rank-width of a graph G corresponds to the rw Q -width of G where rw Q (A) is the rank over Q of the matrix M A,A for all A ⊆ V (G).

Example 2.9. Observe that for the rooted layout (T, δ) of the graph G presented in Figure 2.1, we have rw(T, δ) = rw Q (T, δ) = 2. This is optimal because G is not a distance hereditary graph and Oum [START_REF] Oum | Graphs of Bounded Rank Width[END_REF] proved that a graph has rank-width 1 if and only if it is a distance hereditary graph. The same statement holds if we consider Q-rank-width instead of rank-width because the proof does not depend on the GF (2) field.

Boolean-width and d-neighbor-width

Boolean-width and d-neighbor-width are both defined from the notion of d-neighbor equivalence introduced in [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] (see Definition 1.1) Boolean-width was introduced in [START_REF] Bui-Xuan | Boolean-width of graphs[END_REF]. The d-neighborwidth was first used in [START_REF] Belmonte | Graph classes with structured neighborhoods and algorithmic applications[END_REF][START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] as a with measure on layouts called number of d-neighborhood. Golovach et al. [START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF] used the term d-neighbor-width to describe a parameter on two-colored graphs that is closely related to the one we define in this section (both notions collapse when every vertex is two-colored). Definition 2.10 (Boolean-width). For every graph G, the boolean-width corresponds to the boolw-width of G where boolw : 2

V (G) → R is the symmetric function such that boolw(A) = log 2 (nec 1 (A)).
Observe that boolw is a symmetric function because nec 1 is also a symmetric function (see Observation 1.3). Example 2.12. Notice that for the rooted layout (T, δ) of the graph G presented in Figure 2.1, we have s-nec

1 (T, δ) = nec 1 (V i ) = 4. since {N (X) ∩ V i : X ⊆ V i } = {∅, {v 2 }, {v 5 }, {v 2 , v 5 }}.
Consequently, we have boolw(T, δ) = 2. However, this is not optimal because the linear layout (T , δ ) presented in Figure 2.2 has boolean-width log 2 (3).

Damiand et al. [START_REF] Damiand | A simple paradigm for graph recognition: application to cographs and distance hereditary graphs[END_REF] have proved that a graph has boolean-width 1 if and only if it is a distance hereditary graph. As G is not a distance hereditary graph, we conclude that the (linear) booleanwidth of G is log 2 (3).

Maximum Induced Matching-Width

The maximum induced matching-width (mim-width for short) was introduced in [START_REF] Vatshelle | New width parameters of graphs[END_REF].

Definition 2.13. The mim-width of a graph G is the mim-width of G where mim(A) is the size of a maximum induced matching of the graph G[A, A] for all A ⊆ V (G).

It is worth noticing that if mim(A) = k, then, for every X ⊆ A, there exists W ⊆ X such that |W | ≤ k and N (X) ∩ A = N (W ) ∩ A. This property is very useful to design algorithms parameterized by mim-width.

δ (v 2 ) = d δ (v 5 ) = b δ (v 1 ) = a δ (v 3 ) = e δ (v 4 ) = c r f g i Figure 2.2 -Linear layout (T , δ ) of the graph G presented in Figure 2.1 with boolw(T , δ ) = boolw(V g ) = log 2 (3) and mim(T , δ ) = 1.
Example 2.14. Observe that for the rooted layout (T, δ) presented in Figure 2.1, we have mim(T, δ) = mim(V i ) = 2 because the edges v 4 v 5 and v 3 v 2 form an induced matching in the graph G[V i , V i ]. But this is not a rooted layout of optimal mim-width as the linear layout presented in Figure 2.2 has mim-width 1.

Clique-witdh

In this section, we define clique-width and some related concepts. Clique-width is a graph parameter that originally emerges from the theory of graph grammars [START_REF] Courcelle | Handle-rewriting hypergraph grammars[END_REF] and the terminology was first introduced by Courcelle and Olariu [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF] (see also the book [START_REF] Courcelle | Graph structure and monadic second-order logic[END_REF]). The definition of clique-width is algorithmic and uses the following definition of labeled graphs.

lab G⊕H (v) := lab G (v) if v ∈ V (G), lab H (v) otherwise.
A term φ built with the four operations defined above is well-formed if either

• φ = i(x) for some i ∈ [k],
• φ = f (φ ) with f ∈ {η i,j , ρ i→j : i, j ∈ [k] ∧ i = j} and φ is a well-formed term, or

• φ = ⊕(φ , φ ) with φ and φ two well-formed terms.

A clique-width k-expression, or shortly a k-expression, is a finite well-formed term built with the four operations defined above. Each k-expression φ evaluates into a k-labeled graph (val(φ), lab val(φ) ). Definition 2.17 (Clique-width). The clique-width of a graph G, denoted by cw(G), is the minimum k such that G is isomorphic to val(φ) for some k-expression φ.

For example, the cycle abcdea of length 5 can be constructed using the 3-expression represented as a tree-structure in Figure 2.3. It is not difficult to check that the clique-width of the cycle abcdea is 3. We can assume without loss of generality that any k-expression defining a graph G uses O(n) disjoint union operations and O(nk 2 ) unary operations [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF].

η 1,3 ⊕ ρ 3→2 η 2,3 ⊕ η 1,2 ⊕ 1(a) 2(b) η 1,3 ⊕ 3(c) 1(d) 3(e)
It is worth noticing, from the recursive definition of k-expressions, that one can compute in time linear in |φ| the labeling function lab val(φ) of val(φ), and hence we will always assume that it is given.

In our algorithm, for a k-expression φ, we use the notions of subexpressions of φ and the concept of k-labeled graphs arising in φ whose definitions are the following. Definition 2.18 (Subexpressions and k-labeled graphs arising in a k-expression). The set of subexpressions of a k-expression φ, denoted by Sub(φ), is defined by the following induction:

Sub(φ) :=      {φ} if φ := i(x) with i ∈ [k], {φ} ∪ Sub(φ ) ∪ Sub(φ ) if φ = φ ⊕ φ , {φ} ∪ Sub(φ ) if φ = f (φ ) with f ∈ {ρ i→j , η i,j : i, j ∈ [k]}.
We say that a k-labeled graph (H, lab H ) arises in a k-expression φ if H = val(φ ) and lab H = lab val(φ ) for some φ ∈ Sub(φ).

Let G be a graph, φ be a k-expression of G and η i,j (φ ) be a subexpression of φ. Observe that any subexpression η a,b (φ ) of φ that adds edges between some vertices labeled i and j in val(φ ) are useless and can be "removed" from φ without changing val(φ). When designing a dynamic programming algorithm on a k-expression, it may be desirable to remove these useless operations that can generate some technical issues as we would like to treat all the i-vertices of val(φ ) in the same way. But, if some are adjacent to some j-vertices in val(φ ), then when we compute the partial solutions associated with η i,j (φ ), we may need to identify the two cases, which can prevent the algorithm from being FPT as we do not have a control on these edges. In order to avoid these difficulties, our algorithms use the following definition of irredundant k-expressions. Definition 2.19 (Irredundant k-expressions [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF]). A k-expression φ is called irredundant if, for every subexpression η i,j (φ ) of φ, there are no edges in val(φ ) between the vertices labeled i and the vertices labeled j.

Courcelle and Olariu [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF] proved that given a clique-width k-expression, it can be transformed into an irredundant k-expression in linear time.

The following lemma presents some useful properties of irredundant k-expressions.

Lemma 2.20. Let H be a k-labeled graph arising in an irredundant k-expression φ of a graph G. For all u, v ∈ V (H) with lab H (u) = i and lab H (v) = j, we have the following.

1. If i = j, then N G (u) \ V (H) = N G (v) \ V (H). 2. If uv ∈ E(G)\E(H), then i = j and, for all x, y ∈ V (H) with lab H (x) = i and lab H (y) = j, we have xy ∈ E(G) \ E(H).
Proof. (1) Assume that i = j. Let φ be the subexpression of φ such that H = val(φ ). As u and v have the same label in H, in every subexpression of φ having φ as a subexpression, u and v have the same label. Since edges are added only through the operation η a,b , we conclude that

N G (u) ∩ (V (G) \ V (H)) = N G (v) ∩ (V (G) \ V (H)).
(2) Assume that uv ∈ E(G) \ E(H). Then, we have i = j because the operation η a,b add edges only between vertices with distinct labels. Let φ be the minimal (size wise) subexpression of φ such that uv ∈ E(val(φ )). It follows that φ = η a,b (φ ), with φ ∈ Sub(φ), lab val(φ ) (u) = a and lab val(φ ) (v) = b. Let D := val(φ ). Observe that we have V (H) ⊆ V (D) and E(H) ⊆ E(D). Moreover, all vertices labeled i in H are labeled a in D and those labeled j in H are labeled b in D. Since φ is irredundant, there are no edges in D between a vertex labeled a and one labeled b. Thus, for all vertices x ∈ lab -1 H (i) and y ∈ lab -1 H (j), we have xy / ∈ E(H) and xy ∈ E(G).

The following theorem shows that clique-width and module-width are linearly equivalent, i.e., for every graph G, we have cw(G) ∈ Θ(mw(G)).

Theorem 2.21 ([125, Theorem 6.6]). For every n-vertex graph G, mw(G) ≤ cw(G) ≤ 2mw(G).
One can moreover translate, in time at most O(n 2 ), a given decomposition into the other one with width at most the given bounds.

Hierarchy of width measures

In this section, we compare the properties of the following seven width measures: tree-width, clique-width, rank-width, Q-rank-width, Boolean-width, d-neighbor-width, and mim-width. For a graph G, we denote by tw(G) the tree-width of G, see [START_REF] Robertson | Graph minors. x. obstructions to tree-decomposition[END_REF] for a definition. In the following, for each parameter f, we give some upper bounds on the value of f over graphs or over vertex sets in terms of the other parameters. We conclude by representing the hierarchy formed by these seven width measures with two diagrams.

When we compare the f-width and g-width of two set functions f, g : 2 V (G) → R, it is more convenient and easier to compare the values of these functions over vertex sets. Notice that an upper bound over vertex sets implies, by Definition 2.3 of f-width, the same upper bound over rooted layouts and over graphs. The following lemma formalizes this statement.

Lemma 2.22. Let G be a graph and f, g : 2 V (G) → R two set functions. If, for all A ⊆ V (G), we have f(A) ≤ h(g(A)) for some function h, then we have

• f(T, δ) ≤ h(g(T, δ
)) for all rooted layouts (T, δ) of G, and

• f(G) ≤ h(g(G)).
Before giving the known upper bounds between the different width measures, let us explain the absence of upper bounds between some width measures. As discussed in the introduction, the tree-width of a graph class can be arbitrarily bigger than the f-width of this graph, for all f ∈ {cw, mw, rw, rw Q , boolw, mim, nec d : d ∈ N + }. For instance, the tree-width of a complete graph G of size n is n -1 while we have cw(G) ≤ 2, f(G) = 1, for all f ∈ {mw, rw, rw Q , boolw, mim}, and nec d (G) = min(d, n) for every d ∈ N + . Moreover, the f-width of a graph class, for f ∈ {cw, mw, rw, rw Q , boolw, nec d : d ∈ N + }, can be arbitrarily larger than the mim-width of this graph class. For example, the (linear) mim-width of any interval graph is 1 [START_REF] Belmonte | Graph classes with structured neighborhoods and algorithmic applications[END_REF] while there exist interval graphs G on n vertices where cw

(G), rw(G) ∈ Θ( √ n), tw(G) = n -1, and boolw(G) ≤ log 2 (n) [132, Theorem 4.3.3].

Upper bounds on clique-width

The following theorem shows how clique-width or module-width are upper bounded by the other width measures.

Theorem 2.23 ( [START_REF] Corneil | On the relationship between clique-width and treewidth[END_REF][START_REF] Vatshelle | New width parameters of graphs[END_REF]). For any graph G and every A ⊆ V (G), we have:

(a) cw(G) ≤ 3 2 • 2 tw(G) , (b) mw(A) ≤ 2 rw(A) ≤ 2 rw Q (A) , (c) mw(A) ≤ 2 boolw(A)-1 , (d) mw(A) ≤ nec 1 (A).
Proof. Upper bound (a) was proved in [START_REF] Corneil | On the relationship between clique-width and treewidth[END_REF]. Upper bound (b) is due to the fact that any binary matrix M of rank k (over GF (2)) has at most 2 k different rows and because rw(A) ≤ rw Q (A) for all A ⊆ V (G). Upper bound (c) was proved in the proof of [132, Theorem 4.2.9]. The last upper bound follows from the definition of mw and nec 1 and the fact that, for every

A ⊆ V (G), we have {N (x) ∩ A : x ∈ A} ⊆ {N (X) ∩ A : X ⊆ A}.
Upper bounds (a)-(c) of Theorem 2.23 is almost tight due to the following theorem from [START_REF] Corneil | On the relationship between clique-width and treewidth[END_REF] and the fact that rw(G) ≤ rw Q (G) ≤ tw(G) + 1 and boolw(G) ≤ tw(G) + 1 (see the following upper bounds).

Theorem 2.24 ([27]). For any

k ∈ N, there is a graph G such that tw(G) = k and 2 k/2 -1 ≤ cw(G). Upper bound (d) of Theorem 2.23 is almost tight. Indeed, for any k ∈ N, let G[A, B] be the bipartite graph with A = {a 1 , . . . , a k }, B = {b 1 , . . . , b k } and E(G[A, B]) = {a i b j : i, j ∈ [k]∧i = j}. We have mw(A) = k and nec 1 (A) = |{N (X) ∩ B : X ⊆ A}| = |{∅, N (a 1 ), . . . , N (a k ), B}| = k + 2.

Upper bounds on rank-width and Q-rank-width

Theorem 2.25 ([17, 117, 120]). For any graph G and for every A ⊆ V (G), we have:

(a) rw(G) ≤ tw(G) + 1, (b) rw(A) ≤ rw Q (A) ≤ mw(A), (c) rw(A) ≤ 2 boolw(A) , (d) rw(A) ≤ nec 1 (A).
Proof. Upper bound (a) was proved in [START_REF] Oum | Rank-width is less than or equal to branch-width[END_REF]. The first inequality of Upper bound (b) is implicitly proved in [120, Lemma 3.2] and is due to the fact that a set of 0-1 vectors linearly dependent over Q must also be linearly dependent over GF [START_REF] Alon | Color-coding[END_REF]. The second inequality of Upper bound (b) follows from the fact that the rank of a matrix over any field is at most its number of different rows. Upper bound (c) was proved in [17, Lemma 1]. The last upper bound is an implication of Upper bound (b) and Theorem 2.23(d).

Theorem 2.26 ([120]). For any graph G and for every A ⊆ V (G), we have: Observe that some of the inequalities of Theorems 2.25 and 2.26 are almost tight owing to the following theorems and the fact that rw(G)

(a) rw Q (G) ≤ tw(G) + 1, (b) rw Q (A) ≤ mw(A), (c) rw Q (A) ≤ 2 rw(A) , (d) rw Q (A) ≤ nec 1 (A) = 2 boolw(A) .
≤ rw Q (G) ≤ cw(G).
Theorem 2.27 ( [START_REF] Charles | On the clique-width of some perfect graph classes[END_REF][START_REF] Jelínek | The rank-width of the square grid[END_REF]). An n × n grid has tree-width n, rank-width n -1 and clique-width n + 1.

Theorem 2.28 ([17]

). For large enough integer k, there exists a graph G with rw(G) ≥ k and boolw(G) ≤ 2 log 2 (rw(G)) + 4.

Upper bounds on boolean-width

Theorem 2.29 ([5, 17, 120, 132]). For any n-vertex graph G and for every A ⊆ V (G), we have

(a) boolw(G) ≤ tw(G) + 1, (b) boolw(A) ≤ mw(A), (c) boolw(A) ≤ 1 4 rw(A) 2 + O(rw(A)), (d) boolw(A) ≤ rw Q (A) • log 2 (rw Q (A) + 1), (e) boolw(A) ≤ mim(A) • log 2 (n), (f ) boolw(A) ≤ log 2 (nec d (A)) for all d ∈ N + . Proof.
(A) ≤ (d • rw Q (A) + 1) rw Q (A)
for all d ∈ N + and A ⊆ V (G). In particular, this result implies nec 1 (A) ≤ (rw

Q (A) + 1) rw Q (A) . As boolw(A) = log 2 (nec 1 (A)), we deduce that boolw(A) ≤ rw Q (A) • log 2 (rw Q (A) + 1
⊆ V (G) such that rw(A) = k and boolw(A) ∈ Θ(k 2 ).
However, we do not know if, for any k ∈ N + , there exists a graph G such that rw(G) = k and boolw(G) ∈ Θ(k 2 ). This leads to the following open question.

Open Question 2.31. Is the boolean-width of every graph subquadratic in its rank-width?

Upper bounds on mim-width

The following lemma provides some upper bounds between mim-width and the other parameters. All of these upper bounds were proved in [START_REF] Vatshelle | New width parameters of graphs[END_REF] but we give a proof for completeness.

Theorem 2.32 ([132]). Let G be a graph. For every A ⊆ V (G), mim(A) is upper bounded by mw(A), rw(A), rw Q (A) and boolw(A) = log 2 (nec 1 (A)).

Proof. Let S be the vertex set of a maximum induced matching of the graph G[A, A]. Observe that the restriction of the matrix M A,A to rows and columns in S is the identity matrix. Hence, mim(A) is upper bounded both by rw(A) and rw Q (A). It is clear that every pair of subsets of S ∩ A have a different neighborhood in A. Thus, we have 2 mim(A) ≤ nec 1 (A). We deduce that mim(A) ≤ boolw(A) = log 2 (nec 1 (A)).

Upper bounds on d-neighbor-width

Theorem 2.33 ( [START_REF] Belmonte | Graph classes with structured neighborhoods and algorithmic applications[END_REF][START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF]). Let d ∈ N + . For all graphs G and for every A ⊆ V (G), we have Upper bound (a) was proved in [132, Lemma 5.2.2] but we give an alternative proof. Let d ∈ N + . We want to prove that nec d (A) and nec d (A) are at most (d + 1) mw(A) . First, notice that, for all vertices x and y in A, we have the following equivalences:

(a) nec d (A) ≤ (d + 1) mw(A) , (b) nec d (A) ≤ 2 d•rw(A) 2 , (c) nec d (A) ≤ 2 rw Q (A)•log 2 (d•rw Q (A)+1) , (d) nec d (A) ≤ mw(A) mim(A) ≤ n d•mim(A) , (e) nec d (A) ≤ 2 d•boolw(A) 2 = nec 1 (A) d•log 2 (nec 1 (A)) .
{x} ≡ d A {y} ⇐⇒ {x} ≡ 1
A {y} ⇐⇒ x and y have the same row in M A,A .

We deduce that there are mw(A)

equivalence classes A 1 , . . . , A mw(A) of ≡ 1 A over A. Let X, Y ⊆ A.

By definition of ≡ d

A and the construction of

A 1 , . . . , A mw(A) , if we have min(d, |X ∩ A i |) = min(d, |Y ∩ A i |) for all i ∈ {1, . . . , mw(A)}, then X ≡ d A Y . We deduce that nec d (A) is at most the cardinal of {(min(d, |X ∩ A 1 |), . . . , min(d, |X ∩ A mw(A) |)) : X ⊆ A)}.
Hence, we deduce that nec d (A) ≤ (d+1) mw(A) because, for every X ⊆ A and i ∈ {1, . . . , mw(A)},

we have min(d, |X ∩ A i |) ∈ {0, . . . , d}.
Let Y, W ⊆ A. For every i ∈ {1, . . . , mw(A)}, we let a i ∈ A i . Observe that, for every X ⊆ A, every i ∈ {1, . . . , mw(A)}, and all v ∈ A i , we have Observe that we can use the following lemma and the hierarchy of parameters formed by ≤ f to extend some results concerning one parameter to the others. Lemma 2.34. For any graph parameters a, b, if a ≤ f b, then, for any graph problem Π, we have the following:

|N (a i ) ∩ X| = |N (v) ∩ X|. Hence, from the definition of ≡ d A , we deduce that if we have max(d, |N (a i ) ∩ Y |) = max(d, |N (a i ) ∩ W |) for all i ∈ {1, . . . , mw(A)}, then Y ≡ d A W . Consequently, we deduce that nec d (A) ≤ (d + 1) mw(A) .

Overview of the Hierarchy

• if Π is FPT parameterized by a, then Π is FPT parameterized by b, • if Π is XP parameterized by a, then Π is XP parameterized by b,
• if Π is para NP-hard parameterized by b, then Π is also para NP-hard parameterized by a.

Proof. Let a and b be two parameters such that a ≤ f b. Then, there exists a function f such that a(G) ≤ f (b(G)) for all graphs G. Let Π be a graph problem. Suppose that Π is FPT when parameterized by a. Thus, there exists an FPT algorithm A that, given an n-vertex graph G, solves

Π in time g(a(G)) • n O(1) . As a(G) ≤ f (b(G)) for all graphs G, the running time of A is also O(g(f (b(G))) • n O(1)
). Hence, Π is also FPT when parameterized by b. Similarly, we can prove that if Π is XP parameterized by a, then Π is XP parameterized by b. Now suppose that Π is a para NP-hard graph problem parameterized by b. Then, there exists c ∈ R such that Π is NP-hard on graphs with b(G) ≤ c. Therefore, Π is NP-hard on graphs with a(G) ≤ f (c). Hence, Π is para NP-hard parameterized by a.

Relation between width measures and graph classes

As explained in the introduction, many polynomial time algorithms for NP-hard problems on graph classes can be explained through the width measures we have defined in this chapter. In this section, we present some lower bounds on the value of these parameters on some wellknown graph classes. For the definition of the graph classes introduced in this section we refer to www.graphclasses.org/.

It is easy to see that graphs of clique-width 1 are graphs with no edges. The graphs of cliquewidth at most 2 correspond to the cographs [START_REF] Courcelle | Upper bounds to the clique width of graphs[END_REF]. The following theorem from [START_REF] Corneil | Polynomial-time recognition of clique-width ≤ 3 graphs[END_REF] shows that we can recognize the graphs of clique-width at most 3 in polynomial time.

Theorem 2.35 ([26]

). There exists an algorithm that, given a graph G with n vertices and m edges, decides whether cw(G) ≤ 3.

The following theorem characterizes the graphs of f-width at most 1 for f ∈ {rw, rw Q , boolw}.

Theorem 2.36 ([115, 39]). For every f ∈ {rw, rw Q , boolw} and every graph G, we have f(G) ≤ 1 if and only if G is a distance hereditary graph. Proof. Oum [START_REF] Oum | Graphs of Bounded Rank Width[END_REF] proved that a graph has rank-width at most 1 if and only if it is a distance hereditary graph. The same statement holds if we consider Q-rank-width instead of rank-width because the proof does not depend on the GF (2) field. Damiand et al. [START_REF] Damiand | A simple paradigm for graph recognition: application to cographs and distance hereditary graphs[END_REF] proved that a graph has boolean-width at most 1 if and only if it is a distance hereditary graph. Belmonte and Vatshelle [START_REF] Belmonte | Graph classes with structured neighborhoods and algorithmic applications[END_REF] proved that there are many well-known classes of graphs where mim-width is bounded by a constant and boolean-width by O(log(n)). They also proved that we can compute in polynomial time a rooted layout of bounded mim-width for any graph that belongs to these classes of graphs. The following theorem lists these graph classes.

Theorem 2.37 ([5]). The following graph classes have bounded mim-width: interval graphs, circular arc graphs, circular permutation and permutation graphs, convex graphs, circular k-Trapezoid graphs, k-polygon graphs, Dilworth-k graphs, and co-k-degenerate graphs for fixed k.

Moreover, for any n-vertex graph G that belongs to these classes, we have boolw(G) ∈ O(log(n)) and we can compute in polynomial time a rooted layout of constant mim-width and of boolean-width O(log(n)) (for circular k-Trapezoid graphs, an intersection model is needed in the input).

In [START_REF] Belmonte | Graph classes with structured neighborhoods and algorithmic applications[END_REF], the authors asked whether Theorem 2.37 can be extended to the graph classes called strongly chordal graphs and tolerance graphs. Later, Mengel [START_REF] Mengel | Lower bounds on the mim-width of some graph classes[END_REF] proved that mim-width is unbounded in several graph classes including strongly chordal graphs. However, the following question remains open.

Open Question 2.38. Is there a constant c ∈ N such that, for every tolerance graph G, we have mim(G) ≤ c?

Recently, Fomin, Golovach, and Raymond [START_REF] Fedor | On the tractability of optimization problems on h-graphs[END_REF] proved the following theorem that extends Theorem 2.37 to the class of H-graphs for every fixed graph H. For a graph H, a graph G is an H-graph if it is an intersection graph of connected subgraphs of some subdivision of H. It is worth mentioning that H-graphs generalize interval graphs (with H a complete graph with two vertices) and circular arc graphs (with H a cycle of length 3). • The graphs of clique-width at most 4.

• The graphs of (linear) boolean-width at most log 2 (3).

• The graphs of (linear) mim-width 1.

Vatshelle [START_REF] Vatshelle | New width parameters of graphs[END_REF] proved that any graph of mim-width 1 is a perfect graph. Recently, Jaffke et al. [START_REF] Jaffke | A unified polynomial-time algorithm for feedback vertex set on graphs of bounded mim-width[END_REF] proved that Hamiltonian Cycle is NP-hard on graphs of linear mim-width 1 even when a rooted layout is given. Until now, on all graph classes of linear mim-width 1 (e.g. interval graphs, permutation graphs, convex graphs), Hamiltonian Cycle was known to be polynomial time solvable. This result reveals our lack of knowledge concerning the nature of the graphs of linear mim-width 1.

Computation

In this section, we will discuss the complexity of computing the parameters we have defined in this chapter. For a parameter f ∈ {cw, rw, rw Q , mim, boolw, nec 1 } and a polynomial P , let us define the following parameterized problems. Observe that if P is a linear polynomial (of maximum degree 1) then the problem P -Approx f-Width consists in approximating the f-width of graphs within a constant factor. It is worth noticing that, for every f, if f-Width is FPT, then the problem of computing the f-width of a graph G is FPT parameterized by f(G). Moreover, if, for some polynomial P , the problem

P -Approx f-Width is FPT, then the problem of computing, given a graph G, an integer k ∈ N such that f(G) ≤ k ≤ P (f(G)) is FPT parameterized by f(G).
The first subsection presents known complexity lower bounds such as NP-hardness concerning these two problems. The last subsection summarizes the known algorithms for f-Width and P -Approx f-Width with f ∈ {rw, rw Q } and discusses the implications of these algorithms for the other parameters via the different upper bounds presented in the above section.

Complexity lower bounds

The NP-hardness of computing the clique-width of graphs was a problem open since the introduction of clique-width in the early 1990s. It was solved by Fellows et al. with the following theorem.

Theorem 2.41 ([54]). If P = NP, then, for any ∈ R with 0 < < 1, there are no polynomial time algorithms that, given an n-vertex graph G, output an integer k such that k -cw(G) ≤ n . In particular, the problem cw-Width is NP-hard.

Theorem 2.42 ([118]). The problem rw-Width is NP-hard.

The two following theorems from [START_REF] Hortemo | Hardness of computing width parameters based on branch decompositions over the vertex set[END_REF] gives some complexity lower bounds on the computation of mim-width and boolean-width. In order to obtain these results, Saether and Vatshelle prove that computing boolw(G) and mim(G) for a graph G is at least as hard as computing, respectively, boolw(A) and mim(A) for a vertex set A of a graph (see Theorem 3.6).

They deduce the two following theorems from the facts that computing boolw(A) is NP-hard [START_REF] Provan | The complexity of counting cuts and of computing the probability that a graph is connected[END_REF] and that computing mim(A) is W[1]-hard [START_REF] Moser | The parameterized complexity of the induced matching problem[END_REF] and not approximable within a constant factor unless NP = ZPP [START_REF] Khaled | On the approximability of the maximum feasible subsystem problem with 0/1-coefficients[END_REF] where ZPP corresponds to the class of problems that admit a probabilistic Turing machine that always returns the correct answer and whose expected running time is polynomial. Open Question 2.45. For each f ∈ {cw, boolw, nec 1 }, is the problem f-Width FPT, XP, W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]hard or para NP-hard? Does there exist a polynomial P such that P -Approx f-width is FPT or XP?

The following open question concerns the computation of mim-width.

Open Question 2.46. Is the problem mim-Width XP or para NP-hard? Does there exist a polynomial P such that P -Approx mim-width is FPT or XP?

Computation of Rank-width and Q-rank-width

Among the parameters defined in this chapter, rank-width and Q-rank-width are the only ones known to be efficiently computable thanks to the following theorem.

Theorem 2.47 (Oum and Seymour [START_REF] Oum | Approximating clique-width and branch-width[END_REF]). For each f ∈ {rw, rw Q }, there is a 8 k • n 9 • log(n) time algorithm that, given a graph G as input and k ∈ N, either outputs a rooted layout for G of f-width at most 3k + 1 or confirms that the f-width of G is more than k.

This result relies on the fact that the set functions rw and rw Q are both symmetric, submodular and computable in polynomial time. Properties that none of the other set functions defined in this chapter fulfill.

For rank-width, this result can be improved [START_REF] Oum | Approximating rank-width and clique-width quickly[END_REF] by using its properties (in particular, the fact that GF (2) is a finite field). In fact, it is known that rw-Width is FPT [START_REF] Hliněný | Finding branch-decompositions and rank-decompositions[END_REF][START_REF] Jeong | Finding branch-decompositions of matroids, hypergraphs, and more[END_REF]. Moreover, for any k ∈ N and for any n-vertex graph G, we can compute a rooted layout (T, δ) of rank-width

k or confirm that rw(G) > k in time O(h(k) • n O(1)
) for some function h.

We summarize the current knowledge concerning the computation of rank-width with FPT algorithms in Table 2.1.

The following theorem shows the implications of the algorithms presented in Table 2.1 for the other width measures which are equivalent to rank-width for the relation ≤ f . Theorem 2.48 ([17]). Let G be a graph and h : R → R be a function. For every rooted layout (T, δ) of G such that rw(T, δ) = h(rw(G)), we have:

(a) f(T, L) ≤ 2 h(f(G)) for each f ∈ {mw, rw Q } and (b) boolw(T, L) ≤ 2 2h(boolw(G)) .
Proof. Inequality (a) follows from the upper bounds of Theorems 2.23-2.26 and Lemma 2.22. Indeed, by Lemma 2.22, for each f ∈ {mw, rw Q }, we have rw(G) ≤ f(G) and, for every rooted layout (T, δ) of G, we have f(T, δ) ≤ 2 rw(T,δ) . Thus, for every rooted layout (T, δ) of G with rw(T, δ) = h(rw(G)), we can conclude that f(T, δ) ≤ 2 h(f(G)) . The proof for Inequality (b) is similar and was proved in [START_REF] Bui-Xuan | Boolean-width of graphs[END_REF].

We conclude this section by two open questions concerning the computation of rank-width raised in [START_REF] Oum | Rank-width: Algorithmic and structural results[END_REF]. The first one is quite natural in view of Table 2.1.

Open Question 2.49. Does there exist an algorithm with some function f that, given a graph G and k ∈ N, finds a rooted layout of rank-width at most

f (k) or confirms that rw(G) > k in time O(2 O(k) • n 3 )? Table 2.1 -Values of g(k)
, running time and paper of some FPT-algorithms that, given an nvertex graph G and k ∈ N, compute a rooted layout of rank-width at most g(k) or confirm that rw(G) > k.

Paper g(k)

Running time Observations

[121] 3k + 1 O(8 k • n 9 • log(n))
Works also for any symmetric submodular function under some conditions, in particular, it works for rw Q .

[118] 3k + 1

O(8 k • n 4 )
Algorithm from [START_REF] Oum | Approximating clique-width and branch-width[END_REF] with a faster subroutine designed for rank-width that uses vertex-minor

to confirm rw(G) > k. [118] 24k O(h(k) • n 3 )
Based on a result from [START_REF] Hlinený | A parametrized algorithm for matroid branch-width[END_REF] and the equivalence between rank-width of bipartite graphs and branch-width of binary matroids. The function h(k) is not given explicitly in [START_REF] Hlinený | A parametrized algorithm for matroid branch-width[END_REF][START_REF] Oum | Approximating rank-width and clique-width quickly[END_REF] [118] 3k -1

O(f (k) • n 3 )
The algorithm uses monadic second order logic and Courcelle's theorem to speed up a subroutine of [START_REF] Oum | Approximating clique-width and branch-width[END_REF]. The function f (k) is a huge function.

[81] k O(g(k) • n 3 ) Uses a huge list of forbidden minors in matroids, g(k) is a huge function.

[89] k O(r(k) • n 3 )
Solve a more general problem. Self contained algorithm based on a compact representation of rooted layouts, the function r(k) is not given explicitly.

The best algorithms we know for approximating the rank-width of a graph have a cubic dependence in the number of vertices. Can we avoid this? It is worth noticing that for tree-width, Bodlaender et al. presented an algorithm that, given a graph G and an integer k, computes a tree-decomposition of tree-width at most 5k + 4 or confirms that tw(G) > k in time 2 O(k) • n [START_REF] Hans | A c k n 5-approximation algorithm for treewidth[END_REF].

Open Question 2.50. Does there exist an algorithm with some functions f ,g and a constant c < 3 that, given an n-vertex graph G, finds a rooted layout of rank-width at most f (k) or confirms that rw(G) > k in time O(g(rw(G)) • n c )?

Ideally, the function f (k) in Questions 2.49 and 2.50 should be a linear polynomial.

Width measures versus NP-hard problems

In this section, we discuss about how the seven parameters defined in this chapter catch the hardness of NP-hard problems. We begin by presenting Courcelle's meta-theorem and its variant for clique-width. Finally, we will discuss the parameterized complexity of some classical problems such as Minimum Vertex Cover, Minimum Dominating Set, Hamiltonian Cycle, Graph Coloring, Max Cut, etc.

Monadic second order logic

Many graph problems are expressible in monadic second order logic (MSO 2 for short). Informally, an MSO 2 formula is a well-formed term built with:

• the quantifiers ∀ and ∃,

• variables for vertices, edges, sets of vertices and sets of edges,

• the logical connectives ¬, ∧, ∨, ⇒, ⇔,

• the binary relations =, ∈, inc, adj where inc and adj correspond, respectively, to the predicates "this edge is incident to this vertex" and "these two vertices are adjacent".

See [START_REF] Courcelle | Graph structure and monadic second-order logic[END_REF] for a more formal definition. Many well-known and well-studied NP-hard problems are expressible in MSO 2 such as Hamiltonian Cycle, 3-Colorability, etc.

The following theorem is certainly the most famous theorem in parameterized complexity.

Theorem 2.51 (Courcelle's theorem [START_REF] Courcelle | The monadic second-order logic of graphs III: tree-decompositions, minor and complexity issues[END_REF]). For every problem Π expressible in MSO 2 by a formula φ, there exists a function f such that Π is solvable in time f (|φ|, k) • n on graphs with n vertices and with a tree decomposition of tree-width k.

In fact, the requirement that G is provided with a tree decomposition is not necessary since Bodlaender [7] proved that, for any graph, we can compute an optimal tree decomposition in time k O(k 3 ) • n. Consequently, the problems expressible in MSO 2 are FPT parameterized by tree-width and the length of the formula. Observe that there exist some variants [START_REF] Arnborg | Easy problems for tree-decomposable graphs[END_REF][START_REF] Borie | Automatic generation of lineartime algorithms from predicate calculus descriptions of problems on recursively constructed graph families[END_REF][START_REF] Courcelle | Monadic second-order evaluations on treedecomposable graphs[END_REF] of Theorem 2.51 which are useful for optimization and counting problems.

Courcelle, Makowsky, and Rotics [START_REF] Courcelle | Linear time solvable optimization problems on graphs of bounded clique-width[END_REF] extended Theorem 2.51 to graphs of bounded cliquewidth at a cost of a smaller set of problems. These problems are those expressible by an MSO 1 formula, i.e., an MSO 2 formula that does not use edge set quantifications.

Theorem 2.52 ( [START_REF] Courcelle | Linear time solvable optimization problems on graphs of bounded clique-width[END_REF]). For every problem expressible in MSO 1 by a formula φ, there exists an algorithm that, given a graph G and a k-expression of G, solves this problem in time f (|φ|, k) • n.

Observe that we can compute a 2 cw(G)+1 -expression for any graph G in time f (cw(G)) • n 3 thanks to the algorithm from [START_REF] Oum | Approximating rank-width and clique-width quickly[END_REF] and Theorems 2.21 and 2.48. Consequently, for any problem Π expressible in MSO 1 by a formula φ, there exists an algorithm, that given a graph G, solves Π in time g(|φ|, cw(G)) • n 3 . That is, every problem expressible in MSO 1 is FPT parameterized by clique-width and the length of the formula.

Notice that Theorem 2.52 holds also if we replace clique-width by any with measure p such that p ≤ f cw thanks to Lemma 2.34.

These two meta-theorems are useful in order to know whether a problem is FPT parameterized by tree-width or clique-width because we just have to express the problem in MSO 2 or MSO 1 . As their proofs are constructive, given an MSO 2 formula representing some problem Π, we can use them to design an FPT algorithm for Π parameterized by tree-width (or cliquewidth if φ is an MSO 1 formula). However, the running time of this algorithm may be a tower of exponentials. In fact, the height of this tower of exponentials depends on the number of alternating quantifiers in the monadic second order formula. Consequently, we cannot use these meta-theorems to design efficient FPT algorithms and for doing so, you need to "get your hands dirty".

Observe that, there is little hope to extend Theorem 2.52 to problems expressible in MSO 2 . Indeed, Courcelle, Makowsky, and Rotics [START_REF] Courcelle | Linear time solvable optimization problems on graphs of bounded clique-width[END_REF] proved that there exist problems expressible in MSO 2 , that are not solvable in polynomial time even on cliques unless NEXP = EXP where NEXP (resp. EXP) is the set of decision problems solvable by a non-deterministic (resp. deterministic) Turing machine using time 2 n O (1) with n the input size. Notice that NEXP = EXP is a weaker assumption that P = NP.

However, this negative result does not rule out the existence of FPT algorithms parameterized by clique-width for problems that are not expressible in MSO 1 . Several classical problems are not expressible in MSO 1 such as Max-Cut, Edge Dominating Set (EDS), Graph Coloring (GC), and Hamiltonian Cycle (HC). These problems are known to be FPT parameterized by tree-width thanks to Courcelle's theorem or some variants of this latter theorem [START_REF] Arnborg | Easy problems for tree-decomposable graphs[END_REF][START_REF] Borie | Automatic generation of lineartime algorithms from predicate calculus descriptions of problems on recursively constructed graph families[END_REF][START_REF] Courcelle | Monadic second-order evaluations on treedecomposable graphs[END_REF]. They are also known to admit XP algorithms parameterized by clique-width (see the following subsection). A natural question is whether these problems are FPT parameterized by cliquewidth. Fomin, Golovach, Lokshtanov, and Saurabh [START_REF] Fedor | Intractability of clique-width parameterizations[END_REF] proved the W[1]-hardness of EDS, GC, and HC with clique-width as parameter, which implies that these problems are not FPT parameterized by clique-width, unless W[1] = FPT. In 2014, the same authors [START_REF] Fedor | Almost optimal lower bounds for problems parameterized by clique-width[END_REF] proved that Max-Cut and EDS do not admit f (k) • n o(k) -time algorithms unless ETH fails.

There are no such meta-theorems for mim-width. In fact, Vatshelle proves [132, Lemma 5.1.5] that Clique parameterized by mim-width is NP-hard on graphs of mim-width at most 6. As Clique is expressible in MSO 1 , it is unlikely that there exists a meta-theorems like Courcelle's one for mim-width.

Parameterized complexity of classical problems

Once we know that a problem is FPT, a natural question that arises is how fast we can solve this problem. In this section, we summarize the asymptotically fastest known FPT algorithms for each parameter defined in this chapter and for some classical problems such as Minimum Vertex Cover, Minimum Dominating Set, Minimum Feedback Vertex Set, Graph Coloring, Hamiltonian Cycle, Max Cut, etc. We also give the best known lower bounds for these problems.

We begin by the algorithms for (σ, ρ)-Dominating Set problems and their connected and acyclic variants. All of these problems are FPT parameterized by clique-width and XP parameterized by mim-width. Finally, we will talk about several classical problems that are known to be W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-hard parameterized by clique-width such as Graph Coloring and Hamiltonian Cycle.

As explained in the introduction, we have a precise idea on the parameterized complexity of the different problems dealt with in this subsection concerning tree-width. In fact, all of these problems admit 2 O(tw(G)) • n time algorithms [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF][START_REF] Cygan | Parameterized Algorithms[END_REF][START_REF] Telle | Algorithms for vertex partitioning problems on partial k-trees[END_REF].

(σ, ρ)-Dominating Set problems and their acyclic and connected variants

We present the asymptotically best algorithms for (σ, ρ)-Dominating Set problems and for the acyclic and connected variants of these problems. We define these problems and give a list of famous (σ, ρ)-Dominating Set problems in Section 2.6.2. Examples of such problems are given in Table 1.1. We will see that, for each parameter defined in this chapter, the best known parameterized algorithms for those problems are obtained by using the d-neighbor-width and the upper bounds of Theorem 2.33 on this latter parameter. This highlights how well the d-neighbor width catch the hardness of this kind of problems.

For each parameter defined in this chapter, the best1 known algorithms for all NP-hard (σ, ρ)-Dominating Set problems are obtained from the following theorem from [18, Theorem 1].

Theorem 2.53 ([18]). Given an n-vertex graph G and a rooted layout L of G, we can solve any

(σ, ρ)-Dominating Set problem in time O(s-nec d (L) 3 • log(s-nec d (L)) • n 3 ) with d a constant that depends only on (σ, ρ).
It is worth noticing that the running time given in [18, Theorem 1] is O(s-nec d (L) 3 • n 4 ) because the authors replace the factor log(s-nec d (L)) by n in their running time proof. Notice that Bui-Xuan, Telle, and Vatshelle extended Theorem [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] to a wider class of problems called LC-VSVP problems. This class generalizes the (σ, ρ)-Dominating Set problems and includes homomorphism problems like H-Coloring and H-homomorphism with H a fixed graph.

The two following theorems summarizes the results we obtained in Section 4.2 concerning the acyclic and connected variant of the (σ, ρ)-Dominating Set problems. More precise running times are given in Section 4.2.

(L) 3 • s-nec 1 (L) O(1) • N f (L) O(1)
• n 3 , with d a constant that depends only on (σ, ρ) and where N f (L) is the term defined in Table 2

.2. Table 2.2 -Values of N f (L) for every rooted layout L and for each f ∈ {mw, rw, rw Q , mim}. f mw rw Q rw mim N f (L) 2 mw(L) • 2n 2 rw Q (L) log 2 (2rw Q (L)+1) • 2n 2 2rw(L) 2 • 2n 2n 2mim(L)+1
We deduce the following corollary from Theorems 2.53-2.55 and the upper bounds on the d-neighbor width from Theorem 2.33.

• (d + 1) O(mw(L)) • n O(1) , • (d • rw Q (L) + 1) O(rw Q (L)) • n O(1) , • 2 O(d•rw(L) 2 ) • n O(1) , • 2 O(boolw(L)) • n O(1) if d = 1 and 2 O(d•boolw(L) 2 ) • n O(1) otherwise. • n O(d•mim(L)) .
with d a constant that depends only on (σ, ρ).

Corollary 2.56 reveals the power and the generality of the d-neighbor equivalence when it comes to solve NP-hard problems. Indeed, the running times presented in this corollary are (up to a constant in the exponents) the best known for solving NP-hard problems for each width measure. In the following, we give the lower bounds for two (σ, ρ)-Dominating Set problems: Independent Set (IS for short) and Dominating Set (DS for short). We choose these two problems because they seem to be somehow the easiest problems among the NP-hard (σ, ρ)-Dominating Set problems. These lower bounds hold also for many other NP-hard problems dealt with in Corollary 2.56 such as Feedback Vertex Set, Vertex Cover, Connected Vertex Cover, Connected Dominating Set, etc. Theorem 2.57 ( [START_REF] Impagliazzo | On the complexity of k-sat[END_REF][START_REF] Impagliazzo | Which problems have strongly exponential complexity?[END_REF]). Unless ETH fails, there is no 2 o(n) time algorithm for IS and DS where n is the number of vertices of the input graph.

In fact, Theorem 2.57 holds for every graph problem Π that has a linear reduction from 3-SAT, i.e., we can transform each instance of 3-SAT with N variables and M clauses into an instance of Π with O(N + M ) vertices.

From Theorem 2.57, we deduce the following corollary.

Corollary 2.58. For each f ∈ {cw, rw, rw Q , boolw}, unless ETH fails, there is no

2 o(f(L)) • n O(1)
time algorithm for IS and DS where n is the number of vertices of the input graph and L a given rooted layout of the input graph G.

Proof. For every layout L of G and for each f ∈ {cw, rw, rw Q , boolw, mim}, we have f(L) ≤ n.

Thus the existence of a 2 o(f(L)) • n O(1) time algorithm for IS (resp. DS) implies that IS (resp. DS) are solvable in time 2 o(n) . By Theorem 2.57, this is not possible unless ETH fails.

We deduce that, for IS and DS, the running times presented in Corollary 2.56 are asymptotically optimal under ETH for clique-width and boolean-width (because d = 1 for these two problems).

The It is worth mentioning that Jaffke, Kwon, and Telle [START_REF] Jaffke | A note on the complexity of feedback vertex set parameterized by mim-width[END_REF] have proved the same statement for the Maximum Induced Forest problem. Consequently, IS, DS, and Feedback Vertex Set are W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-hard parameterized by mim-width even when a rooted layout is given as input.

Classical problems that are W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-hard parameterized by clique-width Now, we present some algorithmic results concerning the following problems: Max-Cut, Edge Dominating Set (EDS), Graph Coloring (GC), and Hamiltonian Cycle (HC). For tree-width and clique-width, we have a precise idea on the parameterized complexity of these problems since, for each problem, we have an upper bound which asymptotically matches the best known lower-bound. For rank-width, we only have some upper bounds thanks to [START_REF] Ganian | A unified approach to polynomial algorithms on graphs of bounded (bi-)rank-width[END_REF]. Some para-NP-hardness results are known for mim-width. However, for Q-rank-width and boolean-width, the only algorithmic results we know are those we can deduce from the results on clique-width or rank-width and the known upper bounds between these parameters.

We start by presenting the results concerning clique-width.

The following theorem provides asymptotically tight lower bounds and upper bounds for Max-Cut, Edge Dominating Set and Hamiltonian Cycle. Hence, Max-Cut, EDS, and HC have the same behavior towards clique-width. The following theorem reveals that Graph Coloring behave quite differently than the other three problems.

Theorem 2.62 ([74, 100]

). There exists an algorithm that, given an n-vertex graph G and a k-expression of G, solves Graph Coloring in time n 2 O(k) . Moreover, unless ETH fails, Graph Coloring cannot be solved in time f (k) • n 2 o(k) for any function f even when a k-expression is given as input.

Theorems 2.61 and 2.62 give us a precise idea on the complexities of the problems Max-Cut, EDS, HC, and GC parameterized by clique-width. The main drawback of these theorems is that they mainly use ad hoc techniques and ideas which works well only for clique-width. Using the same ideas for the other parameters would not give efficient algorithms. For example, we deduce, from Theorem 2.23(b) and Theorems 2.61 and 2.62, that Max-Cut, EDS, and HC can be solved in time n 2 O(rw(G)) and GC can be solved in time n 2 2 O(rw(G))

. Ganian, Hliněný, and Obdržálek [START_REF] Ganian | A unified approach to polynomial algorithms on graphs of bounded (bi-)rank-width[END_REF] showed the following theorem which proves that we can do better than n 2 2 O(rw(G)) for GC.

Theorem 2.63 ([67]

). There exists an algorithm that, given an n-vertex graph G and a rooted layout L of G as input, solves Graph Coloring in time n 2 O(rw(L) 2 ) .

In fact, Ganian, Hliněný, and Obdržálek [START_REF] Ganian | A unified approach to polynomial algorithms on graphs of bounded (bi-)rank-width[END_REF] developed a framework to design XP algorithms for rank-width and bi-rank-width, a natural extension of rank-width to directed graphs introduced by Kanté [START_REF] Moustapha | The rank-width of directed graphs[END_REF]. However, this framework is quite complex and does not always beat the naive algorithms we can obtain from the algorithms parameterized by clique-width and Theorem 2.23.

Pinning down the right exponent of n for these problems and for (Q-)rank-width and booleanwidth remains open. Concerning mim-width, we know that HC and GC are para NP-hard thanks to the two following theorems.

Theorem 2.64 ([86]). Hamiltonian Cycle is NP-hard on graphs of linear mim-width 1 even when a linear layout of mim-width 1 is given.

Theorem 2.65 ( [START_REF] Belmonte | Graph classes with structured neighborhoods and algorithmic applications[END_REF][START_REF] Garey | The complexity of coloring circular arcs and chords[END_REF]). Graph Coloring is NP-hard on graphs of linear mim-width 2 even when a linear layout of mim-width at most 2 is given.

Proof. We know that Graph Coloring is NP-hard on Circular Arc graphs [START_REF] Garey | The complexity of coloring circular arcs and chords[END_REF]. Belmonte and Vatshelle [START_REF] Belmonte | Graph classes with structured neighborhoods and algorithmic applications[END_REF] proved that Circular Arc graphs have linear mim-width at most 2 and that we can compute for these graphs a linear layout of mim-width at most 2.

To the best of our knowledge, the complexity of Max-Cut and EDS parameterized by mimwidth remains open. In fact, we do not even know whether Max-Cut is solvable in polynomial time on Interval graphs (which are known to have linear mim-width 1 thanks to [START_REF] Belmonte | Graph classes with structured neighborhoods and algorithmic applications[END_REF]).

We conclude this section with some general open questions concerning the problems Max-Cut, EDS, HC, and GC.

Open Question 2.66. Can we unify the algorithmic results for clique-width provided by Theorems 2.61 and 2.62? Can we design a framework similar to the one for (σ, ρ)-Dominating Set problems for handling the problems which are W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-hard parameterized by clique-width? Is the notion of d-neighbor equivalence also useful for this kind of problems?

Let us give some hints about how to solve these questions. The first step would be to define a family of problems that includes Max-Cut, EDS, HC. For doing so, we can generalize the concepts of (σ, ρ)-dominating set as follows. Given a graph G and a pair (σ, ρ) of finite or co-finite subsets of N, we say that a set of edges F ⊆ E(G) is a (σ, ρ) edge dominating set if

• for every edge f ∈ F , the number of edges in F incident to f belongs to σ and • for every edge e ∈ E(G) \ F , the number of edges in F incident to e belongs to ρ. This notion of (σ, ρ) edge dominating set generalizes both the notion of Hamiltonian cycle and edge dominating set. Indeed, an edge dominating set is simply an (N, N + ) edge dominating set and a Hamiltonian cycle is a ({2}, N) edge dominating set of maximum size and with G |F connected. However, this family of problems does not seem to include the Max-Cut problem.

Nevertheless, can we use the d-neighbor equivalence for these three problems? As these problems are W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-hard parameterized by clique-width and HC is para NP-hard parameterized by mim-width, we cannot expect the d-neighbor equivalence for d a constant to be useful. Maybe, we can avoid this dead-end by using the d-neighbor equivalence with d = n.

Recently, Bergougnoux and Kanté [START_REF] Bergougnoux | More applications of the dneighbor equivalence: acyclic and connectivity constraints[END_REF] proved that, given an n-vertex graph and a rooted layout L, we can solve Max Cut in time s-nec n (L) O (1) • n O (1) . For every rooted layout of a graph G, they proved that s-nec n (L) O (1) is upper bounded by n mw(A) , n rw Q (A) and n 2 rw(A) . Consequently, the result of [START_REF] Bergougnoux | More applications of the dneighbor equivalence: acyclic and connectivity constraints[END_REF] implies that Max Cut is solvable in time n O(mw(L)) , n O(rw Q (G)) and n 2 O(rw(G)) . It is worth mentioning that contrary to the algorithm for Max Cut given in [START_REF] Fedor | Almost optimal lower bounds for problems parameterized by clique-width[END_REF], there is no need to assume that the graph is given with a clique-width expression as the algorithm can in [START_REF] Bergougnoux | More applications of the dneighbor equivalence: acyclic and connectivity constraints[END_REF] be parameterized by Q-rank-width, which is always smaller than clique-width and for which also a fast FPT (3k + 1)-approximation algorithm exists [START_REF] Oum | Approximating clique-width and branch-width[END_REF].

Chapter 3

Two new cousins of clique-width

In this chapter, we introduce and study two new width measures: B-rank-width and N-rankwidth. In Section 3.1, we define these two parameters from algebra. In Section 3.2, we prove several properties on these parameters. We talk about their computational hardness in Section 3.3 and we compare them to other width measures in Section 3.4. Finally, we express our deep disappointment concerning these two new width parameters in Section 3.5.

Definitions

These two parameters are defined from the algebraic structure called commutative semiring. This concept is defined from the notion of monoid.

A monoid is a pair (R, * ) with R a set and * : R × R → R verifying the following properties: A commutative semiring is a tuple (R, , * ) where (R, ) and (R, * ) are two commutative monoids with identity elements, respectively, 0 and 1, and we have the following properties:

• Distributivity: for every a, b, c ∈ R, we have a • (b c) = (a * b) (a * c),
• Multiplication by 0 annihilates R: for all a ∈ R, we have a * 0 = 0.

Unlike rings, we do not require that each element must have an additive inverse.

In order to define B-rank-width, we use the Boolean semiring B := ({0, 1}, ∨, ∧) where ∨ and ∧ corresponds respectively to the logical disjunction and the logical conjunction. Contrary to GF (2), 1 has no inverse for the addition in B since 1 ∨ 1 = 1 and 1 ∨ 0 = 1.

To define N-rank-width, we use the natural semiring (N, +, •) where + and • are the ordinary addition and multiplication.

Similarly to linear algebra, we can define the span of a vector set for semirings. For doing so, we need the following notions. Let R := (R, , * ) be a commutative semiring and k ∈ N + . We denote by R k the set of all sequences of length k whose elements belong to R.

Given v = (v 1 , . . . , v k ), v = (v 1 , . . . , v k ) ∈ R k , the vector denoted by v v equals (v 1 v 1 , . . . , v k v k )
and given a ∈ R, the vector denoted by a * v equals (a * v 1 , . . . , a * v k ). Given a subset S = {v 1 , . . . , v r } of R k , the span of S over R, denote by S, R , is the set of all vectors v in R k such that there exist a

1 , . . . , a r ∈ R such that v = (a 1 * v 1 ) (a 2 * v 2 ) • • • (a r * v r ).
Given S ⊆ R k and a matrix M with k columns whose entries belong to R, we say that S is an R-generator of M if every row vector of M belongs to S, R . Observe that, if R is a field, then the rank of M over R corresponds to the size of a minimum R-generator of M .

For example, let M be the matrix with rows (1, 1, 0), (0, 1, 1) and (1, 1, 1). The sum of the vectors (1, 1, 0) and (0, 1, 1) over B, N and GF (2) equals, respectively, (1, 1, 1), (1, 2, 1), and (1, 0, 1). Consequently, the rank of M over B is 2 and the rank of M over N or GF (2) equals 3.

In the following, we give the definition of B-rank-width and N-rank-width.

N : 2 V (G) → N is a function such that rw G N (A) is the minimum size of a (N, +, •)-generator of M A,A .
When the underlying graph G is clear from context, we may simply write rw B and rw N instead of rw G B and rw G N .

Properties

In this section, we compare the values of B-rank-width and N-rank-width with module-width and rank-width. We start with the following observation. Proof. Let v ∈ {0, 1} k . Observe that if there exist a 1 , . . . , a r ∈ N and v

1 , . . . , v r ∈ N k such that v = (a 1 • v 1 ) + (a 2 • v 2 ) + • • • + (ar • v r ), then, for every i ∈ [r],
we have the following:

• a i ∈ {0, 1}, • if v i / ∈ {0, 1} k , then a i = 0,
• for every j ∈ [r] with j = i and each ∈ [k], if the th coordinates of v i and v j are 1 then either a i = 0 or a j = 0.

We deduce that S ∩ {0, 1} k is an (N, +, •)-generator of M . Since a i ∈ {0, 1} and a i • c = a i ∧ c for every i ∈ [r] and c ∈ {0, 1}, we conclude that S ∩ {0, 1} k is also a B-generator of M . Now, we prove that rw B (A) and rw N (A) both correspond to some biclique cover problems. Let us give some definitions. A biclique is a bipartite graph (A∪B, E) such that A and B are two independent sets and E = {ab : a ∈ A and b ∈ B}. Given a graph G, we say that B is a biclique of G if B is a biclique and a subgraph of G. Let G be a graph.

Given A ⊆ V (G), a biclique cover of G[A, A] is a collection {B 1 , . . . , B k } of bicliques of G[A, A] such that E(G[A, A]) = i∈[k] E(B i ). We say that a biclique cover {B 1 , . . . , B k } of G[A, A] is a biclique partition of G[A, A] if the bicliques B 1 , .
. . , B k are pairwise edge-disjoint. We define bic-cover : 2 V (G) → N and bic-part : 2 V (G) → N such that bic-cover(A) (resp. bic-part(A)) is the minimum k ∈ N such that there exists a biclique cover (resp. biclique partition) of G[A, A] of size k. Lemma 3.4. For every graph G and every A ⊆ V (G), we have rw B (A) = bic-cover(A) and rw N (A) = bic-part(A).

Proof. Let G be a graph, A ⊆ V (G) and t = |A|. For each i ∈ [t], we denote by v i the vertex in A which is associated with the ith column of M A,A .

We begin by proving that rw B (A) ≤ bic-cover(A) and rw N (A) ≤ bic-part(A). Let {B 1 , . . . , B k } be a biclique cover of G[A, A]. For every i ∈ [k], we associate B i with a row vector b

i := (b 1 i , . . . , b t i ) such that, for every j ∈ [t], if v j ∈ V (B i ), then b j i := 1, otherwise b j i := 0. We claim that {b 1 , . . . , b k } is a B-generator of M A,A .
Let v ∈ A and b v be the row vector of M A,A associated with v. Since {B 1 , . . . , B k } is a biclique cover, we deduce that, for every

u ∈ N G (v) ∩ A, there exists i ∈ [k] such that uv ∈ E(B i ) and V (B i )∩A ⊆ N G (v)∩A. Hence, there exist 1 , . . . , t ∈ [k] such that N G[A,A] (v) = V (B 1 ) ∪ V (B 2 ) ∪ • • • ∪ V (B t ) ∩ A. Consequently, we have b 1 ∨ b 2 ∨ • • • ∨ b t = b v . Observe that if {B 1 , . . . , B k } is a biclique partition of G[A, A], then for every i, j ∈ [t] such that i = j, we have (V (B i ) ∩ V (B j )) ∩ A = ∅ and thus b 1 + b 2 + • • • + b t = b v . We conclude that {b 1 , . . . , b k } is a B-generator of M A,A and if {B 1 , . . . , B k } is a biclique partition of G[A, A], then {b 1 , . . . , b k } is an (N, +, •)-generator of M A,A . It follows that rw B (A) ≤ bic-cover(A) and rw N (A) ≤ bic-part(A).
Finally, it remains to prove that bic-cover(A) ≤ rw B (A) and bic-part(A)

≤ rw N (A). Let S = {b 1 , . . . , b k } be a B-generator of M A,A . For each i ∈ [k], we write b i := (b 1 i , . . . , b t i ).
For every v ∈ A, let S(v) be a subset of S such that the row vector of M A,A associated with v equals b∈S(v) b.

For every i ∈ [k], we associate the row vector

b i = (b 1 i , . . . , b t i ) with a biclique B i := (A i ∪ A i , E i ) where • A i ⊆ A such that v j ∈ A i iff b j i = 1, • A i := {v ∈ A : b i ∈ S(v)},
• E i := {aa : a ∈ A i and a ∈ A i }.

We If S is an (N, +, •)-generator of M [A, A], then, for every i, j ∈ [k] with i = j, we have E(B i ) ∩ E(B j ) = ∅. Indeed, in this case, for every v ∈ A and b i , b j ∈ S(v), if i = j, then, for all ∈ [t], we cannot have b i = b j = 1 (since 1 + 1 = 2). We deduce that, for every i, j ∈ [k] with i = j, we have either

V (B i ) ∩ V (B j ) ∩ A = ∅ or V (B i ) ∩ V (B j ) ∩ A = ∅. We conclude that if S is an (N, +, •)-generator of M [A, A], then {B 1 , . . . , B k } is a biclique partition of G[A, A].
By Observation 3.3, we know that for every (N, +, •)-generator S of M A,A , the set S ∩{0, 1} t is an (N, +, •)-generator and a B-generator of M A,A . Thus, we can construct a biclique partition of G[A, A] of size rw N (A). We conclude that bic-part(A) ≤ rw N (A). Lemma 3.4 implies in particular that rw B and rw N are symmetric set functions since, by definition, bic-cover and bic-part are two symmetric set functions. With these properties, we are now ready to prove some results on B-rank-width and N-rank-width.

Computation hardness

In this section, we give some complexity lower bounds on the computation of the B-rank-width and the N-rank-width of graphs. For doing so, we use a meta-theorem of Saether and Vatshelle [START_REF] Hortemo | Hardness of computing width parameters based on branch decompositions over the vertex set[END_REF] reducing the computation of the set function to the width of a graph. This meta-theorem uses the following definition of C-satisfying cut-function.

Definition 3.5 ([128]

). A set function f G is a C-satisfying cut-function if f G satisfies the following constraints for every graph G and S ⊆ V (G):

(1) f G (S) = f G (S) and f G (S) depends only on the graph G[S, S].

(2) f G (S) = 0 if G[S, S] has no edges and at least one otherwise.

(3) Removing a vertex x ∈ S does not increase f G (S), and reduce f G (S) by at most one.

(4) If G[S, S] is the disjoint union of G 1 [A 1 , B 1 ] and G 2 [A 2 , B 2 ], then f G (S) = f G 1 (A 1 ) + f G 2 (A 2 ).
(

) If v ∈ S has a twin vertex 1 in G[S, S], then f G (S) = f G[V (G)\v] (S). 5
Except mw all the set functions we deal with in this thesis are C-satisfying cut-functions. In particular, it is quite easy to check that rw G B and rw G N are two C-satisfying cut-functions. This follows from the fact that for every graph G and A ⊆ V (G), we have rw B (A) = bic-cover(A) and rw N (A) = bic-part(A).

Saether and Vatshelle [START_REF] Hortemo | Hardness of computing width parameters based on branch decompositions over the vertex set[END_REF] proved the following theorem on the computation of C-satisfying cut functions.

Theorem 3.6 ([128]). Given a graph G, a subset A ⊆ V (G), k ∈ N + and a C-satisfying function f G : 2 V (G) → R, we can construct in polynomial time, a graph G A such that the f-width of G A is at most k + k + 1 if and only if f(A) ≤ k.
Deciding whether rw B (A) ≤ k and rw N (A) ≤ k for some k ∈ N is known to be NP-hard from [START_REF] Jiang | Minimal NFA problems are hard[END_REF][START_REF] Orlin | Contentment in graph theory: Covering graphs with cliques[END_REF]. Moreover, Chandran, Issac, and Karrenbauer [START_REF] Chandran | On the parameterized complexity of biclique cover and partition[END_REF] have proved that, given a graph G, A ⊆ V (G) and k ∈ N, there is no 2 2 o(k) • n O (1) time algorithm that decides whether rw B (A) ≤ k unless ETH fails. From these hardness results and Theorem 3.6, we deduce the following theorem on the problems rw B -Width and rw N -Width.

Relation with other width measures

In this section, we compare the values of B-rank-width and N-rank-width with other width measures such as module-width and rank-width. Theorem 3.8. For any graph G and every A ⊆ V (G), we have

(a) rw N (A) ≤ mw(A), (b) mw(A) ≤ 2 rw B (A) , (c) rw Q (A) ≤ rw N (A), (d) boolw(A) ≤ rw B (A) and nec 1 (A) ≤ 2 rw B (A) , (e) s-nec d (A) ≤ 2 d•rw B (A) 2 for every d ∈ N + , 1 A twin vertex of a vertex v is a vertex with the same closed neighborhood as v. (f ) s-nec d (A) ≤ (d + 1) rw N (A) for every d ∈ N + .
Proof. Let A ⊆ V (G) and t = |A|. Upper bound (a) follows from the fact that mw(A) equals the number of different rows in the matrix M A,A which is trivially an upper bound on rw N (A). Upper bound (b) is due to the fact that the size of the span of a B-generator of size k is at most 2 k . Consequently, the number of different rows of M A,A is at most 2 rw B (A) and thus mw(A) ≤ 2 rw B (A) .

Concerning Upper bound (c), observe that, since N ⊆ Q, for every t ∈ N and S ⊆ N t , we have S, (N, +, •) ⊆ S, (Q, +, •) . Since rw Q (A) equals the size of a minimum size of (Q, +, •)generator of M A,A , we deduce that rw Q (A) ≤ rw N (A).

For Upper bound (d), notice that any sum of rows of M A,A over B belong to the span of a B-generator of M A,A . As nec 1 (A) := |{N (X) ∩ A : X ⊆ A}|, we deduce that nec 1 (A) ≤ 2 rw B (A) . As boolw(A) := log 2 (nec 1 ), we have that boolw(A) ≤ rw B (A).

Upper bound (e) is implied by Upper bound (d) and Theorem 2.33(e), i.e., s-nec

d (A) ≤ 2 d•boolw(A) 2 .
The last upper bound follows from the fact that any sum of rows of M A,A over N belong to the span of an (N, +, •)-generator of M A,A . Let S be a minimum (N, +, •)-generator of M A,A . we deduce that nec d (A) ≤ (d + 1) rw N (A) from the following inequality

nec d (A) ≤ |{0, . . . , d} t ∩ S, (N, +, •) | ≤ (d + 1) |S| = (d + 1) rw N (A) .
From Theorem 3.8 and the results presented in Section 2.3, we deduce the following upper bounds on the value of rw B and rw N over vertex cuts. Corollary 3.9. For any graph G and every A ⊆ V (G), we have:

(a) rw(A) ≤ rw Q (A) ≤ rw N (A) ≤ mw(A) ≤ 2 rw B (A) . (b) rw B (A) ≤ rw N (A) ≤ mw(A) ≤ 2 rw(A) ,
Proof. By Theorem 2.23, we know that for every A ⊆ V (G), we have mw(A) ≤ 2 rw(A) . By Observation 3.3, we know that rw B (A) ≤ rw N (A). To deduce (a) we need the fact that rw(A) ≤ rw Q (A) from Theorem 2.25 and Upper bounds (b) and (c) of Theorem 3.8. We deduce (b) from these inequalities and from Theorem 3.8(a).

The following theorem proves that Inequality (a) of Corollary 3.9 is tight over vertex cuts. We want to prove by recurrence on k that rw(M k ) = 2 k -1 and rw(M k ) = 2 k for every k ∈ N.

∅ a {1} a {1,2} a {2} b ∅ b {1} b {1,2} b {2} b ∅ b {1} a ∅ 0 0 a {1} 0 1 b ∅ b {1} a ∅ 1 1 a {1} 1 0 (a)
Obviously, this is true for M 0 and M 0 since rw(M 0 ) = 0 and rw(M 0 ) = 1.

For applying the recurrence hypothesis, we consider the total order < on the subsets of N + where S < T if max(S T ) ∈ T . For example, we have

∅ < {1} < {2} < {1, 2} < {3} < {1, 3} < {2, 3} < {1, 2, 3}.
M k =   M k-1 M k-1 M k-1 1   and M k =   M k-1 M k-1 M k-1 0   .
Since rows and columns additions do not change the rank of a matrix and, for every

(a S , b T ) ∈ A k × B k , we have M k [a S , b T ] = 1 -M k [a S , b T ], we deduce the following rw(M k ) = rw   M k-1 M k-1 0 M k-1   = rw   M k-1 0 0 M k-1  
Similarly, we deduce the following for M k .

rw(M k ) = rw   M k-1 0 0 M k-1   .
It follows that the rank of M k equals the rank of M k-1 plus the rank of M k-1 and the rank of M k equals the double of the rank of M k-1 . By recurrence hypothesis, we deduce that the rank of M k and M k are, respectively, 2 k -1 and 2 k . Theorem 3.10 raises the following question which asks whether Inequality (a) of Corollary 3.9 is also tight on graphs.

Open Question 3.11. For every k ∈ N, can we construct a graph G with rw B (G) ∈ O(k) and rw(G) ∈ 2 Ω(k) ?

We suspect that Inequality (b) of Corollary 3.9 is tight (at least over vertex cuts). Unfortunately, we were not able to prove this intuition. However, we think that we can prove it by using the same graphs which have been used in [START_REF] Bui-Xuan | Boolean-width of graphs[END_REF] for proving Theorem 2.30. That is, the

a ∅ a {1} a {1,2} a {2} b ∅ b {1} b {1,2} b {2}     b ∅ b {1} b {2} b {1,2} a ∅ 0 0 0 0 a {1} 0 1 0 1 a {2} 0 0 1 1 a {1,2} 0 1 1 0     (a)
The graph H Conjecture 3.12. For every k ∈ N, we have rw

B (A k ) = 2 k -1.
To prove this conjecture, it is sufficient to prove that, for every k and every biclique B of H k , we have |E(B)| ≤ 2 k-1 . Indeed, it is easy to see that |E(H k )| = (2 k-1 ) 2 , hence if every biclique has at least 2 k-1 edges, then any biclique cover of H k contains at most 2 k-1 bicliques.

Conclusion

We have explored the properties of B-rank-width and N-rank-width; two new width measures defined from rank-like notions on semirings. They turned out to be equivalent to rank-width and clique-width for ≤ f . That is, they have the same FPT power. We compared the value of their associated set functions with the values of mw, rw, rw Q , boolw and s-nec d . In particular, we proved that rw B (A) ≤ 2 rw(A) and rw(A) ≤ 2 rw B (A) , for every graph G and A ⊆ V (G).

These properties could make these width measures interesting to obtain efficient running times. But, as we have seen, computing these two width measures is a tough problem. In particular, ETH rules out the existence of an efficient FPT algorithm for computing the B-rank-width.

In front of these results, we must admit that we are quite disappointed by these two new width measures: they do not bring anything new in terms of FPT power and their computations seem to be a tough challenge. It would be interesting to design new matrix decompositions and to check whether we can design some interesting width measures or to prove that all the width measures we can obtain from matrix decompositions are equivalent to clique-width for ≤ f . Chapter 4

Fast algorithms for many connectivity problems

In this chapter, we present our results concerning connectivity problems such as the connected and acyclic variants of (σ, ρ)-Dominating Set problems, and Hamiltonian Cycle. We refer to Section 1.4 for the definitions of the families of problems Connected (σ, ρ)-Dominating Set problems, Acyclic (σ, ρ)-Dominating Set problems, and AC-(σ, ρ)-Dominating Set problems. Some examples of problems that belong to these families are shown in Table 1.1.

In Section 4.1, we develop a framework of the same flavor as the rank-based approach of [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF], but suitable for clique-width. We use this framework to design 2 O(k) • n time algorithms for Connected (σ, ρ)-Dominating Set problems and the Feedback Vertex Set problem given a k-expression.

In Section 4.2, we present a framework that generalizes and simplifies the rank-based approach from [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] and the results developed in Section 4.1. The d-neighbor equivalence relation is at the core of this framework. We use it to solve any problem that belongs to the following families of problems:

• Connected (σ, ρ)-Dominating Set problems,

• Acyclic (σ, ρ)-Dominating Set problems,

• AC-(σ, ρ)-Dominating Set problems.

Through this framework, we obtain the best known algorithms1 for the problems which belong to these families for the parameters clique-width, (Q-)rank-width, boolean-width, and mim-width.

In Section 4.3, we show that we can use the ideas of Section 4.2 to generalize and simplify the Cut & Count approach of [START_REF] Cygan | Parameterized Algorithms[END_REF]. As a result, we obtain a s-nec d (L) O (1) • n O(1) time algorithm for any Connected (σ, ρ)-Dominating Set problem with d a constant that depends only on (σ, ρ).

In Section 4.4, we present an XP algorithm that solves Hamiltonian Cycle in time n O(k) given a k-expression as input. This algorithm beats the naive algorithm of Espelage et al. [START_REF] Espelage | How to solve NP-hard graph problems on clique-width bounded graphs in polynomial time[END_REF] that runs in time n O(k 2 ) . Moreover, the running time of our algorithm matches asymptotically the lower bound of Fomin et al. [START_REF] Fedor | Almost optimal lower bounds for problems parameterized by clique-width[END_REF] which states that there is no f (k) • n o(k) time algorithm for Hamiltonian Cycle, unless ETH fails.

Connectivity Problems Parameterized by Clique-Width

In this section, we prove that given an n-vertex graph G and a k-expression of G, we can solve any (σ, ρ)-Dominating Set problem and the Feedback Vertex Set problem in time 2 O(k) •n.

Let us explain the ideas of the algorithms with two examples: (1)Connected Dominating Set and (2) Maximum Induced Tree.

Let G be a graph, for which a k-expression φ is given, and let H be a k-labeled graph arising in φ. It is worth noticing that at the time we are processing the set H, may be not all the edges between the vertices of H are known (those edges may be added in the forthcoming add i,j operations). To facilitate the steps of the dynamic programming algorithm, we first assume that φ is an irredundant k-expression. 1) .

Let D be a connected dominating set of G and let D

H := D ∩ V (H). First, D
O(k) • n O(
In order to obtain 2 O(k) • n time algorithms, we modify this algorithm so that we do not guess, via R , the existence of vertices labeled i that are not dominated, but rather the existence of a vertex that will dominate the vertices labeled i (even if they are already dominated in H by D H ). The partition associated with a partial solution D H takes into account these guesses by considering the i-vertices of D H as one vertex if

R i = 1 for each i ∈ [k]
. With these modifications, the steps of our dynamic programming algorithms can be described in terms of the operations on partitions defined in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF]. We can therefore use the same notion of representativity in order to reduce the time complexity.

2. We consider this example because we reduce the computation of a minimum feedback vertex set to that of a maximum tree. We first observe that we cannot use the same trick as in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] to ensure the acyclicity, that is counting the number of edges induced by the partial solutions. Indeed, whenever an add i,j operation is used, many edges can be added at the same time. Hence, counting the edges induced by a partial solution would imply to know, for each partial solution, the number of vertices labeled i, for each i. But, this automatically leads to an n O(k) time algorithm. We overcome this difficulty by first defining a binary relation acyclic on partitions where acyclic(p, q) holds whenever there are forests E and F , on the same vertex set, such that E ∪ F is a forest, and p (resp. q) corresponds to the connected components of E (resp. F ). In a second step, we redefine some of the operations on partitions defined in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] in order to deal with the acyclicity. These operations are used to describe the steps of the algorithm. They informally help updating the partitions after each clique-width operation by detecting partial solutions that may contain cycles. We also define a new notion of representativity, ac-representativity, where S ac-represents S if, whenever there is S ∈ S that can be completed into a connected acyclic set, there is S ∈ S that can be completed into a connected acyclic set. We then prove that one can also compute an ac-representative set of size 2 O(k) , assuming the partitions are on {1, . . . , k}.

It remains now to describe the tables of the dynamic programming algorithm. First, we are tempted to keep for each forest F of H, the partition induced by the transitive closure of ∼ where i ∼ j whenever there is a vertex x labeled i that is connected in F to a vertex y labeled j. However, this is not sufficient because we may have in a same connected component two vertices labeled i, and any forthcoming add i,j operation will create a cycle in F if there is a vertex labeled j in F . To overcome this difficulty, we index our dynamic programming tables with functions s that inform, for each i, whether there is a vertex labeled i in the partial solutions, and if yes, in exactly 1 vertex, or in at least two vertices. Indeed, knowing the existence of at least two vertices is sufficient to detect some cycles when we encounter an add i,j operation. We need also to make a difference when we have all the vertices labeled i in different connected components, or when at least two are in a same connected component. This will allow to detect all the partial solutions F that may contain triangles or cycles on four vertices with a forthcoming add i,j operation. Such cycles cannot be detected by the acyclic binary relation on partitions since this latter does not keep track of the number of vertices in each label. However, the other kinds of cycles are detected through the acyclic binary relation. We refer the reader to Subsection 4.1.2 for a more detailed description of the algorithm.

As explained in Section 2.6.2, our algorithms are optimal under ETH. Indeed, unless ETH fails, there is no 2 o(k) • n O(1) time algorithm for the following problems Feedback Vertex Set, Connected Dominating Set, Connected Vertex Cover and many other NP-hard Connected (σ, ρ)-Dominating Set problems.

The remainder of the section is organized as follows. The notion of ac-representativity and the modified operations on partitions are given in Subsection 4.1.1. We also propose the algorithm for computing an ac-representative set of size 2 O(|L|) , for sets of weighted partitions on a finite set L. The algorithms for Feedback Vertex Set and the Connected (σ, ρ)-Dominating Set problems are given in, respectively, Subsections 4.1.2 and 4.1.3.

Representing Sets of Acyclic Weighted Partitions by Matrices

In this section, we manipulate partitions and for doing so, we use the following notations. A partition p of a set S is a collection of non-empty subsets of S that are pairwise non-intersecting and such that p i ∈p p i = S; each set in p is called a block of p. The set of partitions of a finite set S is denoted by Π(S), and (Π(S), ) forms a lattice where p q if for each block p i of p there is a block q j of q with p i ⊆ q j . The join operation of this lattice is denoted by . For example, we have {{1, 2}, {3, 4}, {5}} {{1}, {2, 3}, {4}, {5}} = {{1, 2, 3, 4}, {5}}.

Let #block(p) denote the number of blocks of a partition p. Observe that ∅ is the only partition of the empty set. A weighted partition is an element of Π(S) × N for some finite set S. For p ∈ Π(S) and X ⊆ S, let p ↓X ∈ Π(X) be the partition {p i ∩ X : p i ∈ p} \ {∅}, and for Y ⊇ S, let p ↑Y ∈ Π(Y ) be the partition p ∪ y∈Y \S {{y}} . We recall that a weighted partition is an element of Π(L) × N for some finite set L. Our algorithms compute a set of weighted partitions A ⊆ Π(L) × N, for each labeled graph H used in the k-expression of the given graph G and for every subset L ⊆ {i ∈ [k] : lab -1 H (i) = ∅}. Each weighted partition (p, w) ∈ A ⊆ Π(L) × N is intended to mean the following: there is a solution S ⊆ V (H) of weight w such that p is the transitive closure of the following equivalence relation ∼ on L: i ∼ j if there exist an i-vertex and a j-vertex in the same component of H[S]. Moreover, for every label i in L, there is at least one i-vertex in S. For each label i in L, we expect the i-vertices of S to have an additional neighbor in any extension of S into an optimum solution. This way, for each label i ∈ L, we can consider the i-vertices of S as one vertex in terms of connectivity, since they will have a common neighbor in any extension of S. On the other hand, the labels j ∈ [k] \ L such that S contains at least one j-vertex are expected to have no additional neighbor in any extension of S into an optimum solution. Consequently, the vertices in S with a label in [k] \ L do no longer play a role in the connectivity. These expectations allow us to represent the connected components of H[S] by p. Our algorithms will guarantee that the weighted partitions computed from (p, w) are computed accordingly to these expectations.

When considering the Feedback Vertex Set problem, as said in the introduction, the trick used in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] to deal with acyclicity and that consists in counting the number of edges induced by the partial solutions would yield an n O(k) time algorithm in the case of clique-width. Since the partial solutions for the Feedback Vertex Set problem are represented by weighted partitions, we need to certify that whenever we join two weighted partitions and keep it as a partial solution, it does not correspond to a partial solution with cycles. We introduce in the following a notion of acyclicity between two partitions so that we can identify the joins of partitions which do not produce cycles. Definition 4.1. Let L be a finite set. We let acy be the relation on Π(L) × Π(L) where acy(p, q) holds exactly when |L| + #block(p q) -(#block(p) + #block(q)) = 0.

Observe that, if F p := (L, E p ) and F q := (L, E q ) are forests, then acy(cc(F p ), cc(F q )) holds if and only if E p ∩ E q = ∅ and (L, E p E q ) is a forest. The following is then quite easy to deduce. Fact 4.2. Let L be a finite set. For all partitions p, q, r ∈ Π(L), acy(p, q) ∧ acy(p q, r) ⇔ acy(q, r) ∧ acy(p, q r).

Proof. For a partition p ∈ Π(L), let f (p) := |L| -#block(p). One easily checks that acy(p, q) holds if and only if f (p q) equals f (p) + f (q). One can therefore deduce, by an easy calculation from this equivalence, that acy(p q, r) ∧ acy(p, q) is equivalent to saying that f (p q r) equals f (p) + f (q) + f (r). The same statement holds for acy(q, r) ∧ acy(p, q r).

By definition of acy and of , we can also observe the following. Fact 4.3. Let L be a finite set. Let q ∈ Π(L) and let X ⊆ L such that no subset of X is a block of q. Then, for each p ∈ Π(L \ X), we can observe the following equivalences p ↑X q = {L} ⇐⇒ p q ↓(L\X) = {L \ X} and (4.1) acy(p ↑X , q) ⇐⇒ acy(p, q ↓(L\X) ).

We modify in this section the operators on weighted partitions defined in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] in order to express our dynamic programming algorithms in terms of these operators, and also to deal with acyclicity. Let L be a finite set. First, for A ⊆ Π(L) × N, let

rmc(A) := {(p, w) ∈ A : ∀(p, w ) ∈ A, w ≤ w)}.
This operator, defined in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF], is used to remove all the partial solutions whose weights are not maximum w.r.t. to their partitions. Ac-Join. Let L be a finite set. For A ⊆ Π(L)×N and B ⊆ Π(L )×N, we define acjoin(A, B) ⊆ Π(L ∪ L ) × N as acjoin(A, B) := {(p ↑L q ↑L , w 1 + w 2 ) : (p, w 1 ) ∈ A, (q, w 2 ) ∈ B and acy(p ↑L , q ↑L )}.

This operator is more or less the same as the one in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF], except that we incorporate the acyclicity condition. It is used to construct partial solutions while guaranteeing the acyclicity.

Project. For X ⊆ L and A ⊆ Π(L) × N, let proj(A, X) ⊆ Π(L \ X) × N be proj(A, X) := {(p ↓(L\X) , w) : (p, w) ∈ A and ∀p i ∈ p, (p i \ X) = ∅}.
This operator considers all the partitions such that no block is completely contained in X, and then removes X from those partitions. We index our dynamic programming tables with functions that inform on the label classes playing a role in the connectivity of partial solutions, and this operator is used to remove from the partitions the label classes that are required to no longer play a role in the connectivity of the partial solutions. If a partition has a block fully contained in X, it means that this block will remain disconnected in the future steps of our dynamic programming algorithm, and that is why we remove such partitions (besides those with cycles).

One needs to perform the above operations efficiently, and this is guaranteed by the following, which assumes that log(|A|) ≤ |L| O (1) for each A ⊆ Π(L)×N (this can be established by applying the operator rmc). The following proposition could be easily proved. We now define the notion of representative sets of weighted partitions which is the same as the one in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF], except that we need to incorporate the acyclicity condition as for the acjoin operator above. Definition 4.5. Let L be a finite set and let A ⊆ Π(L) × N. For q ∈ Π(L), let ac-opt(A, q) := max{w : (p, w) ∈ A, p q = {L} and acy(p, q)}.

A set of weighted partitions A ⊆ Π(L) × N ac-represents A if for each q ∈ Π(L), it holds that ac-opt(A, q) = ac-opt(A , q).

Let Z and L be two finite sets. A function f : 2 Π(L)×N × Z → 2 Π(L )×N is said to preserve ac-representation if for each A, A ⊆ Π(L) × N and z ∈ Z, it holds that f (A , z) ac-represents f (A, z) whenever A ac-represents A.

At each step of our algorithm, we will compute a small set S that ac-represents the set S containing all the partial solutions. In order to prove that we compute an ac-representative set of S, we show that S = f (R 1 , . . . , R t ) with f a composition of functions that preserve acrepresentation, and R 1 , . . . , R t the sets of partial solutions associated with the previous steps of the algorithm. To compute S , it is sufficient to compute f (R 1 , . . . , R t ), where each R i is an ac-representative set of R i . The following lemma guarantees that the operators we use preserve ac-representation.

Lemma 4.6. The union of two sets in 2 Π(L)×N and the operators rmc, proj, and acjoin preserve ac-representation.

Proof. Let L be a finite set and let A and A be two subsets of Π(L) × N. The proof for the union follows directly from the definition of ac-opt.

Projections. Because proj(A, X) = proj(proj(A, x), X \ {x}) for all X ⊆ L and x ∈ X, we can assume that X = {x}. Let q ∈ Π(L \ {x}). For every (p, w) ∈ A, if {x} ∈ p, then p q ↑x = {L}, and (p ↓L\x , w) / ∈ proj(A, {x}). Otherwise, (p ↓L\x , w) ∈ proj(A, {x}), and by Fact 4.3 we have p ↓L\x q = {L \ {x}} ⇐⇒ p q ↑x = {L} and acy(p ↓L\x , q) ⇐⇒ acy(p, q ↑x ).

Therefore, we have ac-opt(proj(A, {x}), q) = ac-opt(A, q ↑x ). From this equality, we can conclude that proj(A , {x}) ac-represents proj(A, {x}), for all A ⊆ A such that A ac-represents A, that is proj preserves ac-representation.

Ac-Join. Let L be a finite set and let

B ⊆ Π(L ) × N. Let r ∈ Π(L ∪ L ).
Observe that for all (q, w 2 ) ∈ B, if a subset of L \L is a block of q ↑L r, then for all p ∈ Π(L), we have p ↑L q ↑L r = {L ∪ L }. Therefore, ac-opt(acjoin(A, B), r) = ac-opt(acjoin(A, B ), r) where B is the set of all (q, w) ∈ B such that no subset of L \ L is a block of q ↑L r.

By definition, ac-opt(acjoin(A, B ), r) equals

max{w 1 + w 2 : (p, w 1 ) ∈ A ∧ (q, w 2 ) ∈ B ∧ (p ↑L q ↑L r) = {L ∪ L } ∧ acy(p ↑L , q ↑L ) ∧ acy(p ↑L q ↑L , r)}.
By Fact 4.2, ac-opt(acjoin(A, B ), r) is then equal to

max{w 1 + w 2 : (p, w 1 ) ∈ A ∧ (q, w 2 ) ∈ B ∧ (p ↑L q ↑L r) = {L ∪ L } ∧ acy(q ↑L , r) ∧ acy(p ↑L , q ↑L r)}.
We deduce, by Fact 4.3 and the definition of B , that ac-opt(acjoin(A, B ), r) equals max{w 1 + w 2 : (p, w 1 ) ∈ A ∧ (q, w 2 ) ∈ B ∧ (p (q ↑L r) ↓L ) = {L} ∧ acy(q ↑L , r) ∧ acy(p, (q ↑L r) ↓L )}.

Therefore, we can conclude that ac-opt(acjoin(A, B), r) equals max{w 2 + ac-opt(A, (q ↑L r) ↓L ) : (q, w 2 ) ∈ B ∧ acy(q ↑L , r)}.

Therefore, if A ac-represents A, then we can conclude that ac-opt(acjoin(A, B), r) equals ac-opt(acjoin(A , B), r). As this statement is true for all r ∈ Π(L ∪ L ), we can conclude that acjoin(A , B) ac-represents acjoin(A, B) whenever A ac-represents A. Symmetrically, we deduce that acjoin(A, B ) ac-represents acjoin(A, B) whenever B ac-represents B.

In the remaining, we will prove that, for every set A ⊆ Π(L) × N, we can find, in time

|A| • 2 O(|L|) , a subset A ⊆ A of size at most |L| • 2 |L| that ac-represents A.
As in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF], we will encode the ac-representativity by a matrix over F 2 and show that this one has rank at most the desired bound. Next, we show that an optimum basis of this matrix ac-represents A and such a basis can be computed using the following lemma from [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF]. The constant ω denotes the matrix multiplication exponent.

Lemma 4.7 ([9]

). Let M be an n × m-matrix over F 2 with m ≤ n and let w : {1, . . . , n} → N be a weight function. Then, one can find a basis of maximum weight of the row space of M in time O(nm ω-1 ). Theorem 4.8. There exists an algorithm reduce acy that, given a set of weighted partitions

A ⊆ Π(L) × N, outputs in time |A| • 2 (ω-1)•|L| • |L| O(1) a subset A of A that ac-represents A and such that |A | ≤ |L| • 2 |L|-1 .
Proof. If L = ∅, then it is enough to return A := {(∅, w)}, where (∅, w) ∈ A and w is maximum because ∅ is the only partition of the empty set.

Assume from now that L = ∅ (this will ensure that the following definitions exist). Let us first define the matrix that encodes the property that the join of two partitions corresponds to a partition arising from a connected solution.

Let v 0 be a fixed element of L and let cuts(L) := {(L 1 , L 2 ) : L 1 L 2 = L and v 0 ∈ L 1 }. Let M and C be, respectively, a (Π(L), Π(L))-matrix and a (Π(L), cuts(L))-matrix, both over F 2 , such that

M [p, q] := 0 if p q = {L}, 1 otherwise. C[p, (L 1 , L 2 )] := 0 if p (L 1 , L 2 ), 1 otherwise.
As in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF][START_REF] Cygan | Solving connectivity problems parameterized by treewidth in single exponential time[END_REF], we fix an element v 0 to ensure that for all p ∈ Π(L), the number of cuts (L 1 , L 2 ) such that p q (L 1 , L 2 ) is odd if and only if p q = {L}. In fact, this number equals 2 #block(p)-1 . This property is used in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] to prove that M = C • C t .

Let A be a set of weighted partitions. In order to compute an ac-representative set of A, we will decompose A into a small number of sets A i . Then, for each set A i , we compute a set A i ⊆ A i of A i such that the union of the sets A i ac-represents A. To compute A i , we use Lemma 4.7 to find a maximum basis of the row space of C restricted to A i .

For each 0 ≤ i ≤ |L| -1, let A i be the set {p : (p, w) ∈ A and |L| -#block(p) = i}, and let C i A be the restriction of C to rows in A i . Let B i be a basis of the row space of C i A of maximum weight, where the weights are the weights2 of the considered weighted partitions in A. Observe that

|B i | ≤ 2 |L|-1 because the rank of C i A is bounded by |cuts(L)| = 2 |L|-1 . For p ∈ A i , let B i (p) be the subset of B i such that C[p, (L 1 , L 2 )] = q∈B i (p) C[q, (L 1 , L 2 )] for all (L 1 , L 2 ) ∈ cuts(L).
Let A i be the subset of A corresponding to the rows in B i , and let 1) . By Lemma 4.7, we can compute B i in time

A := A 0 • • • A |L|-1 . Notice that |A | ≤ |L| • 2 |L|-1 . Since C i A has |A i | rows and 2 |L|-1 columns, A i is computable in time |A i | • 2 |L|-1 • |L| O(
|A i | • 2 (ω-1)•|L| • |L| O(1) . Hence, we can compute A in time |A| • 2 (ω-1)•|L| • |L| O(1) because {A 0 , . . . , A |L|-1 } is a partition of {p : (p, w) ∈ A}.
It remains now to show that A ac-represents A. First, let us show that for all p ∈ A i and r ∈ Π(L), if M [p, r] = 1, then there is q ∈ B i (p) such that M [q, r] = 1. Now, from the equality

M = C • C t , we have M [p, r] = (L 1 ,L 2 )∈cuts(L) C[p, (L 1 , L 2 )] • C t [(L 1 , L 2 ), r] = (L 1 ,L 2 )∈cuts(L)   q∈B i (p) C[q, (L 1 , L 2 )]   • C t [(L 1 , L 2 ), r] = q∈B i (p)   (L 1 ,L 2 )∈cuts(L) C[q, (L 1 , L 2 )] • C t [(L 1 , L 2 ), r]   = q∈B i (p) M [q, r].
So, M [p, r] = 1 if and only if there is an odd number of q ∈ B i (p) such that M [q, r] = 1.

Since by construction A ⊆ A, for each q ∈ Π(L), we have ac-opt(A, q) ≥ ac-opt(A , q). Assume towards a contradiction that A does not ac-represent A. Thus, there is q ∈ Π(L) such that ac-opt(A, q) > ac-opt(A , q), and hence there is (p, w) ∈ A \ A such that p q = {L}, acy(p, q) holds and w > ac-opt(A , q). Let i := |L| -#block(p). Hence, p ∈ A i and there exists p ∈ B i (p) such that M [p , q] = 1 that is p q = {L}. Let (p , w ) ∈ A i such that p ∈ B i (p), p q = {L} and w is maximum. Since (p , w ) ∈ A i , we have |L| -#block(p ) = |L| -#block(p) = i. We can conclude that acy(p , q) holds because acy(p, q) holds. Indeed, by definition, acy(p, q) holds if and only if |L| + #block(p q) -(#block(p) + #block(q)) = 0. Since p q = {L}, we deduce that acy(p, q) holds if and only if i = |L| + 1 -#block(q). Because p q = {L} and |L| -#block(p ) = i, we can conclude that acy(p , q) holds.

Hence, we have ac-opt(A , q) ≥ w . Since w > ac-opt(A , q), it must hold that w > w . But, (B i \ {p }) ∪ {p} is also a basis of C i A since the set of independent row sets of a matrix forms a matroid. Since w > w , the weight of (B i \ {p }) ∪ {p} is strictly greater than the weight of B i , yielding a contradiction.

Feedback Vertex Set

We will use the weighted partitions defined in the previous section to represent the partial solutions. At each step of our algorithm, we will ensure that the stored weighted partitions correspond to acyclic partial solutions. However, the framework in the previous section deals only with connected acyclic solutions. So, instead of computing a maximum induced forest (the complementary of a minimum feedback vertex set), we will compute a maximum induced tree. As in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF], we introduce a hypothetical new vertex that is universal and denoted by v 0 , and we compute a pair (F, E 0 ) so that F is a maximum induced forest of G, E 0 is a subset of edges incident to v 0 , and (V (F ) ∪ {v 0 }, E(F ) ∪ E 0 ) is a tree. In order now to reduce the sizes of the dynamic programming tables, we will express the steps of the algorithm in terms of the operators on weighted partitions defined in the previous section.

Let us explain the idea of the algorithm before defining the dynamic programming tables and the steps. Let H be a k-labeled graph. We are interested in storing ac-representative sets of all induced forests of H that may produce a solution. If F is an induced forest of H, we would like to store the partition p corresponding to the quotient set of the transitive closure of the relation ∼ on V (F ) where x ∼ y if x and y have the same label or are in the same connected component. If J ⊆ [k] is such that x∈V (F ) lab H (x) = J, then this is equivalent to storing the partition p of J where i and j are in the same block if there are, respectively, an i-vertex x and a j-vertex y in the same connected component of F . Now, if H is used in a k-expression of a k-labeled graph G, then in the clique-width operations defining G we may add edges between the i-vertices and the j-vertices of H, for some i, j ∈ J. Now, this has no effect if there are exactly one i-vertex and one j-vertex at distance one in H[F ], otherwise cycles may be created, e.g., whenever an i-vertex and a j-vertex are non-adjacent and belong to the same connected component, or the number of i-vertices and j-vertices are both at least two. Nevertheless, we are not able to handle all these cases with the operators on weighted partitions. To resolve the situation where an i-vertex and a j-vertex are already adjacent, we consider irredundant k-expressions, i.e., whenever an operation add i,j is used there are no edges between i-vertices and j-vertices. For the other cases, we index the dynamic programming tables with functions s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 } that tell, for each i ∈ [k], if the label class lab -1 H (i) does not intersect F (s(i) = γ 0 ), or if it does, in one vertex (s(i) = γ 1 ), or in at least two (s(i) ∈ {γ 2 , γ -2 }) vertices. We have two possible values for label classes intersecting V (F ) in at least two vertices because whenever two i-vertices belong to the same connected component of F , F does not produce a valid solution once an operation add i, is applied to H with s( ) = γ 0 . So, if a label class lab -1 H (i) intersects V (F ) in at least two vertices, since we do not know whether a clique-width operation add i, with s( ) = γ 0 will be applied to H, we guess it in the function s, and whenever s(i) equals γ -2 , we throw p when we encounter an add i, operation (with s( ) = γ 0 ), and if s(i) = γ 2 , we force F to not having two i-vertices in the same connected component.

Nonetheless, even though we are able to detect the partitions corresponding to induced subgraphs with cycles, taking p as the transitive closure of the relation ∼ on [k] described above may detect false cycles. Indeed, let x i , x j and x , x be, respectively, an i-vertex, a j-vertex and two -vertices, such that x i and x belong to the same connected component in F , and similarly, x j and x to another connected component of F . Now, if we apply an operation add i,j on H, we may detect a cycle with p (through the acjoin operation), which may not exist when for instance there are only one i and one j-vertex in F , both in different connected components. We resolve this case with the functions s indexing the dynamic programming tables by forcing each label i in s -1 (γ 2 ) to wait for exactly one clique-width operation add i,t for some t ∈ [k]. We, therefore, translate all the acyclicity tests to the acjoin operation. Indeed, the case explained will be no longer a false cycle as x i and x j will be adjacent (with the add i,j operation), and we know that x and x will be connected to some other vertex in F , and since x i is connected to x and x j to x , we have a cycle. The following notion of certificate graph formalizes this requirement. Definition 4.9 (Certificate graph of a solution). Let G be a k-labeled graph, F an induced forest of G, s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }, and E 0 a subset of edges incident to v 0 . Let β be a bijection from s -1 (γ 2 ) to a set V + s disjoint from V (G) ∪ {v 0 }. The certificate graph of (F, E 0 ) with respect to s, denoted by CG(F, E 0 , s), is the graph

(V (F ) ∪ V + s ∪ {v 0 }, E(F ) ∪ E 0 ∪ E + s ) with E + s := i∈s -1 (γ 2 ) {{v, β(i)} : v ∈ (V (F ) ∩ lab -1 G (i))}.
In a certificate graph of (F, E 0 ), the vertices in V + s represent the expected future neighbors of all the vertices in V (F ) ∩ lab -1 G (s -1 (γ 2 )). For convenience, whenever we refer to a vertex v + i of V + s , we mean the vertex of V + s adjacent to the i-vertices in CG(F, E 0 , s). See Figure 4.1 for an example of a certificate graph.

We are now ready to define the sets of weighted partitions whose representatives we manipulate in our dynamic programming tables.

(γ 0 ) = {7, 8}, s -1 (γ 1 ) = {1, 4}, s -1 (γ 2 ) = {2, 3} and s -1 (γ -2 ) = {5, 6}. The set V + s is {v + 2 , v + 3 } with v + 2
mapped to 2 and v + 3 mapped to 3.

Π(s -1 ({γ 1 , γ 2 }) ∪ {v 0 }) × N such that there exist an induced forest F of G and E 0 ⊆ {v 0 v : v ∈ V (F )} so that w(V (F )) = w, and
1. The sets s -1 (γ 0 ) = {i ∈ [k] : |V (F ) ∩ lab -1 G (i)| = 0} and s -1 (γ 1 ) = {i ∈ [k] : |V (F ) ∩ lab -1 G (i)| = 1}. 2. The certificate graph CG(F, E 0 , s) is a forest. 3. Each connected component C of CG(F, E 0 , s) has at least one vertex which belongs to lab -1 G (s -1 ({γ 1 , γ 2 })) ∪ {v 0 }. 4.
The partition p equals (s -1 ({γ 1 , γ 2 }) ∪ {v 0 })/ ∼ where i ∼ j if and only if an i-vertex is connected to a j-vertex in CG(F, E 0 , s), we consider v 0 as a v 0 -vertex.

Conditions (1) and ( 3) are as explained above, and automatically imply that, for each i in s -1 ({γ 2 , γ -2 }), we have 2) and (4) guarantee that (V (F ) ∪ {v 0 }, E(F ) ∪ E 0 ) can be extended into a tree, if any. They also guarantee that cycles detected through the acjoin operation correspond to cycles, and each cycle can be detected with it.

|V (F ) ∩ lab -1 G (i)| ≥ 2. Conditions (
In the sequel, we call any triplet (F, E 0 , (p, w(F ))) a candidate solution in A G [s] if Condition (4) is satisfied, and if in addition Conditions (1)-( 3) are satisfied, we call it a solution in A G [s].

Given a k-labeled graph G, the size of a maximum induced tree of G corresponds to the maximum, over all s :

[k] → {γ 0 , γ 1 , γ 2 , γ -2 } with s -1 (γ 2 ) = ∅, of max{w : ({L}, w) ∈ A G [s]} with L = s -1 (γ 1 ) ∪ {v 0 }. Indeed, by definition, if ({L}, w) belongs to A G [s], then there exist an induced forest F of G with w(F ) = w and a set E 0 of edges incident to v 0 such that (V (F ) ∪ {v 0 }, E(F ) ∪ E 0 ) is a tree. This follows from the fact that if s -1 (γ 2 ) = ∅, then we have CG(F, E 0 , s) = (V (F ) ∪ {v 0 }, E(F ) ∪ E 0 ).
Our algorithm will store, for each k-labeled graph G and for every function s :

[k] → {γ 0 , γ 1 , γ 2 , γ -2 }, an ac-representative set tab G [s] of A G [s].
We are now ready to give the different steps of the algorithm, depending on the clique-width operations.

Computing tab

G for G = 1(x). For s : {1} → {γ 0 , γ 1 , γ 2 , γ -2 }, let tab G [s] :=      {({{1, v 0 }}, w(x)), ({{1}, {v 0 }}, w(x))} if s(1) = γ 1 , {({{v 0 }}, 0)} if s(1) = γ 0 , ∅ if s(1) ∈ {γ 2 , γ -2 }.
Since |V (G)| = 1, there are no solutions intersecting the label class lab -1 G (1) on at least two vertices, and so the set of weighted partitions satisfying Definition 4.10 equals the empty set if s(1) ∈ {γ 2 , γ -2 }. If s(1) = γ 1 , there are two possibilities, depending on whether E 0 = ∅ or E 0 = {xv 0 }. We can thus conclude that tab G

[s] = A G [s] is correctly computed. Computing tab G for G = add i,j (H). We can suppose that H is k-labeled. Let s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }. (a) If s(i) = γ 0 or s(j) = γ 0 , then let tab G [s] := tab H [s].
We just copy all the solutions not intersecting lab -1 H (i) or lab -1 H (j). In this case, we do not need to use the operators reduce acy and rmc since we update tab G [s] with one table from tab H . In the following cases, we assume that s(i) = γ 0 and s(j 1) and for all subsets E 0 ⊆ {xv 0 : x ∈ X}, the graph CG(X, E 0 , s) contains a cycle. For example, if s(i) = γ 2 and s(j) = γ 1 , then the two i-vertices in X are adjacent in CG(X, ∅, s) to v + i and to the j-vertex in X, thus CG(X, ∅, s) contains a cycle of length four.

) = γ 0 . (b) If s(i) = γ 2 or s(j) = γ 2 , then we let tab G [s] = ∅. In this case A G [s] = ∅. Indeed, for every set X ⊆ V (G) respecting Condition (
A := proj(s -1 (γ -2 ) ∩ {i, j}, acjoin(tab H [s H ], {({{i, j}}, 0)})
where s H ( ) := s( ), for ∈ [k] \ {i, j}, and

(s H (i), s H (j)) :=      (γ 1 , γ 1 ) if s(i) = s(j) = γ 1 , (γ 2 , γ 1 ) if (s(i), s(j)) = (γ -2 , γ 1 ), (γ 1 , γ 2 ) if (s(i), s(j)) = (γ 1 , γ -2 ).
Observe that this case corresponds to s(i), s(j) ∈ {γ 1 , γ -2 } with s(i) = γ 1 or s(j) = γ 1 . Intuitively, we consider the weighted partitions (p, w) ∈ tab H [s H ] such that i and j belong to different blocks of p, we merge the blocks containing i and j, remove the elements in s -1 (γ -2 ) ∩ {i, j} from the resulting block, and add the resulting weighted partition to A. Notice that it is not necessary to call the operator reduce acy in this case since we update tab G [s] with only one table from tab H .

Lemma 4.11. Let G = add i,j (H) be a k-labeled graph such that there are no edges between an i-vertex and a j-vertex in H. For each function s

: [k] → {γ 0 , γ 1 , γ 2 , γ -2 }, tab G [s] ac-represents A G [s] assuming that tab H [s ] ac-represents A H [s ] for all s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }.
Proof. We first recall that lab

G (x) = lab H (x) for all x ∈ V (G) = V (H). If
[s] = A G [s].
Now, we assume that we are in Case (d), that is s(i), s(j) ∈ {γ 1 , γ -2 } with s(i) = γ 1 or s(j) = γ 1 . We can assume w.l.o.g. that s(j) = γ 1 . Let (F, E 0 , (p, w)) be a solution in

A G [s]. We prove that (p, w) ∈ A. Let {x j } := V (F ) ∩ lab -1 G (j) (by assumption s(j) = γ 1 ), X i := V (F ) ∩ lab -1 G (i), E i,j := {vx j : v ∈ X i }, and F H := (V (F ), E(F ) \ E i,j
). Because we assume that there are no edges between an i-vertex and a j-vertex in H, we know that E i,j ∩E(H) = ∅, i.e., F H is an induced forest of H. Let p be the partition on s -1

H ({γ 1 , γ 2 })∪{v 0 } such that (F H , E 0 , (p , w)) is a candidate solution in A H [s H ]. We claim that (F H , E 0 , s H ) is a solution in A H [s H ]. By the definition of s H , Condition (1) is trivially satisfied. If |X i | = 1, then CG(F H , E 0 , s H ) is a subgraph of CG(F, E 0 , s) and so Condition (2) is satisfied. And if |X i | ≥ 2
and CG(F H , E 0 , s H ) contains a cycle, then the cycle should contain the vertex v + i ∈ V + s H , but this vertex may be replaced by x j in CG(F, E 0 , s), contradicting the fact this latter is acyclic. Condition ( 3) is also satisfied because s H (i), s H (j) ∈ {γ 1 , γ 2 } and for every connected component

C of CG(F H , E 0 , s H ), either C is a connected component of CG(F, E 0 , s) or C contains an -vertex with ∈ {i, j}. Therefore, (F H , E 0 , (p , w)) is a solution in A H [s H ].
It remains to prove that (p, w) is added in A. We claim that acy(p , {{i, j}} ↑L ) holds with L := s -1 (γ 1 , γ 2 ) ∪ {v 0 }. By definition of acy it is equivalent to prove that i and j cannot belong to a same block of p . Assume towards a contradiction that i and j belong to a same block of p . Then, there is a path, in CG(F H , E 0 , v 0 ), between an i-vertex x i and the jvertex x j of F . Let us choose this path P to be the smallest one. One first notices that P cannot contain the vertex

v + i of V + s H , if any, because v + i is only adjacent to i-vertices. Be- cause V (CG(F H , E 0 , s H )) \ {v + i } = V (CG(F, E 0 , s)), we would conclude that CG(F, E 0 , s) contains a cycle as x i x j ∈ E(F ) \ E(F H ), contradicting that (F, E 0 , (p, w)) is a solution in A G [s]
. Therefore, acy(p , {{i, j}} ↑L ) holds. By assumption s(j) = γ 1 , thus j / ∈ s -1 (γ -2 ) ∩ {i, j}. Since i and j are in the same block of the partition p {{i, j}} ↑L , we conclude that (p, w) ∈ proj(s -1 (γ -2 ) ∩ {i, j}, acjoin({(p , w)}, {({{i, j}}, 0)})). Let

F := G[V (F H )].
By assumption s(j) = γ 1 , and thus s H (j) = γ 1 . Let

{x j } := V (F H ) ∩ lab -1 H (j), X i := V (F H ) ∩ lab -1 H (i), and E i,j := {x j v : v ∈ X i }. Notice that E(F ) \ E(F H ) = E i,j . We claim that (F, E H 0 , (p, w)) is a solution in A G [s].
• First, Condition (1) is trivially satisfied by the definition of s H .

• Secondly, CG(F, E H 0 , s) is a forest. Indeed, {i, j} cannot be a block of p , otherwise the acjoin operator would discard p .

If |X i | = 1, then we have CG(F, E H 0 , s) = (V (CG(F H , E H 0 , s H )), E(CG(F H , E H 0 , s H )) ∪ E i,j )
and

CG(F, E H 0 , s) is clearly a forest. Otherwise, if |X i | ≥ 2, then CG(F, E H 0 , s) can be obtained from CG(F H , E H 0 , s H
) by fusing the vertex v + i and the vertex x j . Clearly, this operation keeps the graph acyclic since x j and v + i are not connected in CG(F H , E H 0 , s H ). Thus (F, E H 0 , (p, w)) satisfies Condition (2).

• Each connected component of CG(F H , E H 0 , s H ) is contained in a connected component of CG(F, E H 0 , s), and the i-vertices are in the same connected component, in CG(F, E H 0 , s), as x j . Therefore, Condition (3) is satisfied by (F, E H 0 , (p, w)) as s(j) = γ 1 and s( ) = s H ( ) for all ∈ [k] \ {i, j}.

• Also, Condition (4) is satisfied as p is then obtained from p by merging the blocks of p which contain i and j, and by removing i if s(i) = γ -2 .

We can therefore conclude that (F,

E H 0 , (p, w)) is a solution in A G [s].
Computing tab G for G = ren i→j (H). We can suppose that

H is k-labeled. Let s : [k] \ {i} → {γ 0 , γ 1 , γ 2 , γ -2 }. (a) Let A 1 := tab H [s 1 ]
where s 1 (i) := γ 0 and s 1 ( ) := s( ) for all ∈ [k] \ {i}. This set contains all weighted partitions corresponding to solutions not intersecting lab -1 H (i). They are trivially solutions in

A G [s]. (b) If s(j) = γ 0 , then let A 2 := ∅, otherwise let s 2 : [k] → {γ 0 , γ 1 , γ 2 , γ -2 } such that s 2 (j) := γ 0 , s 2 (i) := s(j)
and s 2 ( ) := s( ) for all ∈ [k] \ {i, j} and let

A 2 := tab H [s 2 ] if s(j) = γ -2 , proj({i}, acjoin(tab H [s 2 ], {({{i, j}}, 0)})) otherwise.
This set contains all weighted partitions corresponding to solutions that intersect lab -1 H (j) but not lab -1 H (j). They are solutions in A G [s] by replacing i by j with the acjoin operator, if s(j) = γ -2 , in the corresponding weighted partitions. Its worth noticing that if s(j) = γ 0 , then s 1 = s 2 and this is why we set A 2 = ∅ in this case.

(c) If s(j) = γ -2 , then let A 3 := ∅, otherwise let

A 3 := s 3 ∈S 3 proj({i, j}, tab H [s 3 ]),
where S 3 is the set of all the functions s 3 with s 3 (i), s 3 (j) ∈ {γ 1 , γ -2 }, and s 3 ( ) = s( ) for all ∈ [k] \ {i, j}. Intuitively, S 3 is the set of functions coherent with s if s(j) = γ -2 . The set A 3 corresponds to partial solutions intersecting lab -1 H (i) and lab -1 H (j) when s(j) = γ -2 . In this case, we have to ensure that the partial solutions in A 3 respect Condition (3) of Definition 4.10. We do that by removing all the partitions with a block included in {i, j}.

(d) We now define the last set considering the other cases. If s(j) = γ 2 , then let A 4 := ∅, otherwise let

A 4 := s 4 ∈S 4 proj({i}, acjoin(tab H [s 4 ], {({{i, j}}, 0)})),
where S 4 is the set of all the functions s 4 with s 4 (i), s 4 (j) ∈ {γ 1 , γ 2 } and s 4 ( ) = s( ) for all ∈ [k] \ {i, j}. Informally, S 4 is the set of functions compatible with s if s(j) = γ 2 . The set A 4 corresponds to partial solutions intersecting lab -1 H (i) and lab -1 H (j) when s(j) = γ 2 . We have to force that i-vertices and j-vertices belong to different connected components. We check this with the function acy in the operator acjoin.

We let tab

G [s] := reduce acy (rmc(A 1 ∪ A 2 ∪ A 3 ∪ A 4 )).
Lemma 4.12. Let G = ren i→j (H) with H a k-labeled graph. For each function s :

[k] \ {i} → {γ 0 , γ 1 , γ 2 , γ -2 }, the table tab G [s] ac-represents A G [s] assuming that tab H [s ] ac-represents A H [s ] for all s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }.

Proof. Since the used operators preserve ac-representation, it is enough to prove that

A G [s] = A 1 ∪ A 2 ∪ A 3 ∪ A 4 if we assume that tab H [s ] = A H [s ] for every s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }. Let (F, E 0 , (p, w)) be a solution in A G [s]. We want to prove that (p, w) ∈ A 1 ∪ A 2 ∪ A 3 ∪ A 4 . If V (F ) does not intersect lab -1 H (i), then (F, E 0 , (p, w)) is a solution in A H [s 1 ]. Assume now that V (F ) intersects lab -1 H (i). If V (F ) ∩ lab -1 H (j) = ∅ and s(j) = γ -2 , (F, E 0 , (p, w)) is a solution in A H [s 2 ]. If V (F ) ∩ lab -1
H (j) = ∅ and s(j) ∈ {γ 1 , γ 2 }, then it is easy to check that (F, E 0 , (p , w)) is a solution in A H [s 2 ] where p is obtained from p by replacing j by i.

We may assume now that V (F ) ∩ lab -1

H (i) = ∅ and V (F ) ∩ lab -1 H (j) = ∅. Then, we have s(j) ∈ {γ 2 , γ -2 } as |lab -1 G (j) ∩ V (F )| ≥ 2. Let s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }
be the function such that s ( ) := s( ) for all ∈ [k] \ {i, j}, and for t ∈ {i, j},

s (t) := γ 1 if |V (F ) ∩ lab -1 H (t)| = 1, s(j) if |V (F ) ∩ lab -1 H (t)| ≥ 2.
By definition, if s(j) = γ -2 , then s belongs to S 3 and if s(j) = γ 2 , then s belongs to S 4 . Let p be the partition on

s -1 ({γ 1 , γ 2 }) ∪ {v 0 } such that (F, E 0 , (p , w)) is a candidate solution in A H [s ]. We claim that (F, E 0 , (p , w)) is a solution in A H [s ]
. By Definition of s and of (F, E 0 ), Condition ( 1) is satisfied by (F, E 0 , (p , w)). Suppose first that s(j) = γ -2 . Observe that Condition ( 2) is satisfied because the certificate graphs of (F, E 0 ) with respect to s and s are the same. Condition ( 3) is also satisfied by definition of s and because

CG(F, E 0 , s) = CG(F, E 0 , s ). So, (F, E 0 , (p , w)) is a solution in A H [s ]. Assume now that s(j) = γ 2 . Condition (2) is satisfied. Indeed, if s (i) = γ 1 , then the graph CG(F, E 0 , s) is a subgraph of CG(F, E 0 , s ). Otherwise, if s (i) = γ 2 , then CG(F, E 0 , s) can be obtained from CG(F, E 0 , s ) by fusing v + i with v + j .
In both cases, it is easy to see that CG(F, E 0 , s ) is acyclic as CG(F, E 0 , s) is acyclic. Condition ( 3) is satisfied because each connected component C of CG(F, E 0 , s) contains at least a vertex in lab -1 G (s -1 ({γ 1 , γ 2 }))∪{v 0 }, and we have from the definition of s lab -1

H (s -1 ({γ 1 , γ 2 })) = lab -1 G (s -1 ({γ 1 , γ 2 })).
In both cases, (F, E 0 , (p , w)) is a solution in A H [s ], and depending on s(j), we can clearly conclude that (p, w) is obtained from (p , w).

Let us now prove that for any weighted partition (p, w)

∈ A 1 ∪ A 2 ∪ A 3 ∪ A 4 , there is a pair (F, E 0 ) such that (F, E 0 , (p, w)) is a solution in A G [s]. This is clear if (p, w) ∈ A 1 ∪ A 2 .
Assume that s(j) = γ -2 and let (p, w) ∈ A 3 . Let s 3 ∈ S 3 and (p , w) be the weighted partition from tab

H [s 3 ] from which (p, w) is obtained. Let (F, E 0 , (p , w)) be a solution in A H [s 3 ]. We claim that (F, E 0 , (p, w)) is a solution in A G [s]. By definition of S 3 , we clearly have |V (F ) ∩ lab -1 H ({i, j})| = |V (F ) ∩ lab -1 G (j)| ≥ 2. We deduce that Condition (1) is satisfied. Condition (2) is also satisfied because CG(F, E 0 , s 3 ) is the same as CG(F, E 0 , s). We claim that Condition (3) is satisfied. Notice that s -1 ({γ 1 , γ 2 }) = s -1 3 ({γ 1 , γ 2 }) \ {i, j}. Moreover, if i ∈ s -1 3 ({γ 1 , γ 2 })
, by definition of s 3 , we have s 3 (i) = γ 1 , that is F has exactly one vertex x such that lab H (x) = i (the same statement is true for j). Since we use the operator proj with {i, j}, there are no blocks of p included in {i, j}. Hence, if F contains one vertex x such that lab H (x) = i (or lab H (x) = j), then by Condition (4) this vertex is connected in CG(F, E 0 , s 3 ) to either v 0 or to an -vertex with ∈ s -1 ({γ 1 , γ 2 }). We can conclude that each connected component of

F must contain a vertex in lab -1 G (s -1 ({γ 1 , γ 2 })) ∪ {v 0 }, i.e.
(j) = γ -2 ).
If there is a cycle in CG(F, E 0 , s), then it must be between an i-vertex and a j-vertex of H. But then we must have a path between them in CG(F, E 0 , s 4 ), i.e., i and j belong to a same block of p , contradicting that (p, w) is produced from (p , w) (because the acjoin operator would detect that acy(p, {{i, j}} ↑[k] ) does not hold). So, Condition (2) is satisfied. We deduce that Condition (3) is satisfied from the fact that by definition of s 4 , we have lab -1

G (s -1 ({γ 1 , γ 2 })) = lab -1 H (s -1 4 ({γ 1 , γ 2 }))
. Also, as p is obtained from p by merging the blocks containing i and j, and by removing i, we deduce that Condition (4) is satisfied.

In both cases, we can conclude that (F, E 0 , (p, w)) is a solution in A G [s].

Computing tab G for G = G a ⊕ G b .
We can suppose w.l.o.g. that G a and G b are both k-

labeled 3 . Let s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }. We say that s a : [k] → {γ 0 , γ 1 , γ 2 , γ -2 } and s b : [k] → {γ 0 , γ 1 , γ 2 , γ -2 } u-agree on s if, (u1) for each i ∈ s -1 a (γ 0 ), s(i) = s b (i). Similarly, for each i ∈ s -1 b (γ 0 ), s(i) = s a (i), (u2) for each i ∈ s -1 (γ 1 ), either s a (i) = γ 0 or s b (i) = γ 0 , (u3) for each i ∈ [k] \ (s -1 a (γ 0 ) ∪ s -1 b (γ 0 )), if s(i) = γ 2 , then s a (i), s b (i) ∈ {γ 1 , γ 2 }, (u4) for each i ∈ [k] \ (s -1 a (γ 0 ) ∪ s -1 b (γ 0 )), if s(i) = γ -2 , then s a (i), s b (i) ∈ {γ 1 , γ -2 }.
The functions s a and s b inform about the indices to look at tab Ga and tab G b in order to construct tab G [s]. Let (F, E 0 , (p, w)) be a solution in A G [s], and assume that it is constructed from solutions (F a , E 0 a , (p a , w a )) and

(F b , E 0 b , (p b , w b )), in respectively, A Ga [s a ] and A G b [s b ]. The first condition tells that if F a (resp. F b ) does not intersect lab -1 G (i), then the intersection of F with lab -1 G (i) depends only on V (F b ) ∩ lab -1 G (i) (resp. V (F a ) ∩ lab -1 G (i))
, and so if V (F ) does not intersect lab -1 G (i), then F a and F b do not intersect lab -1 G (i). The second condition tells that if

|F ∩ lab -1 G (i)| = 1, then either F ∩ lab -1 G (i) = F a ∩ lab -1 G (i) or F ∩ lab -1 G (i) = F b ∩ lab -1 G (i).
The other two conditions tell when F intersects both lab -1 Ga (i) and lab -1 G b (i). Notice that we may have s(i) set to γ -2 (or γ 2 ), while F a and F b each intersects lab -1 G (i) in exactly one vertex. We let tab G [s] := reduce acy (rmc(A)) where,

A := sa,s b u-agree on s acjoin proj(s -1 (γ -2 ), tab Ga [s a ]) , proj(s -1 (γ -2 ), tab G b [s b ]) .
The weighted partitions (p, w) added in tab G [s] are all the weighted partitions that are ac-joins of weighted partitions (p a , w a ) and (p b , w b ) from tab Ga [s a ] and tab G b [s b ], respectively. We need to do the projections before the join because we may have s a

(i) = s b (i) = γ 1 , s(i) = γ -2 ,
and there is j such that s(j) = γ 2 with j in the same block as i in both partitions p a and p b . In this setting, if we do the projection after the acjoin operator, this latter will detect that acy(p a , p b ) does not hold, and won't construct (p, w), which indeed corresponds to a solution in

A G [s]. Lemma 4.13. Let G = G a ⊕G b be a k-labeled graph. For each function s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }, the table tab G [s]ac-represents A G [s] assuming that tab Ga [s ] and tab G b [s ] ac-represent, respec- tively, A Ga [s ] and A G b [s ], for each s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }.
Proof. Since the used operators preserve ac-representation, it is enough to prove that A G [s] = A if we consider that tab Gt [s ] = A Gt [s ], for every t ∈ {a, b} and s :

[k] → {γ 0 , γ 1 , γ 2 , γ -2 }.
Let (F, E 0 , (p, w)) be a solution in A G [s]. We claim that (p, w) ∈ A. For t ∈ {a, b}, let

F t := G t [V (F ) ∩ V (G t )], E t 0 := {v 0 v ∈ E 0 : v ∈ V (F t )}
, and w t := w(V (F t )), and let

s t : [k] → {γ 0 , γ 1 , γ 2 , γ -2 } such that s t (i) :=      γ 0 if V (F t ) ∩ lab -1 Gt (i) = ∅, γ 1 if |V (F t ) ∩ lab -1 Gt (i)| = 1, s(i) if |V (F t ) ∩ lab -1 Gt (i)| ≥ 2.
It is straightforward to verify that s a and s b u-agree on s. Observe that, by definition,

s -1 t (γ -2 ) ⊆ s -1 (γ -2 ) and s -1 t (γ 2 ) ⊆ s -1 (γ 2 )
, for each t ∈ {a, b}. Let p a and p b be, respectively, partitions on s -1

a ({γ 1 , γ 2 }) ∪ {v 0 } and s -1 b ({γ 1 , γ 2 }) ∪ {v 0 } such that (F a , E a 0 , (p a , w a )) and (F b , E b 0 , (p b , w b )) are, respectively, candidate solutions in A Ga [s a ] and A G b [s b ]. We claim that (F a , E a 0 , (p a , w a )) is a solution in A Ga [s a ]
. By definition of p a , s a , and of (F a , E a 0 ), Conditions ( 1) and ( 4) are clearly satisfied. Because s -1 a (γ 2 ) ⊆ s -1 (γ 2 ), and F = F a ⊕ F b , we can conclude that CG(F a , E a 0 , s a ) is an induced subgraph of CG(F, E 0 , s), and because CG(F, E 0 , s) is acyclic, we can conclude that CG(F a , E a 0 , s a ) is acyclic, i.e., Condition

(2) is satisfied. If a connected component C of CG(F a , E a 0 , s a ) does not intersect s -1 a ({γ 1 , γ 2 }) ∪ {v 0 }, then C is entirely contained in lab -1
Ga (s -1 a (γ -2 )). But, this yields a contradiction with (F, E 0 , (p, w)) satisfying Condition (3) because C is a connected component of CG(F, E 0 , s), and s -1 a (γ -2 ) ⊆ s -1 (γ -2 ). Therefore Condition ( 3) is also satisfied. We can thus conclude that

(F a , E a 0 , (p a , w a )) is a solution in A Ga [s a ]. Similarly, one can check that (F b , E b 0 , (p b , w b )) is a solution in A G b [s b ].
It remains to prove that

(p, w) ∈ acjoin(proj(s -1 (γ -2 ), {(p a , w a )}), proj(s -1 (γ -2 ), {(p b , w b )})).
First, recall that each connected component of F is either a connected component of F a or of F b . Then, because (F, E 0 , (p, w)) satisfies Condition (3), we have that proj(s -1 (γ -2 ), {(p a , w a )})) = ∅, and similarly proj(s -1 (γ -2 ), {(p b , w b )})) = ∅. We deduce that

(p a , w a ) := (p a↓(s -1 (γ -2 )) , w a ) ∈ proj(s -1 (γ -2 ), {(p a , w a )}), (p b , w b ) := (p b↓(s -1 (γ -2 )) , w b ) ∈ proj(s -1 (γ -2 ), {(p b , w b )}).
Let p a := p a↑([k]\s -1 ({γ 0 ,γ -2 })) and p b := p b↑([k]\s -1 ({γ 0 ,γ -2 })) . We claim that acy(p 1 , p 2 ) holds. Assume towards a contradiction that it is not the case. We let ∼ a (resp. ∼ b ) be an equivalence relation on s -1 ({γ 1 , γ 2 }) ∪ {v 0 } where i ∼ a j (resp. i ∼ b j) if there is an i-vertex4 and a j-

vertex that are connected in CG(F a , E a 0 , s a ) (resp. CG(F b , E b 0 , s b ))
. By the graphical definition of acy, we can easily see that if acy(p a , p b ) does not hold, then there is a sequence i 0 , . . . , i 2r-1 of s -1 ({γ 1 , γ 2 }) ∪ {v 0 } such that 5 , for all 0 ≤ α < r -1, we have i 2α ∼ b i 2α+1 and i 2α+1 ∼ a i 2α+2 . We can thus construct a cycle in CG(F, E 0 , s) from this sequence since V (F a ) ∩ V (F b ) = ∅, CG(F a , E a 0 , s a ) and CG(F b , E b 0 , s b ) are induced subgraphs of CG(F, E 0 , s), and all the vertices labeled with a label from s -1 (γ 2 ) are adjacent to v + i in CG(F, E 0 , s). This yields a contradiction as CG(F, E 0 , s) is acyclic by assumption. Therefore, acy(p 1 , p 2 ) holds.

Finally, p = p a p b because one easily checks that there is an i-vertex x connected to a j-vertex y in CG(F, E 0 , s) if and only if iRj where R is the transitive closure of (i ∼ a j or i ∼ b j). This follows from the fact that for every i ∈ s -1 ({γ 1 , γ 2 }), either there is exactly one i-vertex in F or the i-vertices of F are all adjacent to v + i in CG(F, E 0 , s). In both cases, the i-vertices of F are in the same connected component of CG(F, E 0 , s). Since the equivalence classes of R correspond to the blocks of p 1 p 2 , and w = w a + w b , we can conclude that (p, w) ∈ acjoin(proj(s -1 (γ -2 ), {(p a , w a )}), proj(s -1 (γ -2 ), {(p b , w b )})).

We now prove that if (p, w) is added to tab

G [s] from (p a , w a ) ∈ A Ga [s a ] and (p b , w b ) ∈ A G b [s b ], then there exists a pair (F, E 0 ) such that (F, E 0 , (p, w)) is a solution in A G [s]. Let (F a , E a 0 ) and (F b , E b 0 ) such that (F a , E a 0 , (p a ,
F, E 0 , (p, w)) is a solution in A G [s] with F := (V (F 1 ) ∪ V (F 2 ), E(F 1 ) ∪ E(F 2 )) and E 0 := E a 0 ∪ E b 0 .
Because s a and s b u-agree on s, we clearly have that Condition (1) is satisfied.

Let ∼ a and ∼ b as defined above. Assume towards a contradiction that there exists a cycle C in CG(F, E 0 , s). Since both CG(F a , E a 0 , s a ) and CG(F b , E b 0 , s b ) are acyclic, C must be a cycle alternating between paths in CG(F a , E a 0 , s a ) and paths in CG(F b , E b 0 , s b ). One can easily check that this implies the existence of a sequence i 0 , . . . , i 2r-1 of s -1 ({γ 1 , γ 2 }) ∪ {v 0 } such that 5 , for all 0 ≤ α < r -1, we have i 2α ∼ b i 2α+1 and i 2α+1 ∼ a i 2α+2 . Moreover, it is easy to infer, from this sequence and the graphical definition of acy, that acy p a↑L , p b↑L does not hold with p a := p a↓(s -1 (γ -2 )) , p b := p b↓(s -1 (γ -2 )) and L := s -1 ({γ 1 , γ 2 }), contradicting the fact that (p, w) = acjoin(proj(s -1 (γ -2 ), {(p a , w a )}), proj(s -1 (γ -2 ), {(p b , w b )})). Therefore, CG(F, E 0 , s) is acyclic and so Condition ( 2) is satisfied.

If we suppose that Condition (3) is not satisfied, then there is a connected component

C of CG(F, E 0 , s) that does not intersect s -1 ({γ 1 , γ 2 }) ∪ {v 0 }, i.e., C is fully contained in lab -1 G (s -1 (γ -2 )). Since F = F a F b , C is either a connected component of F a or of F b . Suppose w.l.o.g. that C is a connected component of F a . Observe that C intersects lab -1 Ga (s -1 a ({γ 1 , γ 2 })) because (F a , E a 0 , (p a , w a )) is a solution in A Ga [s a ]. Moreover, C does not intersect lab -1 Ga (s -1 a (γ 2 )), otherwise C would intersect lab -1 G (s -1 (γ 2 )) since if s a (i) = γ 2 , then s(i) = γ 2 , for all i ∈ [k]. Thus C is a connected component of CG(F a , E a 0 , s a ) and b C := {i ∈ s -1 a (γ 1 ) : C ∩ lab -1 Ga (i) = ∅} is a block of p a because (F a , E a 0 , (p a , w a )) is a candidate solution in A Ga [s a ].
Thus, by definition of proj, we have proj(s -1 (γ -2 ), {(p a , w a )}) = ∅, which contradicts the fact that (p, w) = acjoin(proj(s -1 (γ -2 ), {(p a , w a )}), proj(s -1 (γ -2 ), {(p b , w b )})). So, Condition (3) is also satisfied. We deduce that Condition (4) is satisfied by observing that, for i, j ∈ s -1 ({γ 1 , γ 2 }) ∪ {v 0 }, there is an i-vertex connected to a j-vertex in CG(F, E 0 , s) if and only if iRj where R is the transitive closure of (i ∼ a j or i ∼ b j). This concludes the proof that (F, E 0 , (p, w)) is a solution in A G [s].

Theorem 4.14.

There is an algorithm that, given an n-vertex graph G and an irredundant k-expression of G, computes a minimum feedback vertex set in time O(15

k • 2 (ω+1)•k • k O(1) • n).
Proof. We do a bottom-up traversal of the k-expression and at each step we update the tables as indicated above. The correctness of the algorithm follows from Lemmas 4.11-4.13. From the definition of A G [s], we conclude that the maximum weight of an induced forest is the maximum, over all s :

[k] → {γ 0 , γ 1 , γ 2 , γ -2 } with s -1 (γ 2 ) = ∅, of max{w : ({{v 0 } ∪ s -1 (γ 1 )}}, w) ∈ tab G [s]} because tab G [s] ac-represents A G [s] for all s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }.
Let us discuss the time complexity now. If G = add i,j (H) or G = ren i→j (H), and s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }, then we update tab G [s] from a constant number of tables from tab H , each identified in constant time from s. Since each table contains at most 2 k • (k + 1) entries, we call the function reduce acy with a set of size at most O(2 k • (k + 1)) as input. By Theorem 4.8 and Proposition 4.4, we can thus update tab G in time 1) . Therefore, we can compute the tables from tab G in time 1) . Now, observe that there are at most 15 k functions s, s a , s b : [k] → {γ 0 , γ 1 , γ 2 , γ -2 } such that s a and s b u-agree on s. Indeed, for all i ∈ [k], if s a and s b u-agree on s, then the tuple (s a (i), s b (i), s(i)) can take up to 15 values. See Table 4.1 for all the possible values. Table 4.1 -Possibles values of s(i) depending on the value of s a (i) and s b (i) when s a and s b u-agree on s, there are 15 possible values for the tuple (s a (i), s b (i), s(i)).

2 ω•k • k O(1) . If G = G a ⊕ G b , then we claim that the tables from tab G are computable in time O(15 k •2 (ω+1)•k •k O(1) ). For s : [k] → {γ 0 , γ 1 , γ 2 , γ -2 }, we let A[s] := sa,s b u-agree on s acjoin proj(s -1 (γ -2 ), tab Ga [s a ]) , proj(s -1 (γ -2 ), tab G b [s b ]) .

By Theorem 4.8, computing tab G [s] := reduce acy (rmc(A[s])) can be done in time |A

[s]| • 2 (ω-1)•(k+1) • k O(
s:[k]→{γ 0 ,γ 1 ,γ 2 ,γ -2 } |A[s]| • 2 (ω-1)•k • k O(
s b (i) = γ 0 s b (i) = γ 1 s b (i) = γ 2 s b (i) = γ -2 s a (i) = γ 0 γ 0 γ 1 γ 2 γ -2 s a (i) = γ 1 γ 1 γ 2 , γ -2 γ 2 γ -2 s a (i) = γ 2 γ 2 γ 2 γ 2 forbidden s a (i) = γ -2 γ -2 γ -2 forbidden γ -2
Because each table of tab Ga and tab G b contains at most 2 k • (k + 1) values, by Proposition 4.4, we have

|acjoin proj(s -1 (γ -2 ), tab Ga [s a ]) , proj(s -1 (γ -2 ), tab G b [s b ]) | ≤ 2 2k • k 3 .

It follows that

s:[k]→{γ 0 ,γ 1 ,γ 2 ,γ -2 } |A[s]| ≤ 15 k • 2 2k • k 3 . Hence, we can conclude that the tables from tab G can be computed in time O(15 k • 2 (ω+1)•k • k O(1) ).
Because the size of a k-expression is O(n • k 2 ), we can conclude that a minimum weighted feedback vertex set can be computed in the given time.

Connected variants of (σ, ρ)-Dominating Set problems

We will show here how to use the operators defined in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] in order to obtain a 2 O(d•k) • n time algorithm for computing a minimum or a maximum weighted connected (σ, ρ)-dominating set, given a k-expression, with d a constant that depends only on (σ, ρ). We deduce from this algorithm a 2 O(k) • n O(1) time algorithm for computing a minimum node-weighted Steiner tree, and 1) time algorithm for computing a maximum (or minimum) weighted connected co-(σ, ρ)-dominating set.

a 2 O(d•k) • n O(
We let opt ∈ {min, max}, i.e., we are interested in computing a connected (σ, ρ)-dominating set of maximum (or minimum) weight if opt = max (or opt = min). Let us first give some definitions. As defined in Section 4.1.1, rmc works only for the case opt = max, we redefine it as follows in order to take into account minimization problems.

rmc(A) := {(p, w) ∈ A : ∀(p, w ) ∈ A, opt(w, w ) = w}.
2-dominate V (H), we need to know for each vertex x in V (H) how many neighbors it needs in addition to be 2-dominated . For doing so, we associate D H with a sequence R := (r 1 , . . . , r k ) over {0, 1, 2} k such that, for each i ∈ [k], every vertex in lab -1 H (i) has at least 2 -r i neighbors in D H . For example, if r i = 1, then every i-vertex has at least one neighbor in D H . Notice that D H can be associated with several such sequences. This sequence is enough to characterize what we need to 2-dominate V (H) since the vertices with the same label in H have the same neighbors in the graph (V (G), E(G) \ E(H)) and each vertex needs at most 2 additional neighbors to be 2-dominated.

In order to update the sequence R := (r 1 , . . . , r k ) associated with a set D H , we associate with D H another sequence R := (r 1 , . . . , r k ) over {0, 1, 2} k such that r i corresponds to the minimum between 2 and the number of i-vertices in D H , for each i ∈ [k]. This way, when we apply an operation add i,j on H, we know that every i-vertex has at least 2 -r i + r j neighbors in D H in the graph add i,j (H). For example, if r j = 1 and every i-vertex has at least one neighbor in H that belongs to D H , then we know that every i-vertex is 2-dominated by D H in the graph add i,j (H).

Let (σ, ρ) be a fixed pair of non-empty finite or co-finite subsets of N. Let's first show how to compute an optimum connected (σ, ρ)-dominating set. We consider node-weighted Steiner tree and connected co-(σ, ρ)-dominating set at the end of the section. Let d := max{d(σ), d(ρ)}.

The following definitions formalize the intuitions we give for 2-dominating set to the (σ, ρ)domination.

Definition 4.20 (Certificate graph of a solution). Let G be a k-labeled graph, and

R := (r 1 , . . . , r k ) ∈ {0, . . . , d} k . Let V + := {v 1 1 , . . . , v 1 d , v 2 1 , . . . , v 2 d , . . . , v k 1 , . . . , v k d } be a set disjoint from V (G) and of size d • k. Let V + (R ) := V + 1 (R ) ∪ • • • ∪ V + k (R ) with V + i (R ) := ∅ if r i = 0, {v i 1 , . . . , v i r i } otherwise.
The certificate graph of G with respect to R , denoted by CG(G, R ), is the graph

(V (G) ∪ V + (R ), E(G) ∪ E + 1 ∪ • • • ∪ E + k ) with E + i = {{v, v i t } : v i t ∈ V + i (R ) ∧ v ∈ lab -1 G (i)}.
It is worth noticing that

E + i is empty if lab -1 G (i) = ∅ or V + i (R ) = ∅. Definition 4.21. Let G be a k-labeled graph. For each D ⊆ V (G) and i ∈ [k], let r d i,G (D) := min(d, |lab -1 G (i) ∩ D|) and let r d G (D) := (r d 1,G (D), . . . , r d k,G (D)).
The sequence r d G (D) describes how each label class is intersected by D up to d vertices. Moreover, notice that

|{r d G (D) : D ⊆ V (G)}| ≤ |{0, . . . , d} k | ≤ (d + 1) k .
The motivation behind these two sequences is that, in order to computing an optimum (σ, ρ)dominating set, it is enough to compute, for any k labeled graph H used in an irredundant kexpression of a graph G and for each R, R ∈ {0, . . . , d} k , the optimum weight of a set

D ⊆ V (H) such that • r H (D) = R, • D ∪ V + (R ) (σ, ρ)-dominates V (H) in the graph CG(H, R ).
It is worth noticing that the sequences r d H (D) and R are similar to the notion of d-neighbor equivalence introduced in [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF].

We can assume w.l.o.g. that d = 0, that is σ = N or ρ = N. Indeed, if σ = ρ = N, then the problem of finding a minimum (or maximum) weighted (co-)connected (σ, ρ)-dominating set is trivial. For computing an optimum connected (σ, ρ)-dominating set, we will as in Section 4.1.2 keep partitions of a subset of labels corresponding to the connected components of the sets D (that are candidates for the (σ, ρ)-domination). As d = 0, we know through r H (D) the label classes intersected by D. Moreover, we know through R = (r 1 , . . . , r k ) whether the i-vertices in such a D will have a neighbor in any extension D of D into a (σ, ρ)-dominating set. It is enough to keep the partition of the labels i with r i,H (D) = 0 and r i = 0 that corresponds to the equivalence classes of the equivalence relation ∼ on {i ∈ [k] : r i = 0 and r i = 0} where i ∼ j if and only if an i-vertex is connected to a

j-vertex in CG(G, R )[D ∪ V + ].
We use the following definition to simplify the notations.

Definition 4.22. For R = (r 1 , . . . , r k ), R = (r 1 , . . . , r k ) ∈ {0, . . . , d} k , we define active(R, R ) = {i ∈ [k] : r i = 0 and r i = 0}.
We are now ready to define the sets of weighted partitions whose representative sets we manipulate in our dynamic programming tables.

Definition 4.23 (Weighted partitions in D G [R, R ]).
Let G be a k-labeled graph, and R, R ∈ {0, . . . , d} k . The entries of D G [R, R ] are all the weighted partitions (p, w) ∈ Π(active(R, R ))×N so that there exists a set D ⊆ V (G) such that w(D) = w, and

1. r d G (D) = R, 2. D ∪ V + (R ) (σ, ρ)-dominates V (G) in CG(G, R ), 3. if active(R, R ) = ∅, then G[D] is connected, otherwise for each connected component C of G[D], we have C ∩ lab -1 G (active(R, R )) = ∅, 4. p = active(R, R )/ ∼ where i ∼ j if and only if an i-vertex is connected to a j-vertex in CG(G, R )[D ∪ V + (R )].
Conditions (1) and (2) guarantee that (p, w) corresponds to a set D that is coherent with R and R . Condition [START_REF] Arnborg | Easy problems for tree-decomposable graphs[END_REF] guarantees that each partial solution can be extended into a connected graph. Contrary to Section 4.1.2, the set of labels expected to play a role in the connectivity (i.e. active(R, R )) can be empty. In this case, we have to make sure that the weighted partitions represent connected solutions. It is worth mentioning that G[∅], i.e. the empty graph, is considered as a connected graph. Observe that for each (p, w) ∈ D G [R, R ], the partition p has the same meaning as in Section 4.1.2. It is worth noticing that ∼ is an equivalence relation because if i ∈ active(R, R ), then all the vertices in lab -1

G (i) are connected in CG(G, R ) through the vertices in V + i (R ).
In fact, the relation ∼ is equivalent to the transitive closure of the relation where i j if there exist an i-vertex and a j-vertex in the same connected component of G[D].

In the sequel, we call a pair (D, (p,

w(D))) a candidate solution in D G [R, R ] if the partition p = active(R, R )/ ∼ where i ∼ j if and only if an i-vertex is connected to a j-vertex in CG(G, R )[D ∪ V + (R )]. If in addition Conditions (1)-(3) are satisfied, we call (D, (p, w(D))) a solution in D G [R, R ].
It is straightforward to check that the weight of an optimum solution is the optimum over all R ∈ {0, . . . , d} k of opt{w :

(∅, w) ∈ D G [R, {0} k ]} for a k-labeled graph G.
Analogously to Section 4.1.2 our dynamic programming algorithm will store a subset of

D G [R, R ] of size 2 k-1 that represents D G [R, R ].
Recall that we suppose that any graph is given with an irredundant k-expression. 1) is trivially satisfied. We deduce from the definition of S that Condition (2) is satisfied. We claim that Condition (3) is satisfied. If R = {0} k-1 , then we have S = {0} k and Condition (3) is satisfied because

• in Case (b), we have D G [R, R ] ⊆ A if we let tab H [S, S ] = D H [S,
(D) ∈ S. Indeed, r j,G (D) = min(d, |D ∩ lab -1 G (j)|) equals min(d, r d j,H (D) + r d k,H (D)) because lab -1 G (j) = lab -1 H ({j, k}). Let p ∈ Π(active(r d H (D), S )) such that (D, (p , w)) is a candidate solution in D H [r d H (D), R ]. We claim that (D, (p , w)) is a solution in D H [r d H (D), R ]. Condition (
H[D] = G[D] must be connected since (D, (p, w)) is a solution in D G [R, R ]. Otherwise, every connected component C of G[D] = H[D] intersects lab -1 G (active(R, R )). Let C be a connected component of H[D]. If C contains a vertex labeled in G with ∈ active(R, R ) \ {j}, then by definition of S , we have ∈ active(r d H (D), S ). Suppose now, C contains a vertex v in lab -1 G (j) and j ∈ active(R, R ). If v is labeled k in H, then r d k,H (D) = 0 and thus k belongs to active(r d H (D), S ) because s k = r j = 0. Symmetrically, if v is labeled j in H, then j ∈ active(r d H (D), S ). In both cases, C intersects lab -1 H (active(r d H (D), S )). We can conclude that Condition (3) is satisfied. Hence, (D, (p , w)) is a solution in D H [r d H (D), R ].
If r j = 0 or r j = 0 (Case (a)), then active(S, S ) = active(R, R ). Consequently, it is easy to see that p = p f (3) and thus (p, w) ∈ tab H [S, S ].

Assume now that r j = 0 and

r j = 0 (Case (b)). Let D k := D ∩ lab -1 H (k) and D j := D ∩ lab -1 H (j). Observe that the graph CG(G, R )[D ∪ V + (R )] can be obtained from the graph CG(H, S )[D ∪ V + (S )] by removing the vertices in V + k (R )
and by adding the edges between V + j (R ) and D k . Hence, p is obtained from p by merging the blocks containing j and k, and by removing k. Thus, we can conclude that (p, w) ∈ A. G (j) = lab -1 H ({j, k}). If r j = 0 or r j = 0, then active(S, S ) = active(R, R ). Consequently, we deduce that p = p and that (D, (p, w)) satisfies Condition (4). Otherwise, we deduce from the previous observations concerning the differences between CG(G, R )[D ∪ V + (R )] and CG(H, S )[D ∪ V + (S )], that (D, (p, w)) satisfies Condition (4). In both cases, we can conclude that

(D, (p, w)) is a solution in D G [R, R ]. Computing tab G for G = add i,j (H). We suppose w.l.o.g. that H is k-labeled. Let R := (r 1 , . . . , r k ) ∈ {0, . . . , d} k , R := (r 1 , . . . , r k ) ∈ {0, . . . , d} k .
Let S := (s 1 , . . . , s k ) ∈ {0, . . . , d} k such that s i := min(d, r i + r j ), s j := min(d, r j + r i ), and s := r for all ∈ [k] \ {i, j}. It is easy to see that S is the only tuple compatible with R and Condition [START_REF] Alon | Color-coding[END_REF].

(a) If active(R, R ) = ∅, then we let tab G [R, R ] := rmc {(∅, w) : (p, w) ∈ tab H [R, S ]} .
In this case, the partial solutions in tab G [R, R ] are associated with connected solutions by Condition (3). The partial solutions in tab H [R, S ] trivially satisfy this condition in G.

Notice that tab G [R, R ] represents D G [R, R ] because the function f : 2 Π(active(R,R ))×N → 2 {∅}×N with f (A) := {(∅, w) : (p, w) ∈ A} preserves representation. (b) If r i = 0 or r j = 0, we let tab G [R, R ] := tab H [R, S ].
We just copy all the solutions not intersecting lab -1 G (i) or lab -1 G (j). In this case, the connectivity of the solutions is not affected by the add i,j operation.

(c) Otherwise, we let tab G [R, R ] := rmc(A), where

A := proj({t ∈ {i, j} : r t = 0}, join(tab H [R, S ], {({{i, j}}, 0)})).
In this last case, we have i, j ∈ active(R, S ). We put in tab G [R, R ], the weighted partitions of tab H [R, S ] after merging the blocks containing i and j, and removing i or j if, respectively, r i = 0 and r j = 0, i.e., if they don't belong, respectively, to active(R, R ).

It is worth noticing that if |tab H [R, S ]| ≤ 2 k-1 , then we have |tab G [R, R ]| ≤ 2 k-1
. Thus, we do not have to use the function reduce to compute tab G . Lemma 4.25. Let G = add i,j (H) be a k-labeled graph such that there are no edges between an i-vertex and a j-vertex in H. For all tuples R := (r 1 , . . . , r k ),

R := (r 1 , . . . , r k ) ∈ {0, . . . , d} k , the table tab G [R, R ] is a representative set of D G [R, R ] assuming that tab H [R, S ] is a representative set of D H [R, S ].
Proof. Since the used operators preserve representation, it is enough to prove that every weighted partition added to tab

G [R, R ] belongs to D G [R, R ], and that • in Case (a), we have D G [R, R ] ⊆ {(∅, w) : (p, w) ∈ D H [R, S ]}, • in Case (b), we have D G [R, R ] ⊆ D H [R, S ],
and

• in Case (c), we have D G [R, R ] ⊆ A if we let tab H [R, S ] = D H [R, S ]. Let (D, (p, w)) be a solution in D G [R, R ]. Let p ∈ Π(active(R, S )) such that (D, (p , w)) is a candidate solution in D H [R, S ]. We claim that (D, (p , w)) is a solution in D H [R, S ]. Condition (1) is trivially satisfied because lab G (v) = lab H (v) for all v ∈ V (G). We claim that Condition (2) is satisfied, that is D ∪ V + (S ) (σ, ρ) dominates V (H) in CG(H, S ). It is quite easy to see that D ∪ V + (S ) (σ, ρ) dominates V (H) \ lab -1 H ({i, j}). Let v ∈ lab -1 H (i).
We claim that v is (σ, ρ) dominated by D ∪ V + (S ). Because we assume that there are no edges between an i-vertex and a j-vertex in H, we have

|N G (v) ∩ D| = |N H (v) ∩ D| + |D ∩ lab -1 G (j)|. Since D ∪ V + (R ) (σ, ρ)-dominates V (G), if v ∈ D, then |N G (v) ∩ D| + r i ∈ σ, otherwise, |N G (v) ∩ D| + r i ∈ ρ. By Fact 4.19, we conclude that min(d, |N H (v) ∩ D| + |D ∩ lab -1 G (j)| + r i ) belongs to σ if v ∈ D, otherwise it belongs to ρ. As min(d, r i + |D ∩ lab -1 G (j)|) = min(d, r i + r j ) = s i , we deduce that D ∪ V + (S ) (σ, ρ) dominates v. Thus, every i-vertex is (σ, ρ)-dominated by D ∪ V + (S ) in CG(H, S )
. Symmetrically, we deduce that every j-vertex is (σ, ρ)-dominated by D ∪ V + (S ) in CG(H, S ). Hence, Condition (2) is satisfied.

In order to prove that Condition (3) is satisfied, we distinguish the following cases. First, suppose that active

(R, R ) = ∅. By Condition (3), G[D] is connected. As G = add i,j (H), the graph H[D] is obtained from G[D]
by removing all edges between the i-vertices and the jvertices. We deduce that either H[D] is connected (if r i = 0 or r j = 0), or that every connected component of H[D] contains at least one vertex whose label is i or j (otherwise G[D] would not be connected). In both cases, Condition (3) is satisfied.

We now prove that every weighted partition in

A belongs to D G [R, R ]. Let (p, w) be a weighted partition added to tab G [R, R ] from a solution (D a , (p a , w a )) in D Ga [A, R ] and a solu- tion (D b , (p b , w b )) in D G b [B, R ]. We claim that (D a ∪ D b , (p a↑L p b↑L , w a + w b )) is a solution in D G [R, R ] with L = active(R, R ). We deduce that Condition (1) is satisfied from the definition of R-compatibility and because min(d, |lab -1 G (i) ∩ D|) = min(d, r d Ga (D a ) + r d G b (D b )) for all i ∈ [k].
With the same arguments given previously, one easily deduces that Conditions (2)-( 4) are also satisfied. We conclude that

(D a ∪ D b , (p a↑L p b↑L , w a + w b )) is a solution in D G [R, R ].
Theorem 4.27. There is an algorithm that, given an n-vertex graph G and an irredundant kexpression of G, computes a maximum (or a minimum) connected (σ, ρ)-dominating set in time

(d + 1) 3k • 2 (ω+1)•k • k O(1) • n with d := max(d(σ), d(ρ)).
Proof. We do a bottom-up traversal of the k-expression and at each step we update the tables as indicated above. The correctness of the algorithm follows from Lemmas 4.24-4.26. From the definition of D G [R, R ], we deduce that the weight of an optimum connected (σ, ρ)-dominating set corresponds to the optimum over all R ∈ {0, . . . , d} k of opt{w

: (∅, w) ∈ tab G [R, {0} k ]} because tab G [R, {0} k ] represents D G [R, {0} k ].
Let us discuss the time complexity now. We claim that the tables of tab G can be computed in time 1) . We distinguish the following cases:

(d + 1) 3k • 2 (ω+1)•k • k O(
• If G = 1(x), then it is easy to see that tab G is computable in time O(d). • If G = add i,j (H), then we update tab G [R, R ] from one entry tab H [R, S ] for some fixed S computable in constant time. The used join operation runs in time 2 k-1 • k O(1) (from Proposition 4.15). Thus, tab G is computable in time (d + 1) 2k • 2 k-1 • k O(1) . • Now, if G = ren i→j (H), then we update tab G [R, R ] from at most |S| = (d + 1) 2 tables from tab H , each identified in constant time from (R, R ).
Since each table of tab H contains at most 2 k-1 entries, computing the call at the function reduce take 1) . Thus, we can compute tab G in time 1) .

(d + 1) 2 • 2 ω•k • k O(
(d + 1) 2k+2 • 2 ω•k • k O(
• If G = G a ⊕ G b , then the bottleneck is when R = {0} k . Indeed, if R = {0} k , then tab G [R, R ] can be computed in time O(2 ω•k ) since tab G [R, R ] is computed from two tables, each containing at most 2 k-1 entries. Let R = {0} k . By Theorem 4.18, we can compute the set of tables tab G [R, R ] with R ∈ {0, 1, . . . , d} k } in time R∈{0,...,d} k     (A,B) is R-compatible |join(tab Ga [A, R ], tab G b [B, R ])| • 2 (ω-1)•k • k O(1)     .
Observe that for all A, B ∈ {0, . . . , d} k : 1. There is only one R ∈ {0, . . . , d} k such that (A, B) is R-compatible. This follows from the definition of R-compatibility. Hence, there are at most 1) and this set can be computed in time

(d + 1) 2k tuples (A, B, R) such that (A, B) is R-compatible.

From Proposition 4.15, the size of |join(tab

Ga [A, R ], tab G b [B, R ])| is bounded by 2 2(k-
2 2(k-1) • k O(1) . Since 2 2(k-1) • 2 (ω-1)•k ≤ 2 (ω+1)
•k , we conclude from the observations (1)-( 2) above that we can compute the tables tab G [R, R ], for every 1) .

{0} k = R ∈ {0, 1, . . . , d} k , in time (d + 1) 2k • 2 (ω+1)•k • k O(
Hence, we can update tab G in time 1) .

(d + 1) 3k • 2 (ω+1)•k • k O(
Therefore, in the worst case, the tables of tab G takes (d+1 1) time to be computed. Because the size of a k-expression is O(n • k 2 ), we can conclude that a maximum (or minimum) weighted (σ, ρ)-dominating set can be computed in the given time.

) 3k •2 (ω+1)•k •k O(
As a consequence of Theorem 4.27, we have the following corollary.

Corollary 4.28. There is an algorithm that, given an n-vertex graph G, a subset K ⊆ V (G) and an irredundant k-expression of G, computes a minimum node-weighted Steiner tree for (G, K)

in time 2 (ω+4)•k • k O(1) • n.
Proof. We can assume w.l.o.g. that |K| ≥ 2. We can reduce the problem Node-weighted Steiner Tree to a variant of a (σ, ρ)-Dominating Set problem where σ = N + and ρ = N. This variant requires K to be included in the (σ, ρ)-dominating set. We can add this constraint, by modifying how we compute the table tab G , when G = 1(x) and x ∈ K. For (r 1 ), (r 1 ) ∈ {0, 1}, we let

tab G [R, R ] := {({{1}}, w(x))} if r 1 = 1 and r 1 = 1, ∅ otherwise.
It is straightforward to check that this modification implements this constraint and our algorithm with this modification computes a minimum node-weighted Steiner tree. The running time follows from the running time of Theorem 4.27 with d = 1.

More modifications are needed in order to compute a maximum (or minimum) weighted connected co-(σ, ρ)-dominating set.

Corollary 4.29.

There is an algorithm that, given an n-vertex graph G and an irredundant kexpression of G, computes a maximum (or minimum) weighted co-(σ, ρ)-dominating set in time

(d + 2) 3k • 2 (ω+1)•k • k O(1) • n.
Proof. First, we need to modify the definition of the tables D G . Let H be a k-labeled graph, R, R ∈ {0, . . . , d} k , and R, R ∈ {0, 1} k . The entries of D H [R, R , R, R ] are all the weighted partitions (p, w) ∈ Π(active(R, R ))×N such that there exists a set X ⊆ V (G) so that w = w(X) and

1. r d H (V (H) \ X) = R and r 1 H (X) = R, 2. (V (H) \ X) ∪ V + (R ) (σ, ρ)-dominates V (H) in CG(H, R ), 3. if active(R, R ) = ∅, then H[X] is connected, otherwise every connected component of H[X] intersects lab -1 H (active(R, R )), 4. p = active(R, R )/ ∼ where i ∼ j if and only if an i-vertex is connected to a j-vertex in CG(H, R )[X ∪ V + (R )].
As a solution is a set X such that V (G) \ X is a (σ, ρ)-dominating set and G[X] is a connected graph, we need information about X ∩ V (H) and (V (H) \ X). Intuitively, R, R are the information we need to guarantee the (σ, ρ)-domination, and R, R are the information we need to guarantee the connectedness. In particular, R specifies which label classes are intersected and R tells which label classes are expected to have at least one additional neighbor in the future. These modifications imply in particular to change the notion of R-compatibility. For each t ∈ {a, b, c}, let R t = (r t 1 , . . . , r t k ) ∈ {0, . . . , d} k , and

R t = (r t 1 , . . . , r t k ) ∈ {0, 1} k , we say that (R a , R a , R b , R b ) is (R c , R c )-compatible if for all i ∈ [k], we have r c i = min(d, r a i + r b i ) and r c i = min(1, r a i + r b i ).
It is now an exercise to modify the algorithm of Theorem 4.27 in order to update the tables tab H through the different clique-width operations. The weight of an optimum solution corresponds to the optimum over all R ∈ {0, . .

. , d} k , R ∈ {0, 1} k of opt{w : (∅, w) ∈ tab G [R, {0} k , R, {0} k ]}, since tab G [R, {0} k , R, {0} k ] represents D G [R, {0} k , R, {0} k ].
Let us discuss the time complexity now. Let H be a k-labeled graph that is used in the k-expression of G. First, observe that we do not need to compute tab H [R, R , R, R ] for all R, R ∈ {0, . . . , d} k , and R, R ∈ {0, 1} k . Indeed, for all X ⊆ V (H) and i ∈ [k], if we have

r d i,H (V (H) \ X) < d, then r 1 i,H (X) = 0 if |lab -1 H (i)| = r d i,H (V (H) \ X), 1 otherwise.
Hence, we deduce that there are at most

(d + 2) k pairs (R, R) ∈ {0, . . . , d} k × {0, 1} k such that R = r d H (V (H) \ X) and R = r 1 H (X)
for some X ⊆ V (H). Indeed, whenever r d i,H (V (H) \ X) < d, there is only one possible value for r 1 i,H (X), and when r d i,H (V (H) \ X) = d, there are at most 2 possible values for r 1 i,H (X). With the same arguments used to prove the running time of Theorem 4.27, one easily deduces that there are at most

(d + 2) 2k tuples (R a , R a , R b , R b , R c , R c ) such that (R a , R a , R b , R b ) is (R c , R c )-compatible.
Moreover, it is sufficient to consider

(d + 2) k pairs (R , R ) ∈ {0, . . . , d} k × {0, 1} k when we update tab H . For every i ∈ [k], we let c i H := |N G (lab -1 H (i)) \ N H (lab -1 H (i))|. Notice that for every vertex v ∈ lab -1 H (i), we have |N G (v)| = |N H (v)| + c i H .
Informally, we cannot expect more than c i H neighbors in the future for the i-vertices of H. Hence, it is enough to consider the pairs

(R , R ) ∈ {0, . . . , d} k × {0, 1} k , with R = (r 1 , . . . , r k ) and R = (r 1 , . . . , r k ), such that for all i ∈ [k], if r i < d, then r i = 0 if r i ≥ c H i , 1 otherwise.
That is, for every i ∈ [k], if r i < d, then there is one possible value for r i because if we expect r i < d neighbors for the i-vertices in V (H) \ X, then we must expect min(0, c i H -r i ) neighbors for the i-vertices in X. If r i = d, then there are no restrictions on the value of r i . Thus, the pairs (r i , r i ) can take up to (d + 2) values. We conclude that there are at most (d + 2) k pairs (R , R ) ∈ {0, . . . , d} k × {0, 1} k worth to looking at. With these observations and the arguments used in the running time proof of Theorem 4.27, we conclude that we can compute a maximum (or minimum) weighted co-(σ, ρ)-dominating set in the given time.

The d-neighbor equivalence versus acyclicity and connectivity constraints

In this section, we design a framework based on the 1-neighbor equivalence (see Definition 1.1) and using some ideas of the rank-based approach of [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] to design efficient algorithms for many problems involving a connectivity constraint. This framework provides tools to reduce the size of the set of partial solutions we compute at each step of a dynamic programming algorithm. We prove that many ad-hoc algorithms for these problems can be unified into a single algorithm that is almost the same as the one from [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] computing a dominating set.

In Subsection 4.2.3, we use our framework to design an algorithm that, given a rooted layout L, solves any Connected (σ, ρ)-Dominating Set problem. This includes some wellknown problems such as Connected Dominating Set, Connected Vertex Cover or Node Weighted Steiner Tree. The running time of our algorithm is polynomial in n and s-nec d (L), with d a constant that depends on σ and ρ. Consequently, each Connected (σ, ρ)-Dominating Set problem admits algorithms with the running times given in Table 4.2. Table 4.2 -Running times of our algorithms for the different parameters, where n is the number of vertices of the given graph.

Clique-width Rank-width Q-rank-width Mim-width

2 O(k) • n O(1) 2 O(k 2 ) • n O(1) 2 O(k log(k)) • n O(1) n O(k)
In Subsection 4.2.4, we introduce some new concepts to deal with acyclicity. We use these concepts to deal with the AC-(σ, ρ)-Dominating Set problems. Both Maximum Induced Tree and Longest Induced Path are the AC variants of (σ, ρ)-Dominating Set problems. We prove that there exist algorithms that solve these AC variants in the running times given in Table 4.2. To obtain these results, we rely heavily on the d-neighbor equivalence. However, we were not able to provide an algorithm whose running time is polynomial in n and s-nec d (L) for some constant d. Instead, we provide an algorithm whose behavior depends slightly on each width measure considered in Table 4.2.

We moreover prove that we can modify slightly this algorithm to solve any Acyclic (σ, ρ)-Dominating Set problem. In particular, this shows that we can use the algorithm for Maximum Induced Tree to solve the Feedback Vertex Set problem.

Our approach

Let us explain our approach with the connected and AC variants of the Dominating Set problem. To solve these problems, our algorithms do a bottom-up traversal of a given layout L of the input graph G and at each step we compute a set of partial solutions. In our case, the steps of our algorithms are associated with the vertex bipartitions (A, A) induced by the edges of a layout and the partial solutions are subsets of A. At each step, our algorithms compute, for each pair (R, R ) where R (resp. R ) is a 1-neighbor equivalence class of A (resp. A), a set of partial solutions A R,R ⊆ R. The way we compute these sets guarantees that the partial solutions in A R,R will be completed with sets in R . Consequently, we have information about how we will complete our partial solutions since every Y ∈ R has the same neighborhood in A.

To deal with the local constraint of these problems, namely the domination constraint, we use the ideas of Bui-Xuan et al. [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF]. For each pair (R, R ), let us say that

X ⊆ A is coherent with (R, R ) if: (1) X ∈ R and (2) X ∪ Y dominates A in the graph G for every Y ∈ R .
To compute a minimum dominating set, Bui-Xuan et al. proved that it is enough to keep, for each pair (R, R ), a partial solution X of minimum weight that is coherent with (R, R ). Intuitively, if a partial solution X that is coherent with (R, R ) could be completed into a dominating set of G, then it is the case for every partial solution coherent with (R, R ). This is due to the fact that any pair of sets in R (resp. R ) dominate the same vertices in A (resp. A).

To solve the connectivity variant, we compute, for each (R, R ), a set A R,R of partial solutions coherent with (R, R ). Informally, A R,R has to be as small as possible, but if a partial solution coherent with (R, R ) leads to a minimum connected dominating set, then A R,R must contain such a partial solution. To deal with this intuition, we introduce the relation of R -representativity between sets of partial solutions. We say that A R -represents a set A, if, for all sets Y ∈ R , we have best(A, Y ) = best(A , Y ) where best(B, Y ) is the minimum weight of a set X ∈ B such that G[X ∪ Y ] is connected. The main tool of our framework is a function reduce that, given a set of partial solutions A and a 1-neighbor equivalence class R of A, outputs a subset of A that R -represents A and whose size is upper bounded by s-nec 1 (L) 2 . To design this function, we use ideas from the rank-based approach of [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF]. That is, we define a small matrix C with |A| rows and s-nec 1 (L) 2 columns. Then, we show that a basis of maximum weight of the row space of C corresponds to an R -representative set of A. Since A has s-nec 1 (L) 2 columns, the size of a basis of A is smaller than s-nec 1 (L) 2 . By calling reduce after each computational step, we keep the sizes of the sets of partial solutions polynomial in s-nec 1 (L). Besides, the definition of R -representativity guarantees that the set of partial solutions computed for the root of L contains a minimum connected dominating set.

For the AC variant of dominating set, we need more information in order to deal with the acyclicity. We obtain this extra information by considering that R (resp. R ) is a 2-neighbor equivalence class over A (resp. A). This way, for all sets X ⊆ A, the vertices in X that have at least 2 neighbors in R , have at least 2 neighbors in Y , for all Y ∈ R . These vertices play a major role in the acyclicity constraint because they may create cycles when X is joined with a partial solution Y in A; and thus they are important in our algorithm. We need also a new notion of representativity. We say that A R -ac-represents a set A, if, for all sets Y ∈ R , we have best acy (A, Y ) = best acy (A , Y ) where best acy (B, Y ) is the minimum weight of a set X ∈ B such that G[X ∪ Y ] is a tree. As for the R -representativity, we provide a function that, given a set of partial solutions A and a 2-neighbor equivalence class R of A, outputs a small subset A of A that R -ac-represents A. Unfortunately, we were not able to upper bound the size of A by a polynomial in n and s-nec d (L) (for some constant d). Instead, we prove that, for clique-width, rank-width, Q-rank-width, and mim-width, the size of A can be upper bounded by, respectively,

2 O(k) • n, 2 O(k 2 ) • n, 2 O(k log(k))
• n, and n O(k) . The key to compute A is to decompose A into a small number of sets A 1 . . . , A , said R -consistent, where the notion of R -ac-representativity matches the notion of R -representativity. More precisely, any R -representative set of an Rconsistent set A is also an R -ac-representative set of A. To compute an R -ac-representative set of A it is then enough to compute an R -representative set for each R -consistent set in the decomposition of A. The union of these R -representative sets is an R -ac-representative set of A. Besides the notion of representativity, the algorithm for the AC variant of Dominating Set is very similar to the one for finding a minimum connected dominating set.

As explained for clique-width in Section 4.1, we can not use the same trick as in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] to ensure the acyclicity, that is counting the number of edges induced by the partial solutions. Indeed, we would need to differentiate at least n k partial solutions (for any parameter k considered in Table 4.2) in order to update this information. We give more explanation on this statement at the beginning of Subsection 4.2.4.

Preliminaries

A consistent cut of X is an ordered bipartition (X 1 , X 2 ) of X such that N (X 1 ) ∩ X 2 = ∅. We denote by cuts(X) the set of all consistent cuts of X. In our proofs, we use the following facts.

4.30. Let X ⊆ V (G). For every C ∈ cc(G[X]) and every (X 1 , X 2 ) ∈ cuts(X), we have either C ⊆ X 1 or C ⊆ X 2 .
We deduce from the above fact that |cuts(X)| = 2 |cc(G[X])| . Fact 4.31. Let X and Y be two disjoint subsets of V (G). We have (W 1 , W 2 ) ∈ cuts(X ∪ Y ) if and only if the following conditions are satisfied

1. (W 1 ∩ X, W 2 ∩ X) ∈ cuts(X), 2. (W 1 ∩ Y, W 2 ∩ Y ) ∈ cuts(Y ), and 3. N (W 1 ∩ X) ∩ (W 2 ∩ Y ) = ∅ and N (W 2 ∩ X) ∩ (W 1 ∩ Y ) = ∅.
We refer to Section 1.3 for a definition of the d-neighbor equivalence relation. The following fact follows directly from the definition of the d-neighbor equivalence relation. We use it several times in our proofs.

+ . For all X, Y ⊆ A, if X ≡ d A Y , then X ≡ d B Y .
In order to manipulate the equivalence classes of ≡ d A , one needs to compute a representative for each equivalence class in polynomial time. This is achieved with the following notion of a representative. Let G be a graph with an arbitrary ordering of V (G) and let A ⊆ V (G). In the following, we fix G an n-vertex graph, (T, δ) a rooted layout of G, and w : V (G) → Q a weight function over the vertices of G. We also assume that V (G) is ordered.

Representative sets

In this section, we define a notion of representativity between sets of partial solutions w.r.t. the connectivity. Our notion of representativity is defined w.r.t. some node x of T and the 1-neighbor equivalence class of some set R ⊆ V x . In our algorithms, R will always belong to R d Vx for some d ∈ N + . Our algorithms compute a set of partial solutions for each R ∈ R d Vx . The partial solutions computed for R will be completed with sets equivalent to R w.r.t. ≡ d Vx . Intuitively, the R 's represent some expectation about how we will complete our sets of partial solutions. For the connectivity and the domination, d = 1 is enough but if we need more information for some reasons (for example the (σ, ρ)-domination or the acyclicity), we may take d > 1. This is not a problem as the d-neighbor equivalence class of R is included in the 1-neighbor equivalence class of R . Hence, in this section, we fix a node x of T and a set R ⊆ V x to avoid to overload the statements by the sentence "let x be a node of T and R ⊆ V x ". We let opt ∈ {min, max}; if we want to solve a maximization (or minimization) problem, we use opt = max (or opt = min). We use it also, as here, in the next sections.

Definition 4.34 ((x, R )-representativity). For every A ⊆ 2 V (G) and Y ⊆ V (G), we define best(A, Y ) := opt{w(X) : X ∈ A and G[X ∪ Y ] is connected }. Let A, B ⊆ 2 Vx . We say that B (x, R )-represents A if, for every Y ⊆ V x such that Y ≡ 1 Vx R , we have best(A, Y ) = best(B, Y ).
Notice that the (x, R )-representativity is an equivalence relation. The set A is meant to represent a set of partial solutions of G[V x ] which have been computed. We expect to complete these partial solutions with partial solutions of G[V x ] which are equivalent to R w.r.t. ≡ 1

Vx . If B (x, R )-represents A, then we can safely substitute B to A because the quality of the output of the dynamic programming algorithm will remain the same. Indeed, for every subset Y of V x such that Y ≡ 1 Vx R , the optimum solutions obtained by the union of a partial solution in A and Y will have the same weight as the optimum solution obtained from the union of a set in B and Y .

The following theorem presents the main tool of our framework: a function reduce that, given a set of partial solutions A, outputs a subset of A that (x, R )-represents A and whose size is upper bounded by s-nec 1 (L) 2 . To design this function, we use ideas from the rank-based approach of [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF]. That is, we define a small matrix C with |A| rows and s-nec 1 (V x ) 2 columns. Then, we show that a basis of maximum weight of the row space of C corresponds to an (x, R )representative set of A. Since A has s-nec 1 (L) 2 columns, the size of a basis of A is smaller than s-nec 1 (L) 2 .

In order to compute a small (x, R )-representative set of a set A ⊆ 2 Vx , the following theorem requires that the sets in A are pairwise equivalent w.r.t. ≡ 1

Vx . This is useful since in our algorithm we classify our sets of partial solutions with respect to this property. We need this to guarantee that the partial solutions computed for R will be completed with sets equivalent to R w.r.t.

≡ d

Vx . However, if one wants to compute a small (x, R )-representative set of a set A that does not respect this property, then it is enough to compute an (x, R )-representative set for each 1-neighbor equivalence class of A. The union of these (x, R )-representative sets is an (x, R )representative set of A. Vx . Then, there exists an algorithm reduce that, given

A ⊆ 2 Vx such that X ≡ 1 Vx R for all X ∈ A, outputs in time O(|A| • nec 1 (V x ) 2(ω-1) • n 2 ) a subset B ⊆ A such that B (x, R )-represents A and |B| ≤ nec 1 (V x ) 2 .
Proof. We assume w.l.o.g. that opt = max, the proof is symmetric for opt = min. First, we suppose that R ≡ 1 Vx ∅. Observe that, for every Y ≡ 1 Vx ∅, we have

N (Y ) ∩ V x = N (∅) ∩ V x = ∅. It follows that, for every Y ⊆ V x such that Y ≡ 1
Vx ∅ and Y = ∅, we have best(A, Y ) = -∞. Moreover, by definition of best, we have best(A, ∅) = max{w(X) : X ∈ A and G[X] is connected}. Hence, if R ≡ 1 Vx ∅, then it is sufficient to return B = {X}, where X is an element of A of maximum weight that induces a connected graph.

Assume from now that R is not equivalent to ∅ w.r.t. ≡ 1

Vx . Let X ∈ A. If there exists

C ∈ cc(G[X]) such that N (C) ∩ R = ∅, then, for all Y ≡ 1 Vx R , we have N (C) ∩ Y = ∅. Moreover, as R is not equivalent to ∅ w.r.t. ≡ 1
Vx , we have Y = ∅. Consequently, for every Y ≡ 1

Vx R , the graph G[X ∪Y ] is not connected. We can conclude that A\{X} (x, R ) represents A. Thus, we can safely remove from A all such sets, and this can be done in time |A| • n 2 . From now on, we may assume that, for all X ∈ A and for all C ∈ cc(G[X]), we have For every Y ∈ D, we let v Y be one fixed vertex of Y . In the following, we denote by R the set

N (C) ∩ R = ∅. It is worth noticing that if R = ∅ or more generally N (R) ∩ R = ∅, then by assumption, A = ∅. Indeed, if N (R) ∩ R = ∅, then, for every X ∈ A, we have N (X) ∩ R = N (R) ∩ R = ∅
{(R 1 , R 2 ) ∈ R 1 Vx × R 1 Vx }.
Let M, C, and C be, respectively, an (A, D)-matrix, an (A, R)-matrix,

From the above observation, C contains at least one vertex of X and one of Y , and we have

N (C ∩ X) ∩ (W 1 ∩ Y ) = ∅ and N (C ∩ X) ∩ (W 2 ∩ Y ) = ∅. But, since W 2 ∩ Y ≡ 1 Vx W 2 ∩ Y , we have N (C ∩ X) ∩ (W 2 ∩ Y ) = ∅. This implies in particular that N (W 1 ) ∩ W 2 = ∅. It is a contradiction with the fact that (W 1 , W 2 ) ∈ cuts(X ∪ Y ).
Notice that Claim 4.35.2 implies that, for every (R 1 , R 2 ) ∈ R, there exists at most one consistent cut

(W 1 , W 2 ) ∈ cuts(X ∪ Y ) such that v Y ∈ W 1 , W 1 ∩ Y ≡ 1 Vx R 1 , and W 2 ∩ Y ≡ 1 Vx R 2 .
We can thus conclude from these two claims that

(C • C)[X, Y ] = |{(W 1 , W 2 ) ∈ cuts(X ∪ Y ) : v Y ∈ W 1 }|.
By Fact 4.30, we deduce that

(C • C)[X, Y ] = 2 |cc(G[X∪Y ])|-1 since every connected component of G[X ∪ Y ] can be in both sides of a consistent cut at the exception of the connected component containing v Y . Hence, (C • C)[X, Y ] is odd if and only if |cc(G[X ∪ Y ])| = 1. We conclude that M = 2 C • C.
Let B ⊆ A be a basis of maximum weight of the row space of C over GF [START_REF] Alon | Color-coding[END_REF]. We claim that

B (x, R )-represents A. Let Y ⊆ V x such that Y ≡ 1 Vx R . Observe that, by definition of D, if Y / ∈ D, then best(A, Y ) = best(B, Y ) = -∞. Thus it is sufficient to prove that, for every Y ∈ D, we have best(A, Y ) = best(B, Y ). Let X ∈ A and Y ∈ D. Recall that we have proved that M [X, Y ] = 2 (C • C)[X, Y ]. Since B is a basis of C, there exists B ⊆ B such that, for each (R 1 , R 2 ) ∈ R, we have C[X, (R 1 , R 2 )] = 2 W ∈B C[W, (R 1 , R 2 )]
. Thus, we have the following equality

M[X, Y ] = 2 (R 1 ,R 2 )∈R C[X, (R 1 , R 2 )] • C[(R 1 , R 2 ), Y ] = 2 (R 1 ,R 2 )∈R W ∈B C[W, (R 1 , R 2 )] • C[(R 1 , R 2 ), Y ] = 2 W ∈B   (R 1 ,R 2 )∈R C[W, (R 1 , R 2 )] • C[(R 1 , R 2 ), Y ]   = 2 W ∈B (C • C)[W, Y ] = 2 W ∈B M[W, Y ]. If M[X, Y ] = 1 (i.e. G[X ∪ Y ] is connected), then there is an odd number of sets W in B such that M[W, Y ] = 1 (i.e. G[W ∪ Y ] is connected). Hence, there exists at least one W ∈ B such that G[W ∪ Y ] is connected. Let W ∈ B such that M[W, Y ] = 1 and w(W ) is maximum.
Assume towards a contradiction that w(W ) < w(X). Notice that (B \ {W }) ∪ {X} is also a basis of C since the set of independent row sets of a matrix forms a matroid. Since w(W ) < w(X), the weight of the basis (B \ {W }) ∪ {X} is strictly greater than the weight of the basis B, yielding a contradiction. Thus w(X) ≤ w(W ). Hence, for all Y ∈ D and all X ∈ A, if G[X ∪ Y ] is connected, then there exists W ∈ B such that G[W ∪ Y ] is connected and w(X) ≤ w(W ). This is sufficient to prove that B (x, R )-represents A. Since B is a basis, the size of B is at most the number of columns of C, thus, |B| ≤ nec 1 (V x ) 2 .

It remains to prove the running time. We claim that C is easy to compute. By Fact 4.30, C[X, (R 1 , R 2 )] = 1 if and only if, for each C ∈ cc(G[X]), we have either B x by doing the following.

N (C)∩R 1 = ∅ or N (C)∩R 2 = ∅. Thus, each entry of C is computable in time O(n 2 ). Since C has |A|•|R 1 Vx | 2 = |A|•nec 1 (V x ) 2 entries, we can compute C in time O(|A|•nec 1 (V x ) 2 •n 2 ).
• Initialize each entry of B x to ∅. takes O(log(s-nec d (T, δ)) • n 2 ) time. We deduce that the running time to compute the entries of B x is

• For each (A, B, R ) ∈ R d Va × R d V b × R d Vx , compute R := rep d Vx (A ∪ B), A = rep d Va (R ∪ B), and B = rep d V b (R ∪ A). Then, update B x [R, R ] := B x [R, R ] ∪ (D a [A, A ] D b [B, B ]).
O   s-necd(T, δ) 3 log(s-nec d (T, δ)) • n 2 + (R,R )∈R d Vx ×R d Vx |B x [R, R ]| • n 2    . Observe that, for each (R, R ) ∈ R d Vx × R d Vx , by Theorem 4.35, the running time to compute reduce(B x [R, R ]) from B x [R, R ] is O(|B x [R, R ]| • s-nec 1 (T, δ) 2(ω-1)
• n 2 ). Thus, the total running time to compute the table

D x from the table B x is O    (R,R )∈R d Vx ×R d Vx |B x [R, R ]| • log(s-nec d (T, δ)) • s-nec 1 (T, δ) 2(ω-1) • n 2    . (4.3)
For each (A, A ) and (B, B ), the size of

D a [A, A ] D b [B, B ] is at most |D a [A, A ]|•|D b [B, B ]| ≤ s-nec 1 (T, δ) 4 .
Since there are at most s-nec d (T, δ) 3 pairs d-(R, R )-compatible, we can conclude that

(R,R )∈R d Vx ×R d Vx |B x [R, R ]| ≤ s-nec d (T, δ) 3 • s-nec 1 (T, δ) 4 .
From Equation (1), we deduce that the entries of D x are computable in time

O(s-nec d (T, δ) 3 • s-nec 1 (T, δ) 2(ω+1) • log(s-nec d (T, δ)) • n 2 ).
Since T has 2n-1 nodes, the running time of our algorithm is

O(s-nec d (T, δ) 3 •s-nec 1 (T, δ) 2(ω+1) • log(s-nec d (T, δ)) • n 3 ).
As a corollary, we can solve in time s-nec 1 (T, δ) (2ω+5) • log(s-nec 1 (T, δ)) • n 3 the Node-Weighted Steiner Tree problem that asks, given a subset of vertices K ⊆ V (G) called terminals, a subset T of minimal weight such that K ⊆ T ⊆ V (G) and G[T ] is connected.

Corollary 4.43.

There exists an algorithm that, given an n-vertex graph G, a subset K ⊆ V (G), and a rooted layout (T, δ) of G, computes a minimum node-weighted Steiner tree for (G, K) in time O(s-nec 1 (T, δ) (2ω+5) • log(s-nec 1 (T, δ)) • n 3 ).

Acyclic and AC variants of (σ, ρ)-Dominating Set problems

In this subsection, we present an algorithm that solves any AC-(σ, ρ)-Dominating Set problem. Examples of such problems are given in Table 1.1. Unfortunately, we were not able to obtain an algorithm whose running time is polynomial in n and the d-neighbor-width of the given layout (for some constant d). But, for the other parameters, by using their respective properties, we get the running time presented in Table 4.3 which are roughly the same as those in the previous subsection. Moreover, we show, via a polynomial reduction, that we can use our algorithm for AC-(σ, ρ)-Dominating Set problems (with some modifications) to solve any Acyclic (σ, ρ)-Dominating Set problem.

Module-width O((d + 1) 3mw(L) • 2 (2ω+3)mw(L) • mw(L) • n 4 ) Rank-width O(2 (2ω+3d+4)rw(L) 2 • rw(L) • n 4 ) Q-rank-width O(2 (2ω+5)rw Q (L) log 2 (d•rw Q (L)) • rw Q (L) • n 4 )
Let us first explain why we cannot use the same trick as in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] on the algorithms of Section 4.1.3 to ensure the acyclicity, that is classifying the partial solutions X -associated with a node

x ∈ V (T ) -with respect to |X| and |E(G[X])|. Indeed, for two sets X, W ⊆ V x with |X| = |W | and |E(G[X])| = |E(G[W ])|, we have |E(G[X ∪ Y ])| = |E(G[W ∪ Y ])|, for all Y ⊆ V x , if and only if X ≡ n
Vx W . Hence, the trick used in [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] would imply to classify the partial solutions with respect to their n-neighbor equivalence class. But, the upper bounds we have on nec n (V x ) with respect to module-width, (Q-)rank-width would lead to an XP algorithm. In fact, for every k ∈ N and every n ≥ 2k, one can construct an n-vertex bipartite graph H k [A, A] where mw(A) = k and nec n (A) = (n/mw(A)) mw(A) (see Figure 4.2). Since both rw(A) and rw Q (A) are upper-bounded by mw(A), we deduce that using the trick of [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] would give, for each f ∈ {mw, rw, rw Q }, an n Ω(f(T,δ)) time algorithm. In the following, we introduce some new concepts that extends the framework designed in Section 4.2.2 in order to manage acyclicity. All along, we give intuitions on these concepts through a concrete example: Maximum Induced Tree. Finally, we present the algorithms for the AC-(σ, ρ)-Dominating Set problems and the algorithms for Acyclic (σ, ρ)-Dominating Set problems. Now observe that, by the definitions of best acy and of the merging operator , we have In order to compute a maximum induced tree, we design an algorithm similar to those of Section 4.1.3. That is, for each (R, R ) ∈ R 2

A A

A 1 A 2 A k v 1 v 2 v k
best acy A B, Y = opt{w(X) + w(W ) : X ∈ A ∧ W ∈ B ∧ G[X ∪ W ∪ Y ] is a tree}. Since best acy (A, W ∪ Y ) = opt{w(X) : X ∈ A ∧ G[X ∪ W ∪ Y ] is
Vx × R 2 Vx , our algorithm will compute a set

D x [R, R ] ⊆ 2 Vx that is an (x, R ) acy -representative set of small size of the set A x [R] := {X ⊆ V x such that X ≡ 2
Vx R}. This is sufficient to compute a maximum induced tree of G since we have A r [∅] = 2 V (G) with r the root of T . Thus, by Definition 4.45, any (r, ∅) acy -representative set of A r [∅] contains a maximum induced tree.

The key to compute the tables of our algorithm is a function that, given A ⊆ 2 Vx , computes a small subset of A that (x, R ) acy -represents A. This function starts by removing from A some sets that will never give a tree with a set Y ≡ 2 Vx R . For doing so, we characterize the sets X ∈ A such that G[X ∪ Y ] is a tree for some Y ≡ 2 Vx R . We call these sets R -important. The following gives a formal definition of these important and unimportant partial solutions. Definition 4.48 (R -important). We say that

X ⊆ V x is R -important if there exists Y ⊆ V x such that Y ≡ 2
Vx R and G[X ∪ Y ] is a tree, otherwise, we say that X is R -unimportant.

By definition, any set obtained from a set A by removing R -unimportant sets is an (x, R ) acyrepresentative set of A. The following lemma gives some necessary conditions on R -important sets. It follows that any set which does not respect one of these conditions can safely be removed from A. These conditions are the key to obtain the running times of Table 4.2. At this point, we need to introduce the following notations. For every X ⊆ V x , we define X 0 := {v ∈ X :

N (v) ∩ R = ∅}, X 1 := {v ∈ X : |N (v) ∩ R | = 1}, and X 2+ := {v ∈ X : |N (v) ∩ R | ≥ 2}. Notice that, for every Y ≡ 2
Vx R and X ⊆ V x , the vertices in X 0 have no neighbor in Y , those in X 1 have exactly one neighbor in Y and those in X 2+ have at least 2 neighbors in Y .

In order to prove the lemma, we need the properties of the 2-neighbor equivalence relation. More precisely, we use the fact that, for all X ⊆ V x and Y ≡ 2

Vx R , the vertices in X having at least two neighbors in Y correspond exactly to those having at least two neighbors in R . These vertices play a major role in the acyclicity and the computation of representatives in the following sense. By removing from A the sets that do not respect the two above properties, we are able to decompose A into a small number of sets A 1 , . . . , A t such that an (x, R )-representative set of A i is an (x, R ) acy -representative set of A i for each i ∈ {1, . . . , t}. We find an (x, R ) acyrepresentative set of A, by computing an (x, R )-representative set B i for each A i with the function reduce. This is sufficient because

B 1 ∪ • • • ∪ B t is an (x, R ) acy -representative set of A.
For X ⊆ V x , let σ(X) be the vector corresponding to the sum (over Q) of the row vectors of M Vx,Vx corresponding to X. Notice that if σ(X) = σ(X ), then X ≡ d Vx X , for all d ∈ N + , because the entries of σ(X) represent the number of neighbors in X for each vertex in

V x . Moreover, if σ(X) = σ(X ), then |E(G[X, Y ])| = |E(G[X , Y ])| for every Y ⊆ V x .
We define the equivalence relation

∼ on 2 Vx such that X ∼ W if we have σ(X 2+ ) = σ(W 2+ ) and |E(G[X])| -|X \ X 1 | = |E(G[W ])| -|W \ W 1 |. Intuitively, if X ∼ W , then, for all Y ≡ 2 Vx R , we have |E(G[X ∪ Y ])| = |X ∪ Y | -1 if and only if |E(G[W ∪ Y ])| = |W ∪ Y | -1.
Thus, if X ∼ W and both sets induce with Y a connected graph, then both sets induce with Y a tree (because a graph F is a tree if and only if F is connected and |V (F )| = |E(F )| -1). Consequently, an equivalence class of ∼ is an R -consistent set.

Claim 4.52.1. Let A ⊆ A. If, for all X, W ∈ A , we have X ∼ W , then A is R -consistent.

Proof. Suppose that X ∼ W for all X, W ∈ A . In order to prove that A is R -consistent, it is enough to prove that, for each X, W ∈ A and

Y ≡ 2 Vx R , if G[X ∪ Y ] is a tree and G[W ∪ Y ] is connected, then G[W ∪ Y ] is a tree. Let Y ≡ 2 Vx R and X, W ∈ A . Assume that G[X ∪ Y ] is a tree and that G[W ∪ Y ] is connected. We want to prove that G[W ∪ Y ] is a tree. Since G[X ∪ Y ] is a tree, we have |E(G[X ∪ Y ])| = |X ∪ Y | -1. Since the vertices in X 0 have no neighbors in Y , we can decompose |E(G[X ∪ Y ])| = |X ∪ Y | -1 to obtain the following equality |E(G[Y ])| + |E(G[X 2+ , Y ])| + |E(G[X 1 , Y ])| + |E(G[X])| = |X ∪ Y | -1. (4.4)
Since every vertex in X 1 has exactly one neighbor in Y (because

Y ≡ 2 Vx R ) , we have |E(G[X 1 , Y ])| = |X 1 |. Thus, Equation (1) is equivalent to |E(G[Y ])| + |E(G[X 2+ , Y ])| + |E(G[X])| = |X \ X 1 | + |Y | -1. (4.5) Since X ∼ W , we have |E(G[X])| -|X \ X 1 | = |E(G[W ])| -|W \ W 1 |. Moreover, owing to σ(X 2+ ) = σ(W 2+ ), we have |E(G(X 2+ , Y ))| = |E(G(W 2+ , Y ))|.
We conclude that Equation ( 2) is equivalent to

|E(G[Y ])| + |E(G[W 2+ , Y ])| + |E(G[W ])| = |W \ W 1 | + |Y | -1. (4.6)
With the same arguments to prove that (3

) is equivalent to |E(G[X ∪ Y ])| = |X ∪ Y | -1, we can show that (3) is equivalent to |E(G(W ∪ Y ))| = |W ∪ Y | -1.
By assumption, G[W ∪ Y ] is connected and thus we conclude that G[W ∪ Y ] is a tree.

We are now ready to decompose A. We start by removing from A all the sets that do not induce a forest. Trivially, this can be done in time O(|A| • n). Moreover, these sets are Runimportant and thus we keep an (x, R ) acy -representative set of A. Before explaining how we proceed separately for each parameter, we need the following observation which follows from the removal of all the sets in A that do not induce a forest. Observation 4.53. For all X ∈ A, we have

-n ≤ |E(G[X])| -|X \ X 1 | < n.
Concerning module-width. We remove all the sets X in A that do not respect Condition (1) of Lemma 4.49. By Lemma 4.49, these sets are R -unimportant and thus we keep an (x, R ) acyrepresentative set of A. After removing these sets, for each X ∈ A, every pair (a, b) of distinct vertices in X 2+ have a different neighborhood in V x . Observe that, by definition of module-width, we have

We now construct L = (T , δ ) from L := (T, δ). We obtain T and δ by doing the following transformations on T and δ:

• For each leaf of T with δ( ) = {v}, we transform into an internal node by adding two new nodes a and b as its children such that δ (a ) = v and δ (b ) = β(v).

• The root of T is a new node r whose children are the root of T and a new node a r with δ (a r ) = v 0 .

In order to simplify the proof, we use the following notations.

For each node x ∈ V (T ), we let V L x := V (G ) \ V L x and, for each node x ∈ V (T ), we let

V L x := V (G) \ V L
x . Now, we prove that (T , δ ) respects Inequalities (1) and ( 2). Let x be a node of T . Observe that if x ∈ V (T ) \ V (T ), then the set V L

x either contains one vertex or equals V (G ). Hence, in this case, the inequalities hold because

nec d (V L x ) ≤ d for each d ∈ N + and f(V L x ) ≤ 1 for each f ∈ {mim, mw, rw, rw Q }.
Now, assume that x is also a node of T . Hence, by construction, we have

V L x = V L x ∪ {β(v) : v ∈ V L x }. V L x = V L x ∪ {β(v) : v ∈ V L x } ∪ {v 0 }
Now, we prove Inequality [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]. Let d ∈ N + . By construction of G and L , for each vertex v ∈ V L x , we have β(v) ∈ V L

x and

N G (v) ∩ V L x = N G (v) ∩ V L x , (4.7)
N G (β(v)) ∩ V L x = {v 0 }. (4.8)
We deduce that, for every X, Y ⊆ V L x , we have X ≡ d V L

x Y if and only

• X ∩ V (G) ≡ d V L x Y ∩ V (G) and • min(d, |N (v 0 ) ∩ X|) = min(d, |N (v 0 ) ∩ Y |).
Similarly, we deduce that, for every X, Y ⊆ V L x , we have X ≡ d V L

x Y if and only if

• X ∩ V (G) ≡ d V L x Y ∩ V (G) and • X ∩ {v 0 } = Y ∩ {v 0 }. Thus, we can conclude that s-nec d (V L x ) ≤ (d + 1) • s-nec d (V L x )
. Consequently, Inequality (1) holds.

We deduce Inequality (2) from Figure 4.3 describing the adjacency matrix between V L x and V L

x . Now, we explain how we modify the algorithm of Theorem 4.55 in order to find a maximum acyclic (σ, ρ)-dominating set of G by calling this algorithm on G . For doing so, we modify the definition of the table A x , the invariant, and the computational steps of the algorithm of Theorem 4.55. The purpose of these modifications is to restrict the (σ, ρ)-domination to the vertices of V (G). For doing so, we consider the set of nodes S := V (T ) ∪ {r, a r }. Observe that, for every node x in S, there are no edges in G[V L

x , V L x ] between a vertex in V (G) and a vertex in V (G ) \ V (G). This is not true for the nodes of V (T ) \ S. For this reason, our algorithm ignores the nodes in V (T ) \ S and computes a table only for the nodes in S.

M V L x ,V L x 0 1 0 0 V L x v 0 V + ∩ V L x V + ∩ V L x V L x V L x V L x Figure 4.
3 -The adjacency matrix between V L x and V L x .

For every x ∈ S and every (R, R

) ∈ R d V L x × R d V L x we define A x [R, R ] ⊆ 2 V L x as follows A x [R, R ] := {X ⊆ V L x : X ≡ d V L x R and (X ∪ R ) ∩ V (G) (σ, ρ)-dominates V L x ∩ V (G)}.
We claim that if G admits an acyclic (σ, ρ)-dominating set D, then there exists

D ∈ A r [∅, ∅] such that D ∩ V (G) = D and G [D ] is a tree. Let D be an acyclic (σ, ρ)-dominating set of G with cc(G[D]) = {C 1 , . . . , C t }. For each i ∈ {1, . . . , t}, let v i be a vertex in C i . One easily checks that G [D ∪ {β(v i ) : 1 ≤ i ≤ t} ∪ v 0 ] is a tree. Moreover, by definition of A r [∅, ∅], for every X ∈ A r [∅, ∅], if G[X] is a tree, then X ∩ V (G) is an acyclic (σ, ρ)-dominating set of G. Hence, if G admits an acyclic (σ, ρ)-dominating set, any (r, ∅) acy -representative set of A r [∅, ∅] contains a set X such that X ∩ V (G) is a maximum acyclic (σ, ρ)-dominating set of G.
For every node x ∈ S, we compute a table D x satisfying the following invariant.

Invariant. For each node x ∈ S and each (R, R

) ∈ R d V L x × R d V L x , the set D x [R, R ] is a subset of A x [R, R ] of size at most N f (T , δ ) • nec 1 (V L x ) 2 that (x, R ) acy -represents A x [R, R ].
Before we explain how to compute the table D x , for each x ∈ S, we need the following fact and claim. We deduce the following fact from Lemma 4.39 and the fact that, for every node x in S, there are no edges in G

[V L x , V L x ] between a vertex in V (G) and a vertex in V (G ) \ V (G). Fact 4.57. Let x ∈ S. Let X ⊆ V L x and Y, R ⊆ V L x such that Y ≡ d V L x R . Then (X ∪ R ) ∩ V (G) (σ, ρ)-dominates V L x ∩ V (G) if and only if (X ∪ Y ) ∩ V (G) (σ, ρ)-dominates V L x ∩ V (G).
We deduce the following claim from Fact 4.57 and Lemma 4.41.

Claim 4.57.1. Let x ∈ S \ {a r } such that x is not a leaf in T . Let a and b be the children of

x in T . For every (R, R ) ∈ R d V L x × R d V L x , we have A x [R, R ] = (A,A ), (B,B ) d-(R,R )-compatible A a [A, A ] A b [B, B ].
The algorithm starts by computing the table D x for each node x ∈ S such that x = a r or x is a leaf of T . Since |V L

x | ≤ 2, our algorithm directly computes

A x [R, R ] and set D x [R, R ] := A x [R, R ] for every (R, R ) ∈ R d V L x × R d V L x .
For the other nodes our algorithm computes the table D x exactly as the algorithm of Theorem 4.55.

The correctness of this algorithm follows from Theorem 4.55 and Claim 4.57.1. By Theorem 4.55, the running time of this algorithm is

O(s-nec 2 (L ) 3 • s-nec 1 (L ) 2(ω+1) • N f (L ) 2 • n 3 ).
We deduce the running time in function of L from Inequalities (1) and (2).

Conclusion

We have simplified and generalized the rank-based approach of [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] to work with the d-neighborequivalence relation of [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF]. As a result, we provide deterministic algorithms for a wide range of connectivity problems running in time s-nec d (T, δ) O (1) • n O (1) where (T, δ) is a given layout and d is a constant which depends on the problem. From the upper-bounds presented in Theorem 2.33, we obtain parameterized algorithms with parameters and running times given in Table 4.2.

We have extended our framework in order to solve any AC-(σ, ρ) Dominating Set problem and any Acyclic (σ, ρ) Dominating Set problem. This includes well-known problems such as Maximum Induced Tree, Longest Induced Path, and Maximum Induced Forest. We obtain algorithms whose running times match those described in Table 4.2. But, even if our algorithms rely heavily on the d-neighbor-width on the input rooted layout, some specific parts of the running time analysis use the properties of other parameters. We leave open the following question.

Open Question 4.58. Does there exists a constant c ∈ N + and an algorithm, that given an n-vertex graph G and a rooted layout L of G, finds a maximum induced tree (or a longest induced path) in time s-nec c (T, δ) O (1) • n O(1) ?

Concerning mim-width, we provide unified polynomial-time algorithms for the considered problems and the graph classes of bounded mim-width presented in Section 2.4. Notice that we also generalize one of the results from [START_REF] Montealegre | On distance-d independent set and other problems in graphs with "few" minimal separators[END_REF] proving that the Connected Vertex Cover problem is solvable in polynomial time for circular arc graphs.

As explained in Section 2.6.2, the algorithmic results we obtain for clique-width are asymptotically optimal under the Exponential Time Hypothesis (ETH). However, this is not the case for the other parameters.

Finally, Fomin et al. [START_REF] Fedor | Efficient computation of representative families with applications in parameterized and exact algorithms[END_REF] have shown that we can use fast computation of representative sets in matroids to obtain deterministic 2 O(k) • n O (1) time algorithms parameterized by tree-width for many connectivity problems. Let us briefly explain the ideas of [START_REF] Fedor | Efficient computation of representative families with applications in parameterized and exact algorithms[END_REF] (we refer to [START_REF] Cygan | Parameterized Algorithms[END_REF] for an introduction on matroid and their use in theoretical computer science). Given a matroid M and a family A of independent sets of size p, we say that A ⊆ A q-represents A if for every set B of size q, if there exists A ∈ A such that A ∪ B is an independent set of M, then there exits A ∈ A such that A ∪ B is also an independent set. Fomin et al. proved the following theorem on the computation of q-representative sets. Theorem 4.59 ([62]). Let M be a linear matroid of rank p + q = k given with its representation matrix A M over a field F. Given a set A of independent sets of size p, we can compute a qrepresentative set B ⊆ A of A with |B| ≤ p+q [START_REF] Fedor | Efficient computation of representative families with applications in parameterized and exact algorithms[END_REF] to design efficient parameterized algorithms and in particular 2 O(tw(G)) • n time algorithms for Steiner Tree. Is this approach also generalizable to d-neighbor-width? Can it be of any help for answering Question 2.59?

Fomin et al. used this theorem in

Cut & Count Approach on Graphs with Structured Neighborhood

In this section, we combine the Cut & Count approach of [START_REF] Cygan | Solving connectivity problems parameterized by treewidth in single exponential time[END_REF] with the d-neighborhood equivalence relation (defined in Section 1.3). We obtain a one-sided error Monte Carlo algorithm with false negatives7 that, given a graph G and an integer k, decides whether G admits a connected (σ, ρ)-dominating set of size k in time O(s-nec d (L) O (1) • n O (1) ) with L a given rooted layout.

Let us explain, briefly, the Cut & Count approach with a concrete example: the unweighted decision variant of Node-Weighted Steiner Tree. Let G be a graph and K ⊆ V (G) be a set of terminals. We want to decide if G admits a solution of size k for some k ∈ [n]. In this case, a solution is a set X ⊆ V (G) such that K ⊆ X and G[X] is connected. For doing so, the Cut & Count approach reduces this decision problem to its counting modulo 2 variant, i.e., finds the parity of the number of solutions of size k. A priori, this variant does not seem easier to solve, but working modulo 2 allows to use cancellation tricks. Let us explain this reduction and how we solve this counting modulo 2 variant.

The reduction. The idea behind the reduction is to assign to each vertex v of G a weight w(v) ∈ [N ] uniformly and independently at random for some integer N ∈ N. Intuitively, if N is large, then there is a good probability p that there exists W ∈ [k • N ] such that there exists a unique solution X of size k and weight W ; this implies that the number of solutions of size k and weight W is odd. In fact, setting N = 2n is enough to have p ≥ 1/2 (see Lemma 4.60).

Counting modulo 2 variant. Given the weight function w from the reduction, what we have to do now is to compute, for each W ∈ {1, . . . , n • N }, the parity of the set S W of solutions of size k and weight W . In order to compute the parity of S W , we proceed into two parts:

• The Cut part: relax the connectivity constraint and consider the set R W of possibly disconnected candidate solutions, that is consider the set R W := {X ⊆ V (G) : |X| = k, w(X) = W and K ⊆ X}. Furthermore, fix a vertex in v 0 ∈ K and consider the set C W of all pairs (X, (X 1 , X 2 )) where X ∈ R and (X 1 , X 2 ) is a consistent cut8 of X with v 0 ∈ X 1 .

• The Count part: prove that C W and S W have the same parity and compute the parity of C W on a rooted layout by a dynamic programming algorithm (in [START_REF] Cygan | Solving connectivity problems parameterized by treewidth in single exponential time[END_REF] they do it on a tree-decomposition in time 2 O(tw(G)) • n O (1) ). In this case, proving that C W and S W have the same parity is not hard. Indeed, for every X ∈ R W , the number of consistent cuts C of X such that (X, C) ∈ C W equals 2 |cc(G[X])|-1 since every connected component of G[X] can be in both sides of a consistent cut at the exception of the connected component containing v 0 . Hence, the number of consistent cuts C of X such that (X, C) ∈ C W is odd if and only if X ∈ S W .

In the following, we will prove that, given an n-vertex graph G with a rooted layout L and k ∈ N, we can use this approach to design a Monte Carlo algorithm to decide whether G admits a connected (σ, ρ)-dominating set of size k in time s-nec d (L) O (1) •n O (1) with d = max{1, d(σ), d(ρ)}. We will only consider connected (σ, ρ)-dominating sets but, by using the same ideas of Section 4.2, the same algorithm works for deciding whether a graph has a connected co-(σ, ρ)-dominating set of size k or for the unweighted decision variant of Node-Weighted Steiner Tree.

Let G be an n-vertex graph, k ∈ N, and let (T, δ) be a fixed rooted layout of G with the root of T denoted by r. Moreover, let (σ, ρ) be a pair of non-empty finite or co-finite subsets of N and let d := max{1, d(σ), d(ρ)}. To use the modulo 2 cancellation trick, we need to guess one vertex v 0 ∈ V (G) that belongs to a solution of size k. We can do this by going through the n possibilities. Let v 0 be a fixed vertex in V (G). In the following, we explain how to design a Monte Carlo algorithm that decides whether G admits a connected (σ, ρ)-dominating set of size k that contains v 0 .

As in [START_REF] Cygan | Solving connectivity problems parameterized by treewidth in single exponential time[END_REF], we use the Isolation Lemma from [START_REF] Mulmuley | Matching is as easy as matrix inversion[END_REF] for the reduction.

Lemma 4.60 ([111]). Let S ⊆ 2 U be a set family over a universe U with |S| > 1. For each u ∈ U , choose a weight w(u) ∈ {1, . . . , N } uniformly and independently at random. Then, the probability that there exists a unique S ∈ S with w(S) = min S ∈S w(S ) is at least 1 -|U | N . To use this lemma, we choose, for each vertex v of G, a weight w(v) ∈ {1, . . . , 2n} uniformly at random. Then we consider, for each W ∈ [2n 2 ], the set S v 0 ,W of all connected (σ, ρ)-dominating sets of size k and weight W that contains v 0 . By Lemma 4.60, if there exists a connected (σ, ρ)dominating set of size k that contains v 0 , then the probability that there exists W ∈

[2n 2 ] such that |S v 0 ,W | is odd is at least 1 2 .
Consequently, from an algorithm that computes the parity of |S v 0 ,W | for each W , one can design a one sided Monte Carlo algorithm that decides whether G admits a connected (σ, ρ)-dominating set of size k that contains v 0 . This Monte Carlo algorithm checks whether there exists W such that |S v 0 ,W | is odd, if such W exists, then it returns yes, otherwise, it returns no. This algorithm cannot give false positives and may give false negatives with probability at most 1/2.

In the following, we explain how we compute, for each W , the parity of |S v 0 ,W |. For all W ∈ [2n • k], we consider R v 0 ,W ⊇ S v 0 ,W the set of all the (σ, ρ) dominating sets of cardinality k and weight W that contain v 0 . Moreover, we consider also

C v 0 ,W :={(X, (X 1 , X 2 )) ∈ R v 0 ,W × cuts(X) : v 0 ∈ X 1 }. By Fact 4.30, for every X ∈ R v 0 ,W , the number of consistent cuts C of X such that (X, C) ∈ C v 0 ,W is 2 |cc(G[X])|-1
. Consequently, we have the following fact. Hence, if |C v 0 ,W | is odd for some W , we can confirm that G admits a connected (σ, ρ)dominating set of cardinality k.

We now explain how to compute |C v 0 ,W | by a bottom-up dynamic programming algorithm on (T, δ). At each node x of T , we compute a table #A x,v 0 whose set of indices, denoted by I x , is

I x := R d Vx × R d Vx × R 1 Vx × R 1 Vx × [k] × [2n • k]. For each I ∈ I x , the entry #A x,v 0 [I] corresponds to the cardinality of the set A x,v 0 [I] whose definition is the following. Definition 4.62. Let x ∈ V (T ), for all (R, R , R 1 , R 2 , i, W ) ∈ I x . We define A x,v 0 [R, R , R 1 , R 2 , i, W ] as the set of all (X, (X 1 , X 2 )) ∈ 2 Vx × cuts(X) satisfying the following conditions: 1. |X| = i and w(X) = W , 2. X ≡ d Vx R, 3. if v 0 ∈ V x , then v 0 ∈ X 1 , 4. (X ∪ R ) (σ, ρ)-dominates V x , 5. X 1 ≡ 1 Vx R 1 and X 2 ≡ 1 Vx R 2 . It is straightforward to check that, for every W ∈ [2n • k], we have #A r [∅, ∅, ∅, ∅, k, W ] = |C v 0 ,W |.
Let us explain how we compute the entries of #A x,v 0 .

Our algorithm is a dynamic programming one whose steps are based on the k-labeled graphs H arising in the k-expression of G. Observe that the edges of a Hamiltonian cycle of G which belong to E(H) induce either a Hamiltonian cycle or a collection of vertex-disjoint paths in G covering H. Consequently, we define a partial solution as a set of edges of H which induces a collection of paths (potentially empty) covering H. As in [START_REF] Espelage | How to solve NP-hard graph problems on clique-width bounded graphs in polynomial time[END_REF], with each partial solution P, we associate an auxiliary multigraph such that its vertices correspond to the labels of H and each edge {i, j} corresponds to a maximal path induced by P with end-vertices labeled i and j.

Since H is a k-labeled graph arising in a k-expression of G, we have that two vertices x and y with the same label in H have the same neighborhood in G -E(H) (the graph G without the edges of H). It follows that the endpoints of a path in a partial solution are not important and what matters are the labels of these endpoints. As a result, two partial solutions with the same auxiliary multigraph are equivalent, i.e., if one is contained in a Hamiltonian cycle, then the other also. From these observations, one easily deduces the n O(k 2 ) -time algorithm, due to Espelage, Gurski, and Wanke [START_REF] Espelage | How to solve NP-hard graph problems on clique-width bounded graphs in polynomial time[END_REF], because there are at most n possible paths between two label classes and thus there are at most n O(k 2 ) possible auxiliary graphs.

To obtain our n O(k) -time algorithm, we refine the above equivalence relation. We define that two partial solutions are equivalent if their auxiliary graphs have the same connected components, and the paths they induce have the same number of endpoints labeled i, for all labels i. The motivation is the following. When we have a partial solution P and a set of edges Q ⊆ E(G) \ E(H) so that P ∪ Q forms a Hamiltonian cycle, we consider to make an auxiliary graph of Q, and we identify with the one for P. To distinguish edges obtained from P or Q, we color edges by red if one comes from P and by blue otherwise. Then following the Hamiltonian cycle, we can find an Eulerian trail of this merged auxiliary graph that uses edges of distinct colors alternately. But then if P is equivalent to P, then one can observe that if we replace the red part with the auxiliary graph of P , then it also has such an Eulerian trail, and we can show that P can also be completed into a Hamiltonian cycle. So, in the algorithm, for each equivalence class, we store one partial solution. We define this equivalence relation formally in Section 4.4.2.

Since, the number of partitions of a k-size set is at most k k and the number of paths induced by a partial solution is always bounded by n, the number of non-equivalent partial solutions is then bounded by (2n) k • k k (the maximum degree of an auxiliary multigraph is at most 2n because a loop is counted as two edges). The running time of our algorithm follows from the maximum number of non-equivalent partial solutions. The main effort in the algorithm consists then in updating the equivalence classes of this equivalence relation in terms of operations based on the clique-width operations.

In Subsection 4.4.1, we give basic definitions and notations concerning multigraphs. Our notions of partial solutions and of auxiliary multigraphs are given in Subsection 4.4.2. In Subsection 4.4.3, we prove the equivalence between the existence of Hamiltonian cycles in the input graph and the existence of red-blue alternating Eulerian trails in auxiliary multigraphs, and deduce that it is enough to store (2n) k • k k partial solutions at each step of our dynamic programming algorithm. In Subsection 4.4.4, we show how to obtain from the results of Subsection 4.4.3 an n O(k) -time algorithm for Hamiltonian Cycle. In Subsection 4.4.5, we give some intuitions for solving in time n O(k) the problems Directed Hamiltonian Cycle given a k-expression. We conclude this section by some open question concerning a generalization of Hamiltonian Cycle.

Preliminaries

A multigraph is essentially a graph, but we allow multiple edges, i.e., edges incident with the same set of vertices. Formally, a multigraph G is a pair (V (G), E(G)) of disjoint sets, also called sets of vertices and edges, respectively, together with a map mult G : E(G) → V (G) ∪ [V (G)] 2 , which maps every edge to one or two vertices, still called its endpoints. The degree of a vertex x in a multigraph G, is defined analogously as in graphs, except that each loop is counted twice, and similarly for other notions. If there are exactly k edges e such that mult G (e) = {x, y} (or mult G (e) = {x}), then we denote these distinct edges by {x, y} 1 , . . . , {x, y} k (or {x} 1 , . . . , {x} k ).

For two multigraphs G and H on the same vertex set {v 1 , . . . , v k } and with disjoint edge sets, we denote by G H the multigraph with vertex set {v 1 , . . . , v k }, edge set E(G) ∪ E(H), and

mult G H (e) := mult G (e) if e ∈ E(G), mult H (e) otherwise.
If the edges of G and H are colored, then this operation preserves the colors of the edges.

We use the notations introduced for graphs in Section 1.2 concerning walks and trails. An Eulerian trail in a graph is a closed trail containing all edges. When the edges of a multigraph are colored in red or blue, we say that a walk W = (v 1 , e 1 , . . . , v r-1 , e r-1 , v r ) is a red-blue walk, if for every i ∈ {1, . . . , r -2}, the colors of e i and e i+1 are different and if the walk is closed, then the colors of e 1 and e r-1 are different. In particular, if the edges of a multigraph are colored red or blue, then a red-blue Eulerian trail is an Eulerian trail that is a red-blue walk. For two walks W 1 = (v 1 , e 1 , . . . , e -1 , v ) and W 2 = (v 1 , e 1 , . . . , e r-1 , v r ) such that v = v 1 , the concatenation of W 1 and W 2 , denoted by W 1 -W 2 , is the walk (v 1 , e 1 , . . . , e -1 , v , e 1 , . . . , e r-1 , v r ).

Partial solutions and auxiliary graphs

Let G be a graph and (H, lab H ) be a k-labeled graph such that H is a subgraph of G.

A partial solution of H is a set of edges P ⊆ E(H) such that H |P is a union of vertex-disjoint paths, i.e., H |P is acyclic and, for every vertex v ∈ V (H), the degree of v in H |P is at most two. We denote by Π(H) the set of all partial solutions of H. We say that a path P in H |P is maximal if the degree of its end-vertices in H |P is at most one; in other words, there are no paths P in H |P such that V (P ) V (P ). Observe that an isolated vertex in H |P is considered as a maximal path.

A complement solution of H is a subset Q of E(G) \ E(H) such that G |Q is a union of vertexdisjoint paths with end-vertices in V (H); in particular, for every vertex v in V (G) \ V (H), the degree of v in G |Q is two. We denote by Π(H) the set of all complement solutions of H. A path P in G with at least 2 vertices is an H-path if the end-vertices of P are in V (H) and the internal vertices of P are in V (G) \ V (H). By definition, isolated vertices in V (H) are not H-paths. Observe that, for a complement solution Q, we can decompose each maximal path Q of G |Q with at least 2 vertices into H-paths (not necessarily one).

Examples of a partial solution and a complement solution are given in Figure 4.4. Note that if G has a Hamiltonian cycle C and E(C) ⊆ E(G), then E(C) ∩ E(H) is a partial solution and E(C) ∩ (E(G) \ E(H)) is a complement solution. We say that a partial solution P and a complement solution Q form a Hamiltonian cycle if (V (G), P ∪ Q) is a cycle containing all the vertices of G.

Auxiliary Multigraph. For P ∈ Π(H) ∪ Π(H) and i, j ∈ [k], we define ij and i as follows.

H lab -1 H (1) lab -1 H (2) lab -1 H (3) lab -1 H (4) lab -1 H (5)
{{v i , v j } 1 , . . . , {v i , v j } ij } ∪ i∈[k] {{v i } 1 , . . . , {v i } i }.
Moreover, if P is a partial solution of H, then we color all the edges of aux H (P) in red, and if P is a complement solution, then we color the edges of aux H (P) in blue. An example of an auxiliary multigraph is given in Figure 4.5.

v 1 v 2 v 3 v 4 v 5

Relations between Hamiltonian cycles and Eulerian trails

Let G be an n-vertex graph and φ be an irredundant k-expression of G. Let H be a k-labeled graph arising in the k-expression φ. Observe that H is a subgraph of G (disregarding the labels). This section is dedicated to prove the properties of the following relation between partial solutions of H based on the degree sequence and the connected components of their auxiliary multigraphs.

Observe that each maximal path P x in H |P with end-vertices labeled i and j is associated with a red edge in M , say e x with mult M (e x ) = {v i , v j } if i = j or mult M (e x ) = {v i } if i = j such that the edges e 1 , . . . , e are pairwise distinct and E(aux H (P)) = {e 1 , . . . , e }. Similarly, each H-path Q y of G |Q with end-vertices labeled i and j is associated with a blue edge f y in M with mult M (f y ) = {v i , v j } if i = j or mult M (f y ) = {v i } if i = j such that the edges f 1 , . . . , f are pairwise distinct and E(aux H (Q)) = {f 1 , . . . , f }. It is not difficult to see that (e 1 , f 1 , . . . , e , f ) is a red-blue Eulerian trail of aux H (P) aux H (Q).

Next, we prove the other direction. We use the properties of an irredundant k-expression described in Lemma 2.20.

Lemma 4.70. Let P ∈ Π(H). If there exists a complement solution Q of H such that aux H (P) aux H (Q) admits a red-blue Eulerian trail, then there exists Q ∈ Π(H) such that P and Q form a Hamiltonian cycle.

Proof. Let T = (v a 1 , r 1 , v c 1 , b 1 , v a 2 , r 2 , v c 2 , • • • , v a , r , v c , b , v a 1 ) be a red-blue Eulerian trail of aux H (P) aux H (Q) with r 1 , . . . , r ∈ E(aux H (P)) and b 1 , . . . , b ∈ E(aux H (Q)).
In the following, the indexes are modulo .

For each i ∈ [ ], we associate r i with a maximal path P i of H |P with end-vertices labeled a i and c i and we associate b i with an H-path Q i of G |Q with end-vertices labeled c i and a i+1 , such that P 1 , . . . , P , Q 1 , . . . , Q are all pairwise distinct.

For every i ∈ [ ], we construct from Q i an H-path Q i of G by doing the following. Let u, v be respectively the last end-vertex of P i and the first end-vertex of P i+1 . Observe that u and the first vertex of Q i are labeled c i , and v and the last vertex of Q i are labeled a i+1 . We distinguish two cases:

• Suppose that Q i = (x, xy, y), i.e., Q i uses only one edge. Since Q is a complement solution of H, we have xy ∈ E(G) \ E(H). By Lemma 2.20, we have uv ∈ E(G) \ E(H).
In this case, we define Q i = (u, uv, v).

• Assume now that Q i = (x, xy, y, . . . , w, wz, z) with w, y ∈ V (G) \ V (H) (possibly, w = y). Since x and u have the same label in H, by Lemma 2.20, we have

N G (x) \ V (H) = N G (u) \ V (H).
Hence, u is also adjacent to y. Symmetrically, we have v is adjacent to w.

In this case, we define Q i = (u, uy, y, . . . , w, wv, v), i.e., the path with the same internal vertices as Q i and with end-vertices u and v.

In both cases, we end up with a path Q i that uses the same internal vertices as Q i and whose end-vertices are the last vertex of P i and the first vertex of P i+1 . We conclude that

P 1 -Q 1 -• • • -P -Q is a Hamiltonian cycle.
Let Q be the set of edges used by the paths Q 1 , . . . , Q . By construction, we have Q ⊆ E(G) \ E(H), and thus Q ∈ Π(H). Observe that, for every i ∈ [ ], the labels of the end-vertices of Q i are the same as those of Q i . Consequently, we have aux

H (Q ) = aux H (Q).
It is well known that a connected multigraph contains an Eulerian trail if and only if every vertex has even degree. As an extension, Kotzig [START_REF] Kotzig | Moves without forbidden transitions in a graph[END_REF] proved that a connected two-edge colored graph (without loops and multiple edges) contains a red-blue Eulerian trail if and only if each vertex is incident with the same number of edges for both colors. This result can be easily generalized to multigraphs by replacing red edge with a path of length 3 whose colors are red, blue, red in the order, and replacing blue edge with a path of length 3 whose colors are blue, red, blue in the order. For the completeness of this manuscript, we add its proof.

an edge e associated with {v i , v j } and adding two edges e 1 and e 2 associated with {v i , v i } and {v j , v j } respectively. So, we can obtain a red-blue Eulerian trail of aux H (P ) M from a red-blue Eulerian trail of aux H (P) M by replacing (v i , e, v j ) with the sequence (v i , e 1 , v i , f, v j , e 2 , v j ) where f is the blue edge we add to M to obtain M . It implies the claim. Now, since A H B, there exists P ∈ A such that aux H (P ) M admits a red-blue Eulerian trail T . Let W be the subwalk of T such that W = (v a , e a , v i , f, v j , e b , v b ). Take two maximal paths P 1 and P 2 in H |P such that the end-vertices of P 1 (respectively P 2 ) are labeled a and i (resp. b and j). Let P be the partial solution of H obtained from P by adding the edge in E H i,j between the end-vertex of P 1 labeled i and the end-vertex of P 2 labeled j. By construction, we have P ∈ A + (i, j) and aux H ( P) M admits a red-blue Eulerian trail. We conclude that A + (i, j) H B + (i, j).

Let Π(D) + t(i, j) be the set of partial solutions of H obtained by applying t times the operation +(i, j) on Π(D). Since every partial solution of H is obtained from the union of a partial solution of D and a subset of E H i,j of size at most n, we have Π(H) = 0≤t≤n (Π(D) + t(i, j)).

Since V (D) = V (H) and E(D) ⊆ E(H), we have A 0 D = A D H Π(D) + 0(i, j). Let ∈ {1, . . . , n} and suppose that A -1 D H Π(D) + ( -1)(i, j). From Claim 4.77.1, we have A -1 D + (i, j) H Π(D) + (i, j). By Lemma 4.74, we deduce that

A D = reduce(A -1 D + (i, j)) H Π(D) + (i, j).
Thus, by recurrence, for every 0 ≤ ≤ n, we have A D H Π(D) + (i, j). We conclude that

A 0 D ∪ • • • ∪ A n D H Π(H).
We are now ready to prove the main theorem of this section.

(n 2k+5 • 2 2k(log 2 (k)+1) • k 3 • log 2 (nk)).
Proof. Since every k-expression can be transformed into an irredundant k-expression in linear time, we may assume that φ is an irredundant k-expression.

We do a bottom-up traversal of the k-expression and at each k-labeled graph H arising in φ, we compute a set A H ⊆ Π(H) such that |A H | ≤ n k 2 k(log(k)+1) and A H H Π(H), by doing the following:

• If H = i(v), then we have Π(H) = {∅} because E(H) = ∅. In this case, we set A H := {∅}.

Obviously, we have A H H Π(H).

• If H = ρ i,j (D), then we set A H := A D .

•

If H = D ⊕ F , then we set A H := reduce H (A D ⊗ A F ). • If H = η i,j (D), then we set A H := reduce H (A 0 D ∪ • • • ∪ A n D ).
For the last three cases, we deduce, by induction, from Lemma 4. [START_REF] Golovach | Cliquewidth III: the odd case of graph coloring parameterized by cliquewidth[END_REF]

| ≤ n k • 2 k(log(k)+1) .
We now explain how our algorithm decides whether G admits a Hamiltonian cycle. We claim that G has a Hamiltonian cycle if and only if there exist two k-labeled graphs H and D arising in φ with V (H) = V (G) and H = η i,j (D), and there exists P ∈ A D such that, for every

∈ [k] \ {i, j}, we have deg aux D (P) (v ) = 0 and deg aux H (P) (v i ) = deg aux H (P) (v j ) > 0.
First suppose that G contains a Hamiltonian cycle C and take the k-labeled graph H arising in φ such that E(C) ⊆ E(H) and |E(H)| is minimal. Note that the operations of taking the disjoint union of two graphs or relabeling cannot create a Hamiltonian cycle. Thus, by minimality, we have H = η i,j (D) such that • D is a k-labeled graph arising in φ and i, j ∈ [k],

• E(C) ⊆ E(D).

(P ) (v i ) = deg aux H (P ) (v j ).
For the other direction, suppose that the latter condition holds. Let Q be the graph on the vertex set V (G) such that it contains exactly deg aux H (P) (v i ) many edges between the set of vertices labeled i and the set of vertices labeled j. Observe that aux H (Q) consists of deg aux H (P) (v i ) many edges between v i and v j . Therefore, by Lemma

| ≤ n k • 2 k(log 2 (k)+1) . It follows that: • If H = D ⊕ F , then we have |A D ⊗ A F | ≤ n 2k • 2 2k(log 2 (k)+1) . Thus, we can compute A H := reduce H (A D ⊗ A F ) in time O(n 2k+1 • 2 2k(log 2 (k)+1) • k 2 log 2 (nk)). • If H = η i,j (D), then we can compute A H in time O(n k+4 • 2 k(log 2 (k)+1) • k 2 log 2 (nk)).
First observe that, for every partial solution P of H, we have |P + (i, j)| ≤ n 2 and we can compute the set P + (i, j) in time O(n 2 ). Moreover, by Lemma 4.68, for every ∈ {0, . . . , n -1}, we have

|A D | ≤ n k • 2 k(log 2 (k)+1
) and thus, we deduce that

|A D + (i, j)| ≤ n k+2 •2 k(log 2 (k)+1) and that A +1 D can be computed in time O(n k+3 •2 k(log 2 (k)+1) •k 2 log 2 (nk)). Thus, we can compute the sets A 1 D , . . . , A n D in time O(n k+4 • 2 k(log(k)+1) • k 2 log 2 (nk)). The running time to compute A H from A D follows from |A 0 D ∪ • • • ∪ A n D | ≤ n k+1 • 2 2k(log 2 (k)+1) .
Since φ uses at most O(n) disjoint union operations and O(nk 2 ) unary operations, we deduce that the total running time of our algorithm is

O(n 2k+5 • 2 2k(log 2 (k)+1) • k 4 log 2 (nk)).

Directed Hamitonian cycle

In this subsection, we explain how to adapt our approach for directed graphs.

A k-labeled digraph is a pair (G, lab G ) of a digraph G and a function lab G from V (G) to [k].
Directed clique-width is also defined in [START_REF] Courcelle | Handle-rewriting hypergraph grammars[END_REF], and it is based on the four operations, where the three operations of creating a digraph, taking the disjoint union of two labeled digraphs, and relabeling a digraph are the same, and the operation of adding edges is replaced with the following:

• For a labeled digraph G and distinct labels i, j ∈ [k], add all the non-existent arcs from vertices with label i to vertices with label j (so we do not add arcs of both directions altogether).

A directed clique-width k-expression and directed clique-width are defined in the same way. A directed Hamiltonian cycle of a digraph G is a directed cycle containing all the vertices of G.

The Directed Hamiltonian Cycle problem asks, for a given digraph G, whether G contains a directed Hamiltonian cycle or not. With a similar approach, we can show the following. For Directed Hamiltonian Cycle, auxiliary graphs should be directed graphs. We define partial solutions and auxiliary multigraphs similarly, at the exception that a directed maximal path (resp. H-path) from a vertex labeled i to a vertex labeled j in a partial solution (resp. complement solution) corresponds to an arc (v i , v j ) in its auxiliary multigraph.

Let G be an n-vertex directed graph and φ be a directed irredundant k-expression of G. Similarly to the proof of Theorem 4.78, for every k-labeled graph H arising in φ, we recursively compute a set A H of small size such that A H represents Π(H) which is the set of all partial solutions of H.

It is not hard to see that Lemmas 4.69 and 4.70 hold also in the directed case. That is, we have an equivalence between directed Hamiltonian cycles in graphs and directed red-blue Eulerian trails in directed multigraphs. Thus, to adapt our ideas for undirected graphs, we only need to characterize the directed multigraphs which admit a red-blue Eulerian trail. Fleischner [56, Theorem VI.17] gave such a characterization for directed graphs without loops and multiple arcs, but the proof can easily be adapted for directed multigraphs.

Let M be a directed multigraph whose arcs are colored red or blue, and let R and B be respectively its set of red and blue arcs. We denote by M * the digraph derived from M with

V (M * ) := {v 1 , v 2 : v ∈ V (M )} and E(M * ) := {(v 1 , w 2 ) : (v, w) ∈ B}∪{(v 2 , w 1 ) : (v, w) ∈ R}.
For a digraph G and a vertex v of G, we denote by deg + G (v) and deg - G (v), respectively, the outdegree and indegree of v in G. Lemma 4.80 (Fleischner [56]). Let M be a directed multigraph whose arcs are colored red or blue. The following are equivalent.

1. M has a red-blue Eulerian trail. In (3), the condition that "for each vertex v of M * , deg + M * (v) = deg - M * (v)" can be translated to that, for each vertex v of M , the number of blue incoming arcs is the same as the number of red outgoing arcs, and the number of red incoming arcs is the same as the number of blue outgoing arcs. However, an important point is that instead of having that the underlying undirected graph of M * has at most one connected component containing an edge, the condition that "the underlying graph of M is connected" or "M is strongly connected" is not sufficient, because the connectedness of M * depends on the colors of arcs. We give an example 9 . Let G be a graph on {x, y, z} with red arcs (x, y), (y, z) and blue arcs (z, y), (y, x). Even though G is strongly connected, it does not have a red-blue Eulerian trail, and one can check that M * has two connected components containing an edge.

To decide whether the underlying undirected graph of M * has at most one connected component containing an edge, multiple arcs are useless. So, it is enough to keep one partial solution P for each degree sequence in aux H (P) and for each set {mult aux H (P) (e) : e ∈ E(aux H (P))}.

Let be the equivalence relation on Π(H) such that P 1 P 2 if the following are satisfied:

• for every pair (v, w) of vertices in {v 1 , . . . , v k }, there exists an arc from v to w in aux H (P 1 ) if and only if there exists one in aux H (P 2 ),

• for every vertex v in {v 1 , . . . , v k }, deg + aux H (P 1 ) (v) = deg + aux H (P 2 ) (v) and deg - aux H (P 1 ) (v) = deg - aux H (P 2 ) (v).
From Lemma 4.80 and the definition of M * , we deduce the following fact.

Conclusion

In Subsection 2.6.2, we have already raised some open problems concerning problems which are W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-hard parameterized by clique-width (see Open question 2.66).

We conclude with one explicit question. A digraph D is an out-tree if D is an oriented tree (an undirected tree with orientations on edges) with only one vertex of indegree zero (called the root). The vertices of out-degree zero are called leaves of D. The Min Leaf Out-Branching problem asks for a given digraph D and an integer , whether there is a spanning out-tree of D with at most leaves. This problem generalizes Hamiltonian Path (and also Hamiltonian Cycle) by taking = 1. Ganian, Hliněný, and Obdržálek [START_REF] Ganian | Clique-width: when hard does not mean impossible[END_REF] showed that there is an n 2 O(k) -time algorithm for solving Min Leaf Out-Branching problem, when a clique-width k-expression of a digraph D is given. This raises naturally the following question.

Open Question 4.82. Is the problem Minimum Leaf Spanning Tree solvable in time n O(k) when a clique-width k-expression of the input digraph is given? (or the cycles) of length k of an n-vertex graph, for any function f , even through there is a 2 O(k) • n O(1) time algorithm for finding a path (or cycle) of length k [2].

Counting Minimal Transversals of β-acyclic Hypergraph

In this section, we show that we can count in polynomial time the minimal transversals of β-acyclic hypergraphs. The Transversal Enumeration problem (enumerating the minimal transversals) was already known to be tractable for this class [START_REF] Eiter | Hypergraph transversal computation and related problems in logic and AI[END_REF] and computing the number of transversals is polynomial [START_REF] Brault-Baron | Understanding model counting for beta-acyclic cnf-formulas[END_REF]. However, the complexity of computing the number of minimal transversals was still unknown. More precisely, we prove the following theorem: Theorem 5.2. The number of minimal transversals of a β-acyclic hypergraph can be computed in polynomial time.

A direct consequence of our result is the following corollary concerning the counting of minimal dominating sets in a subclass of chordal graphs, called strongly chordal graphs.

Corollary 5.3. The number of minimal dominating sets of a strongly chordal graph is computable in polynomial time.

Notice that strongly chordal graphs have unbounded mim-width [START_REF] Mengel | Lower bounds on the mim-width of some graph classes[END_REF], thus Corollary 5.3 is not implied by Theorem 5.1.

Besides the polynomial time algorithm, the main contribution of this chapter is the modification of the framework considered in [START_REF] Capelli | Understanding the complexity of #sat using knowledge compilation[END_REF] in order to count minimal models. The techniques used in [START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF][START_REF] Mamadou | On the enumeration and counting of minimal dominating sets in interval and permutation graphs[END_REF] are based on structural restrictions and as shown in [START_REF] Capelli | Understanding the complexity of #sat using knowledge compilation[END_REF] cannot work for β-acyclic hypergraphs. Instead, Capelli showed in [START_REF] Capelli | Understanding the complexity of #sat using knowledge compilation[END_REF] how to construct, from the elimination ordering of a β-acyclic hypergraph associated with a boolean formula, a circuit whose satisfying assignments correspond to the models of the boolean formula. Such circuits are known as decision Decomposable Negation Normal Form in knowledge compilation. While the technique allows to count the models of non-monotone formulas, it cannot be used to count the minimal models. Indeed, the branchings of the constructed circuit do not allow to control the minimality. We overcome this difficulty by introducing the notion of blocked transversals, which corresponds roughly to the minimal transversals of a sub-hypergraph that are transversals of the whole hypergraph. We then show that blocked transversals can be used to control the minimality in the construction of the circuit. However, this control is only possible in the case of monotone Boolean formulas, corresponding to counting the minimal transversals of β-acyclic hypergraphs.

Because of technical definitions, we postpone the details of the algorithm in Subsection 5.2.2. The chapter is organized as follows. In Subsection 5.2.1, we present the concepts related to hypergraphs and transversals, then we define the concept of blocked transversals and we give some intermediate lemmas concerning this concept. In Subsection 5.2.2, we start by refining the decomposition of β-acyclic hypergraphs proposed in [START_REF] Capelli | Understanding the complexity of #sat using knowledge compilation[END_REF] to take into account blocked transversals. In Subsection 5.2.3, we show how to obtain Corollary 5.3 and we discuss about how it partially answers a conjecture raised by Kanté and Uno [START_REF] Moustapha | Counting minimal dominating sets[END_REF]. We conclude by discussing about the possible extensions of our result and in particular, we present two width measures on hypergraphs which could potentially be used to extend our result.

Definitions and notations

Hypergraphs

A hypergraph H is a collection of subsets of a finite ground set. The elements of H are called the hyperedges of H and the vertex set of H is V (H) := e∈H e.

Given S ⊆ V (H), we denote by H[S] the hypergraph induced by S, that is, H[S] := {e ∩ S : e ∈ H}. Any subset H of H is called a sub-hypergraph of H. Observe that if there exists e ∈ H such that e ⊆ V (H)\S, then ∅ ∈ H[S]. We do not enforce hypergraphs to have non-empty edges or to be non-empty. However, a hypergraph with an empty edge may behave counter-intuitively. In the following definitions, we explicitly explain the extremal cases where ∅ ∈ H or H = ∅.

Given a hypergraph H and a subset S ⊆ V (H) of its vertex set, we denote by H(S) the set of hyperedges of H containing at least one vertex in S, that is, H(S) := {e ∈ H : S ∩ e = ∅}; to ease notations, we write H(x) instead of H({x}) for x ∈ V (H). Observe that H(x) is the set of hyperedges containing x. We use this notation on sub-hypergraphs of H, but also on sets of (minimal) transversals of H. For the hypergraph H shown in Figure 5 A hypergraph H is said β-acyclic if there exists an ordering x 1 , . . . , x n of V (H) such that for each 1 ≤ i ≤ n, the set {e ∩ {x i , . . . , x n } : e ∈ H, x i ∈ e} is linearly ordered by inclusion. Such an ordering is called a β-elimination ordering. It is well-known that every sub-hypergraph H of a β-acyclic hypergraph H is β-acyclic as well (see for instance [START_REF] Eiter | Identifying the minimal transversals of a hypergraph and related problems[END_REF]).

Transversals

Let H be a hypergraph. A transversal for H is a subset T ⊆ V (H) such that for every e ∈ H, T ∩ e = ∅. We denote by tr(H) the set of transversals of H. Observe that if ∅ ∈ H, then tr(H) = ∅ as for every T ⊆ V (H), ∅ ∩ T = ∅, so T cannot be a transversal of H. Finally, observe that if H = ∅, then tr(H) = {∅}.

A transversal T of H is minimal if and only if for every x ∈ T , it holds that T \ {x} / ∈ tr(H). A hyperedge e such that e ∩ T = {x} is said to be private for x w.r.t. T . When T is clear from the context, we may refer to such hyperedges as simply privates for x. The following fact follows directly from the definitions: Fact 5.4. T is a minimal transversal of a hypergraph H if and only if T is a transversal of H and each vertex x ∈ T has a private.

We denote by mtr(H) the set of minimal transversals of H. Again, observe that if H = ∅, then mtr(H) = {∅}. It is worth noticing that since the sets tr(H) and mtr(H) are sets of subsets of 2 V (H) , they may be seen as hypergraphs on V (H). Thus, we will sometimes use the notations tr(H)(S) (resp. mtr(H)(S)) which refer to the transversals (resp. minimal transversals) T of H such that S ∩ T = ∅.

Blocked transversals

Our algorithm uses a dynamic programming approach by finding a relation between the number of minimal transversals of a β-acyclic hypergraph H with the number of minimal transversals of some specific subhypergraphs of H. However, it is not possible to directly relate these quantities together. To illustrate this fact, let H be the hypergraph depicted in Figure 5.1. The minimal transversals of H containing x are {a, x, c}, {a, x, d} and {b, x, d}. Observe that removing x from these sets directly yields a minimal transversal of H \ H(x) = {{a, b}, {c, d}}. However, adding x to a minimal transversal of H \ H(x) does not give necessarily a minimal transversal of H. For example, we have {b, c} ∈ mtr(H \ H(x)), but {b, x, c} / ∈ mtr(H). In fact, we can show in general that T ∪ x ∈ mtr(H) if and only if T is a minimal transversal of H \ H(x) and T is not a transversal of H. Consequently, the number of minimal transversals of H containing x is #mtr(H \ H(x)) -#(tr(H) ∩ mtr(H \ H(x))).

(5.1)

We can infer from this fact a recursive formula to compute #mtr(H). In the general case, using this formula as it is will lead to the computation of an exponential number of terms. In this subsection, we will make this relation more precise by introducing the notion of blocked transversal. In the next subsection, we will show how we can use this relation to evaluate the number of minimal transversals of a β-acyclic hypergraph with only a polynomial number of intermediate values.

Given a hypergraph H, a sub-hypergraph H ⊆ H and B ⊆ V (H), we define the B-blocked transversals of H to be the transversals T of H such that each vertex x of T has a private in H \ H (B). In particular, if y is a vertex of B, then y cannot be in a B-blocked transversal of H . Observe also that if y ∈ V (H) \ V (H ), then y cannot be in a B-blocked transversal of H . Proof. If T is a transversal of H such that each vertex x of T has a private in H \ H (B), then T ⊆ V (H \ H (B)) and is a transversal of H \ H (B). Thus by Fact 5.4 T is a minimal transversal of H \ H (B). Conversely, if T is a minimal transversal of H \ H (B), then by Fact 5.4 each vertex x has a private in H \ H (B). If in addition it belongs to the set of transversals of H , then it is a B-blocked transversal of H by definition.

As an example, let H be the hypergraph depicted in Figure 5.1, H = H and B = {x}. The only B-blocked transversal of H is {b, c}. While {b, d} is a minimal transversal of H \ H(x), it is not a B-blocked transversal as the hyperedge {x, c} does not intersect {b, d}.

We call the set H (B) the blocked hyperedges. Intuitively, H (B) is the set of hyperedges that cannot be used as privates in a transversal of H . We denote by btr B (H ) the set of B-blocked transversals of H . By Fact 5.5, we have Observe that by definition, mtr(H) = btr ∅ (H). Moreover, if H(B) = H = ∅, then btr H (H) = ∅ as mtr(∅) = {∅} and ∅ / ∈ tr(H). When B = {x}, we denote btr B (H) by btr x (H). Given S ⊆ V (H), we denote by tr(H, S) := {T ∈ tr(H) : T ⊆ S}. We extend this notation to mtr and btr as well. The following summarizes observations about blocked transversals. Fact 5.6. Let H be a sub-hypergraph of a hypergraph H and B, S ⊆ V (H). Then, 1. btr B (H ) = btr B∩V (H ) (H ).

2. btr B (H , S) = btr B (H , S \ B).

If x /

∈ V (H ), then btr B (H , S) = btr B (H , S \ {x}).

Let us briefly explain how B-blocked transversals will be used in computing #mtr(H). One checks easily that #mtr(H) = #mtr(H, V (H) \ {x}) + #mtr(H)(x). By Equation 5.1, #mtr(H)(x) = #mtr(H \ H(x)) -#btr x (H). Therefore, we have #mtr(H) = #btr ∅ (H) = #btr ∅ (H, V (H) \ {x}) + #btr ∅ (H \ H(x)) -#btr x (H).

We will show in the next subsection that we can define, from the β-elimination ordering of a β-acyclic hypergraph H, sub-hypergraphs H 1 , . . . , H q ⊆ H and vertices x 1 , . . . , x q such that, for all 1 ≤ i ≤ q, #btr x i (H i ) and #btr ∅ (H i ) can be computed in polynomial time if #btr x j (H j ) and #btr ∅ (H j ) are known for all j < i. As a consequence, one can compute #mtr(H) by classical dynamic programming for any β-acyclic hypergraph.

The end of this subsection is dedicated to the proof of several crucial lemmas concerning recursive formulas for computing the number of blocked transversals, and that will be useful in our algorithm. We start by describing the blocked transversals of a hypergraph having more than one connected component. Proof. Assume that ∅ ∈ H[S], it means that there exists a hyperedge e ∈ H such that e∩S = ∅. In this case, btr B (H, S) = ∅. Moreover, there exists i ∈ [1, k] such that C i = {∅} and e ∈ H i . Thus, btr B (H i , S) = ∅ and the equality holds in this case.

Assume from now that ∅ / ∈ H[S]. Let T ∈ btr B (H, S). We show that for all i ≤ k, T i = T ∩ V (H i ) ∈ btr B (H i , S). Let e ∈ H i . Since e ∈ H, we have e ∩ T = ∅. As e ∈ H i , we have e ⊆ V (H i ). Thus e ∩ T i = ∅, that is, T i ∈ tr(H i , S). Moreover, let y ∈ T i . By definition of T , there exists e ∈ H \ H(B) such that e is private for y w.r.t. T . Observe that we have T i ⊆ S ∩ V (H i ) = V (C i ) since T ⊆ S. Thus, y ∈ V (C i ) and e ∩ S ∈ C i , because C i is a connected component. We can conclude that e ∈ H i and e is private to y w.r.t. T i and H i \H(B) = H i \H i (B). Thus T i is a minimal transversal of H i \H i (B). That is T i ∈ btr B (H i , S). Now let T 1 ∈ btr B (H 1 , S), . . . , T k ∈ btr B (H k , S). We show that T = k i=1 T i ∈ btr B (H, S). Let e ∈ H. As H = k i=1 H i , there exists i such that e ∈ H i . Thus e ∩T i = ∅ and thus e ∩T = ∅, that is, T ∈ tr(H). It remains to show that T ∈ mtr(H \ H(B)). Let y ∈ T . By definition of T , there exists i such that y ∈ T i . Thus, there exists e ∈ H i \ H i (B) that is private for y w.r.t. T i . Moreover, since H i (B) = H i ∩ H(B), we know that e / ∈ H(B). As C 1 , . . . , C k are the connected component of H[S], we have that, for every j = i, V (C i ) ∩ V (C j ) = ∅. Moreover, for all ≤ k, we have S ∩ V (H ) = V (C ). As e ⊆ V (H i ) and T j ⊆ S ∩ V (H j ), we have for every j = i:

e ∩ T j ⊆ V (H i ) ∩ S ∩ V (H j ) = V (C i ) ∩ V (C j ) = ∅.
Thus, e ∩ T = e ∩ T i = {y}. In other words, e is private for y w.r.t. T and H \ H(B). That is T ∈ btr B (H).

We recall that btr B (H, S)(x) is the set of B-blocked transversals T of H such that T ⊆ S and x ∈ T . The following lemma shows that for any B-blocked transversal T ⊆ S of H containing x, we have T \ x is a B-blocked transversal of H \ H(x). Lemma 5.8. Let H be a hypergraph, S, B ⊆ V (H) and x ∈ S. We have btr B (H, S)(x) ⊆ {{x}} btr B (H \ H(x), S \ {x}).

Proof. Let H 1 := H \ H(x). Let T ∈ btr B (H, S)(x). By definition, x ∈ T and T ⊆ S, thus we only have to show that T = T \ {x} ∈ btr B (H 1 ). Let e ∈ H \ H(x). Since T is a transversal of H, there exists y ∈ e ∩ T . Moreover, by definition, x / ∈ e, thus y ∈ T , that is, T is a transversal of H\H(x). It remains to show that T is a minimal transversal of H 1 \H 1 (B) = H\(H(B)∪H(x)). Let y ∈ T . Since T is a minimal transversal of H \ H(B), there exists e ∈ H \ H(B) such that e is private for y w.r.t. T . Since x ∈ T , we have x / ∈ e, otherwise e would not be private for y w.r.t. T . Thus e ∈ H \ (H(B) ∪ H(x)), that is, e is private to y w.r.t. T in H 1 \ H 1 (B). In other words, T is a minimal transversal of H 1 \ H 1 (B) which concludes the proof.

To complete the previous lemma, we show that for each B-blocked transversal T ⊆ S of H \ H(x), we have T ∪ {x} is a B-blocked transversal of H if and only if T is not a (B ∪ {x})blocked transversal of H \ (H(B) ∩ H(x)). Proof. We prove the lemma by proving first the left-to-right inclusion (Claim 5.9.1) and then the right-to-left inclusion (Claim 5.9.2). But first, notice that H Proof. We start by proving that T = T \ {x} is in tr(H 2 ). Assume towards a contradiction that T / ∈ tr(H 2 ), i.e., there exists e ∈ H 2 such that e ∩ T = ∅. We prove that it implies T ∈ btr B (H, S)(x). First, observe that T ∈ tr(H), since T ∈ tr(H 1 ) = tr(H \ H(x)) and T = T ∪ {x}. Thus, we have e ∩ T = {x} and e ∈ H(x). As e ∈ H 2 = H \ (H(B) ∩ H(x)), we have e ∈ H \ H(B) and then e is a private hyperedge for x w.r.t. T and H \ H(B). Furthermore, every vertex in T has a private hyperedge w.r.t. T and H 1 \ H 1 (B) = H \ (H(B) ∪ H(x)) since T ∈ mtr(H 1 \ H 1 (B)). Thus, every vertex in T has a private hyperedge w.r.t. T and H \ H(B). As T ∈ tr(H), we can conclude that T ∈ mtr(H \ H(B)). Finally, we have T ⊆ S by assumption. Therefore T ∈ btr B (H, S)(x) which is a contradiction. Thus, T ∈ tr(H 2 ).

We now prove that T ∈ mtr(H 2 \ H 2 (B ∪ {x})), that is, we prove the minimality of T in H 2 \ H 2 (B ∪ {x}). Let y ∈ T . Since T ∈ btr B (H 1 ), there exists f ∈ H 1 \ H 1 (B) such that f ∩ T = {y}. Since H 1 \ H 1 (B) = H 2 \ H 2 (B ∪ {x}), every y ∈ T have a private hyperedge in H 2 \ H 2 (B ∪ {x}), that is T ∈ mtr(H 2 \ H 2 (B ∪ {x})). As T ⊆ S \ {x}, we can conclude that T ∈ btr B∪{x} (H 2 , S \ {x}). Claim 5.9.2. For every T ∈ {x} btr B∪{x} (H 2 , S \ {x}), we have T ∈ {x} btr B (H 1 , S \ {x}) \ btr B (H, S)(x).

Decomposition of β-acyclic hypergraphs

The following two lemmas have been proven in [21, Section III-A].

Lemma 5.12 (Theorem 3 in [START_REF] Capelli | Understanding the complexity of #sat using knowledge compilation[END_REF]). For every hyperedge e ∈ H, and x ∈ V (H), we have V (H x e ) ∩ [≥ x] ⊆ e. Lemma 5.13 (Lemma 2 in [START_REF] Capelli | Understanding the complexity of #sat using knowledge compilation[END_REF]). Let e and f be two hyperedges of H such that e ≤ H f , and let x and y be vertices of H such that x ≤ y. If V (H x e ) ∩ V (H y f ) ∩ [≤ x] = ∅, then H x e ⊆ H y f . We prove a lemma on the decomposition of H x e graphs that will be used with Lemma 5.7 to propagate the dynamic programming algorithm. First, we observe that H y f ⊆ H . If S = ∅, it follows from Lemma 5.13 because, in this case, H = H x e . Suppose that S = ∅, by definition of H , we have S f . Moreover, by Lemma 5.12, we have that V (H y f ) ∩ [≥ y] ⊆ f . As S ⊆ [≥ x] and x > y, we have S ⊆ [≥ y]. Thus S V (H y f ) and for all g ∈ H y f , we have S g since g ⊆ V (H y f ). We can conclude that H y f ⊆ H . Now, we prove that every g ∈ H . By the maximality of y and f , P goes only through vertices smaller than y and hyperedges smaller than f . We can construct from P a path P from f to g in H going through vertices smaller than y and hyperedges smaller than f . As H ⊆ H, we can conclude that g ∈ H y f and thus, H y f = {g ∈ H : g ∩ [< x] ∈ C}. Finally, observe that C = H y f [< x] = H y f [≤ y] since y = max(V (C)).

The algorithm

In this subsection, we describe the dynamic programming algorithm we use to count the number of minimal transversals of a β-acyclic hypergraph. We denote by x 1 the smallest element of ≤.

Our goal is to compute #btr ∅ (H x e , [≤ x]) and #btr w (H x e , [≤ x]) for every e ∈ H, x ∈ V (H) and w ∈ V (H) such that x < w. Observe that it is enough for computing the number of minimal transversals of H as #mtr(H) = #btr ∅ (H xn em , [≤ x n ]) where e m is the maximal hyperedge for ≤ H and x n is the maximal vertex for ≤. Indeed, we have H In order to ease the presentation, the computation of #btr ∅ (H x e , [≤ x]) and the computation of #btr w (H x e , [≤ x]) are separated, even though many of the arguments are similar.

Base cases. We observe that for every e ∈ H, H #btr w (H y i f i , [≤ y i ]).

Finally, we explain how to decompose #btr {x,w} (H x e \ (H x e (x) ∩ H x e (w)), [< x]) into a product of pre-computed values. To ease the notation, we denote H x e \ (H x e (x) ∩ H x e (w)) by H . Let K 1 , . . . , K r be the connected components of H [< x]. If there exists i such that K i = {∅}, then #btr {x,w} (H , [< x]) = 0. Otherwise, by Lemma 5.14 applied with S = {x, w}, we have that for every i, there exists y i < x and f i ≤ H e such that H y i f i = {g ∈ H : g ∩ [< x] ∈ K i } and It is easy to see that a straightforward greedy algorithm can be used to compute a βelimination ordering in polynomial time (see [START_REF] Paige | Three partition refinement algorithms[END_REF] for a better algorithm due to Paige and Tarjan). Moreover, the dynamic programming algorithm describes above computes at most O(n 2 |H|) terms and each of them can be computed from the others with a polynomial number of arithmetic operations. Finally, all these terms can be bounded by 2 n since they are all the cardinals of some collection of subsets of the vertices. Thus these arithmetic operations can be done in polynomial time in the size of the input. It follows.

K i = H y i f i [≤ y i ].
Theorem 5.15. Let H be a β-acyclic hypergraph. One can compute in polynomial time the number of minimal transversals of H. In [START_REF] Mamadou | On the enumeration of minimal dominating sets and related notions[END_REF] the authors reduce the Hypergraph Dualisation problem into the enumeration of minimal dominating sets, showing that the two problems are equivalent in the area of enumeration problems (a fact already established in the case of optimization). The reduction indeed shows that the counting versions are equivalent (under Turing reductions), and such a reduction is of big interest because it allows to study counting and enumeration problems associated with the Hypergraph Dualisation in the perspectives of graph theory, where tools had been developed to tackle combinatorial problems.

Applications to the counting of minimal dominating sets

Despite the broad application of counting the minimal dominating sets in (hyper)graphs, the problem was not investigated until recently, except in [START_REF] Courcelle | The monadic second-order logic of graphs XVI : Canonical graph decompositions[END_REF] where it is proved that the models of any monadic second-order formula can be counted in polynomial time in graphs of bounded clique-width. Indeed, as far as we know the counting of minimal dominating sets is only considered in [START_REF] Mamadou | On the enumeration and counting of minimal dominating sets in interval and permutation graphs[END_REF][START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF][START_REF] Moustapha | Counting minimal dominating sets[END_REF]. This problem is known to be polynomial on interval graphs and permutation graphs [START_REF] Mamadou | On the enumeration and counting of minimal dominating sets in interval and permutation graphs[END_REF]. However, the systematic study of its computational complexity in graph classes is only considered in [START_REF] Moustapha | Counting minimal dominating sets[END_REF], where the authors proved the #P-completeness in several graph classes and asked whether the following dichotomy conjecture is true. A k-sun is a graph obtained from a cycle of length 2k (k ≥ 3) by adding edges to make the even-indexed vertices pairwise adjacent. Figure 5.2 represents a 3-sun, a 4-sun and a 5-sun.

3-sun

4-sun 5-sun A graph is chordal if it does not contain cycles of length at least 4 as induced subgraphs. This conjecture is motivated by the recursive structure of the chordal graphs excluding the k-sun, for k ≤ 4.

We make a first step towards a proof of the first statement of the conjecture and provide a polynomial time algorithm for computing the number of minimal dominating sets in strongly chordal graphs, which are exactly chordal graphs without k-suns, for k ≥ 3.

Corollary 5.17. Let G be a strongly chordal graph. One can count in polynomial time the number of minimal dominating sets of G.

Proof. Let G be a strongly chordal graph. It is well-known that the hypergraph N [G] is βacyclic [START_REF] Brandstädt | Graph classes: a survey[END_REF]. By Theorem 5.15, one can count in polynomial time the minimal transversals of N [G], which are exactly the minimal dominating sets of G.

Observe that this result is not implied by Theorem 5.1 as the mim-width of strongly chordal graphs is unbounded [START_REF] Mengel | Lower bounds on the mim-width of some graph classes[END_REF].

Extension

We have proposed a polynomial time algorithm for counting the minimal transversals of βacyclic hypergraphs, supporting Conjecture 5.16. It seems that the technique can be adapted to consider the counting of minimal (inclusion-wise) d-transversals of β-acyclic hypergraphs. Given d ∈ N + , a d-transversal of a hypergraph H is a set of vertices X ⊆ V (H) such that for every edge e ∈ E(H), we have |X ∩ e| ≥ d.

Besides resolving Conjecture 5.16, one might be interested in extending our result to the counting of minimal models of a CNF formula. Let us introduce some definitions on CNF formulas. Given a CNF formula F , for each clause C, we can associate a hyperedge E C that contains all the variables occurring in C. The hypergraph associated with a CNF formula F is C∈F {E C }. A CNF formula is said β-acyclic if its associated hypergraph is β-acyclic. A model τ of a CNF formula F is minimal if and only if for every variable x interpreted as true by τ , there exists a clause C such that the only literal of C interpreted as true by τ is x.

Capelli [START_REF] Capelli | Understanding the complexity of #sat using knowledge compilation[END_REF] proved that we can count the models of a β-acyclic formula in polynomial time. We have proved that the minimal models of a monotone β-acyclic formula can be counted in polynomial time. Indeed, there is a one-to-one correspondence between the minimal models of a monotone CNF formula and the minimal transversals of its associated hypergraph. These two results lead naturally to the following question.

Open Question 5.18. Can we count in polynomial time the minimal models of a non-monotone β-acyclic CNF formula?

Let us explain, briefly, why we cannot answer the above question with our techniques. Recall that, in order to compute #btr w (H x e , [≤ x]), we need to compute #btr {x,w} (H x e \ (H x e (x) ∩ H x e (w)), [< x]). If we apply our techniques to count the minimal models of a β-acyclic CNF formula, then we have to face a similar situation. More precisely, for some β-acyclic CNF formula F , we have to compute the number N of assignments that are the minimal models of the two following CNF formulas (restricted to the variables in [< x]):

• the formula F obtained from F by removing the clauses containing a positive occurrence of x or w,

• F the formula obtained from F by removing the clauses where both x and w occurs positively.

This is needed to compute what we might call w-blocked models of F restricted to the variables in [≤ x] (the analog of #btr w (H x e , [≤ x])). Similarly to the minimal transversal case, we can express N as a product of terms corresponding to the numbers of {x, w}-blocked models of some subformulas of F . Moreover, each of these subformulas can be described with one variable and one clause as we do for the hypergraphs H y f [≤ y] (see [START_REF] Capelli | Structural restrictions of CNF formulas: application to model counting and knowledge compilation[END_REF]). But, unlike the hypergraph H x e \ (H x e (x) ∩ H x e (w)), the hypergraph H associated with F may admit hyperedges containing both x and w. This is due to the fact that some clauses in F may contain {¬x, w}, {x, ¬w}, or {¬x, ¬w}. We can not delete these clauses since we are looking for the number of minimal models of F that do not give a model of F with x and w assigned to true. Consequently, we cannot prove an analog of Claim 5.14.1 for CNF formulas. That is, to compute N , we have to compute the number of {x, w}-blocked models of some subformulas of F where both x and w may occur. Hence, adapting our algorithm to non-monotone CNF formula leads to the computation of the number of B-blocked models, for an exponential number of sets B.

It would be interesting to extend our results on β-acyclic hypergraphs via a width measure on hypergraphs. For doing so, we can use β-hypertree-width, a parameter introduced in [START_REF] Gottlob | Hypertree decompositions and tractable queries[END_REF] which is a generalization of tree-width on hypergraphs (both notions collapse when restricted to graphs). It is known that a hypergraph has β-hypertree-width 1 if and only if it is β-acyclic. Besides this, we do not know much about β-hypertree-width. In fact, the only characterization we have of β-hypertree-width is obscure and cannot be used to design algorithms. For instance, we do not even know whether SAT is solvable in polynomial time on CNF formulas whose hypergraphs have β-hypertree-width 2. Moreover, the complexity of determining the β-hypertree-width of a hypergraph is open [START_REF] Gottlob | Hypergraphs in model checking: Acyclicity and hypertree-width versus clique-width[END_REF]. A better understanding of this parameter is necessary in order to obtain algorithmic applications. On the other hand, Ordyniak, Paulusma, and Szeider [START_REF] Ordyniak | Satisfiability of acyclic and almost acyclic CNF formulas[END_REF] proved that SAT is W[1]-hard parameterized by the β-hypertree-width. Consequently, counting the (minimal) models of CNF formulas is also W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-hard parameterized by the β-hypertree-width of the associated hypergraphs. Whether there exist XP algorithms for these problems is open.

In [START_REF] Capelli | Structural restrictions of CNF formulas: application to model counting and knowledge compilation[END_REF], Capelli introduced a parameter called cover-width which may be an interesting alternative to β-hypertree-width. The definition of cover-width is based on a generalization of the elimination order from which we can define tree-width. Capelli [START_REF] Capelli | Structural restrictions of CNF formulas: application to model counting and knowledge compilation[END_REF] proved that:

• computing the cover-width of a hypergraph is NP-hard,

• a hypergraph has cover-width 1 if and only if it is β-acyclic,

• the β-hypertree-width of a hypergraph H is at most 3 • k + 1 with k the cover-width of H.

Contrary to β-hypertree-width, the definition of cover-width is suited to design algorithms. Indeed, Capelli [START_REF] Capelli | Structural restrictions of CNF formulas: application to model counting and knowledge compilation[END_REF] showed that, given a CNF formula F with a hypergraph H and an elimination ordering on V (H) of cover-width k, we can count the models of F by doing O(n k •m k ) arithmetic operations with n and m the number of variables and clauses of F (we do not know whether these arithmetic operations can be performed in polynomial time). The approach used by Capelli to obtain this algorithm is quite similar to the one he used on β-acyclic hypergraphs [START_REF] Capelli | Structural restrictions of CNF formulas: application to model counting and knowledge compilation[END_REF][START_REF] Capelli | Understanding the complexity of #sat using knowledge compilation[END_REF]. Thus, cover-width is a good candidate to generalize our result on the counting of minimal transversals of β-acyclic hypergraphs. However, there is still much to understand on this width measure. For example, can we bound the cover-width of any hypergraph in function of its β-hypertree-width? What is the parameterized complexity of computing the cover-width of a hypergraph? Chapter 6

Conclusion

In this thesis, we have presented many open questions about width measures. The hardest ones are certainly those concerning their computations (see Section 2.5). One of the most interesting concerns the algorithmic applications of rank-width and whether we can obtain 2 o(rw(G) 2 ) • n O (1) time algorithms for NP-hard problems (see Question 2.59). In this chapter, we would like to present two general open questions that are transversal to the different chapters of this thesis.

In Chapter 2, we presented Courcelle's theorem and its variants for clique-width. These theorems are incredibly useful to know whether a problem is FPT when parameterized by a width measure such as tree-width, clique-width, rank-width, etc. But these meta-theorems do not give any hint about how fast we can solve a problem. To obtain efficient algorithms, we have to lose generality, but it does not mean that we have to look at each width measure and each problem separately. This leads naturally to the following question.

Open Question 6.1. For each width measure f, can we characterize a huge number of graph problems which admit an efficient FPT (or XP) algorithm parameterized by the f-width of a given decomposition? For example, can we characterize a huge number of graph problems which admit a 2 O(mw(L)) • n O(1) time algorithm with L a given rooted layout?

This question has already been answered positively by Pilipczuk for tree-width in [START_REF] Pilipczuk | Problems parameterized by treewidth tractable in single exponential time: A logical approach[END_REF] where he introduced a variant of modal logic which captures a vast majority of problems known to be solvable in 2 O(k) • n O (1) with k the tree-width of the input graph. The framework designed in [START_REF] Bui-Xuan | Feedback vertex set on graphs of low clique-width[END_REF] for (σ, ρ)-Dominating Set problems and extended in Section 4.2 to the acyclic and connected variants of this family of problems shows that we can answer positively this latter question without looking at each width measure separately. In Subsection 2.6.2, we asked whether we can extend this approach to problems that are W [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-hard parameterized by clique-width. Let us be more ambitious. Can we design a framework from which we can obtain the best known algorithms for many graph problems and many width measures? Notice that we can naturally divide this question into two parts.

• The first part consists into designing a language L to express graph problems like the family of (σ, ρ)-Dominating Set problems.

• The second part consists in creating a framework that, given the expression of some problem in L , provides an efficient algorithm for each width measure. The algorithms in [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF][START_REF] Pilipczuk | Problems parameterized by treewidth tractable in single exponential time: A logical approach[END_REF] and in Section 4.2 are three examples of such framework.

To attack these questions, one could start by extending the results obtained in [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] and in Section 4.2. For example, it would be interesting to study other kinds of connectivity and acyclicity

Figure 1 -

 1 Figure 1 -La Sous-figure (a) présente un graphe G. La Sous-figure (b) montre un arbuste (T, δ) de G avec r comme racine de T . Observez que l'ensemble de sommets associé au noeud i est V i := {v 1 , v 3 , v 4 }. Les Sous-figures (c) et (d) représentent, respectivement, le graphe biparti et la matrice d'adjacence associés avec les ensembles de sommets V i et V (G) \ V i .

  est le voisinage de v dans G. Il est assez simple de vérifier que c'est une relation d'équivalence, et si d = 1, alors celle relation mesure le nombre de voisinages différents dans V (G) \ A générés par les sous-ensembles de A. Dans la Section 4.2, nous utilisons une largeur définie à partir de la relation de d-voisinage appelée la largeur de d-voisins. Cette dernière correspond à la s-nec d -largeur où s-nec d (A) est le maximum entre nec d (A) et nec d (A \ V (G)) avec nec d (B), le nombre de classes d'équivalence de la d-voisins équivalence sur B. Notons que la largeur booléenne introduite dans

Figure 2 -

 2 Figure 2 -Subfigure (a) shows a graph G. Subfigure (b) shows a layout (T, δ) of G with r as root of T . Observe that the vertex set associated with the node i is V i := {v 1 , v 3 , v 4 }. Subfigures (c) and (d) show, respectively, the bipartite graph and the adjacency matrix associated with the vertex sets V i and V (G) \ V i .

Definition 1 . 2 (

 12 nec d ). For a graph G and d ∈ N + , we let nec d : 2 V (G) → N where for all A ⊆ V (G), nec d (A) is the number of equivalence classes of ≡ d A . Observation 1.3. Notice that while nec 1 is a symmetric function [98, Theorem 1.2.3], nec d is not necessarily symmetric for d ≥ 2. For example, if a vertex x of G has c neighbors, then for every d ∈ N + , we have nec d ({x}) = 2 and nec d ({x}) = 1 + min(d, c).

8 .

 8 The most famous example of an FPT problem is certainly the k-Vertex Cover problem parameterized by the size of the solution, whose definition is the following. k-Vertex Cover Input: A graph G and k ∈ N. Parameter: k. Output: Does G admit a vertex cover of size k? Algorithm 1 presents the pseudo-code of the famous O(2 k • n) time algorithm for k-Vertex Cover. Algorithm 1: A(G, k) Data: A graph G and k ∈ N. Result: Answer whether G admits a vertex cover of size at most k

  : A graph G and k ∈ N + . Parameter: k. Output: Does G admit a clique of size k? k-Dominating Set Input: A graph G and k ∈ N. Parameter: k. Output: Does G admit a dominating-set of size k?

Conjecture 1 . 19 (

 119 Strong Exponential Time Hypothesis, SETH).

Definition 2 .

 2 11 (d-neighbor-width). For every graph G and d ∈ N + , the d-neighbor-width of G corresponds to the s-nec d -width of G where s-nec d : 2 V (G) → N is the symmetric function such that s-nec d (A) = max(nec d (A), nec d (A)).

Definition 2 .

 2 15 (k-labeled graph). A k-labeled graph is a pair (G, lab G ) with G a graph and lab G a function from V (G) to [k], called the labeling function; each set lab -1 G (i) is called a label class. The vertices in lab -1 G (i) are called i-vertices of G or just i-vertices if the underlying graph is clear from the context. The graph decomposition associated with clique-width is called a k-expression. Definition 2.16 (k-expression). Let k ∈ N + . We define the following four operations on klabeled graphs: i(x) : for i ∈ [k], create a graph, with a single vertex x labeled i, ρ i→j (G) : for a labeled graph G and distinct labels i, j ∈ [k], relabel the vertices of G with label i into j, η i,j (G) : for a labeled graph G and distinct labels i, j ∈ [k], add all the non-existing edges between vertices with label i and vertices with label j, G ⊕ H : take the disjoint union of two labeled graphs G and H, with

Figure 2 . 3 -

 23 Figure 2.3 -An irredundant 3-expression of C 5 .

  Proof. Upper bound (a) was proved in [120, Theorem 3.6]. Upper bound (b) was proved in [120, Lemma 3.2]. Upper bound (c) was proved in [120, Lemma 3.2] and follows from the fact that rw Q (A) ≤ mw(A). Upper bound (d) is an implication of Upper bound (b) and Theorem 2.25(c).

  Proof. Upper bound (b) follows directly from nec d (A) ≤ mw(A) mim(A) [132, Lemma 5.2.3]. As mim(A) ≤ rw(A) by Theorem 2.32 and mw(A) ≤ 2 rw(A) [121], we deduce that nec d (A) ≤ 2 d•rw(A) 2 . Upper bound (c) was proved in [120, Theorem 4.2]. Upper bound (d) was proved in [5, Lemma 2]. Upper bound (e) follows from Lemma 1.4.

Figure 2 .

 2 Figure 2.4 represents the following relations ≤ f and ≤ poly , where • a ≤ f b if there exists a function f such that, for all graphs G, we have a(G) ≤ f (b(G)), • a ≤ poly b if there exists a polynomial P such that, for all graphs G, we have a(G) ≤ P (b(G)). Observe that these two relations are reflexive and transitive. The parameters which are equivalent for a relation are drawn inside the same node. For each pair (a, b) of parameters, there exists a directed path from a to b in the diagram associated with ≤ f (resp. ≤ poly ) if and only if b ≤ f a (resp. b ≤ poly a). The correctness of the diagrams presented in Figure 2.4 follows from Theorems 2.23-2.33.Observe that we can use the following lemma and the hierarchy of parameters formed by ≤ f to extend some results concerning one parameter to the others.

Figure 2 . 4 -

 24 Figure 2.4 -Diagrams representing the relations ≤ f and ≤ poly , with d a constant in N + .

Theorem 2 .

 2 39 ([61]). Let H be a graph. For every H-graph G whose intersection model is given, we can compute in polynomial time a linear layout (T, δ) with mim(T, δ) ≤ 2|E(H)| and boolw(T, δ) ≤ 2|E(H)| • log 2 (n).We conclude this section by the following open question.Open Question 2.40. Can we characterize and recognize in polynomial time the following graph classes?

  f-WidthInput: A graph G and an integer k ∈ N. Parameter: k. Output: Is the f-width of G at most k? P -Approx f-Width Input: A graph G and an integer k ∈ N. Parameter: k. Output: Is the f-width of G at most P (k)?

Theorem 2 .

 2 43 ([128]). The problem boolw-Width is NP-hard.By Definition 2.10 of boolean-width, we deduce that Theorem 2.43 implies that the problem nec 1 -Width is NP-hard.Theorem 2.44 ([128]). The problem mim-Width is W[1]-hard. Moreover, for any constant c ∈ R, there is no polynomial time algorithm that solves the problem c-Approx mim-Width unless NP = ZPP.We conclude this subsection with some open questions concerning the problems f-Width.The following open question summarizes the long standing open questions surrounding the computation of clique-width and boolean-width (or equivalently 1-neighbor-width).

Theorem 2 . 54 (

 254 Subsection 4.2.3). Given an n-vertex graph G and a rooted layout L of G, any Connected (σ, ρ)-Dominating Set problem and Connected Co-(σ, ρ)-Dominating Set problem can be solved in time s-nec d (L) 3 • s-nec 1 (L) O(1) • log(s-nec d (L)) • n 3 with d a constant that depends only on (σ, ρ).

Theorem 2 . 55 (

 255 Subsection 4.2.4). For each f ∈ {mw, rw, rw Q , mim}, given an n-vertex graph G and a rooted layout L of G, any AC-(σ, ρ)-Dominating Set problem and Acyclic (σ, ρ)-Dominating Set problem can be solved in time s-nec 2

Corollary 2 . 56 .

 256 Given an n-vertex graph G and a rooted layout L of G, we can solve any (σ, ρ)-Dominating Set problem, Connected (σ, ρ)-Dominating Set problem, AC-(σ, ρ)-Dominating Set problem, and Acyclic (σ, ρ)-Dominating Set problem within the following running times

  optimality of the other running times presented in Corollary 2.56 for IS and DS and the other parameters is open. The following open question concerns rank-width, a similar open question holds also for Q-rank-width. Open Question 2.59. Given an n-vertex graph with a rooted layout L, can we solve the problem IS (or DS) in time 2 o(rw(L) 2 ) • n O(1) ? Concerning mim-width, we have no tight lower bound under ETH but the following W[1]hardness result from [61, Corollary 4].

Theorem 2 .

 2 60 ([61]). The problems that ask, given a graph G and a linear layout L of G, respectively, for the computation of an independent set of size k and a dominating set of size k, are W[START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]-hard parameterized by k + mim(L).

Theorem 2 . 61 (

 261 Section 4.4 and [59,[START_REF] Fedor | Clique-width III: hamiltonian cycle and the odd case of graph coloring[END_REF]). There exist algorithms that, given an n-vertex graph G together with a k-expression, solve in time n O(k) the problems Max-Cut, Edge Dominating Set and Hamiltonian Cycle. Moreover, even when a k-expression is given as input, Max-Cut, Edge Dominating Set, and Hamiltonian Cycle are not solvable in time f (k) • n o(k) , for any function f , unless ETH fails.

••

  Associativity: for all a, b, c ∈ R, we have (a * b) * c = a * (b * c), Identity element: there exists an element e ∈ R (called identity element), such that for every element a ∈ R, we have e * a = a * e = a. A monoid (R, * ) is commutative if for every element a, b ∈ R, we have a * b = b * a.

Definition 3 . 1

 31 (B-rank-width). For every graph G, the B-rank-width of a graph G corresponds to the rw G B -width of G where rw G B : 2 V (G) → N is a function such that rw G B (A) is the minimum size of a B-generator of M A,A . Definition 3.2 (N-rank-width). For every graph G, the N-rank-width of a graph G corresponds to the rw G N -width of G where rw G

Observation 3 . 3 .

 33 Let M be a binary matrix with k columns and S be an (N, +, •)-generator of M . The set S ∩ {0, 1} k is an (N, +, •)-generator and a B-generator S of M . Consequently, for every graph G and A ⊆ V (G), we have rw B (A) ≤ rw N (A) and rw B (G) ≤ rw N (G).

  deduce that B 1 , . . . , B k are subgraphs of G[A, A] because S is a B-generator, for every v ∈ A and b ∈ S(v), if an entry of b associated with a vertex u ∈ A equals 1, then vu ∈ E(G[A, A]). It follows that each B i is a subgraph of G[A, A]. By definition of S(v), for every v ∈ A, we have N (v) = b i ∈S V (B i ) ∩ A. Hence, {B 1 , . . . , B k } is a biclique-cover of G[A, A] and rw B (A) ≤ bic-cover(A).

Theorem 3 . 7 .

 37 Both rw B -Width and rw N -Width are NP-hard. Moreover, there is no 2 2 o(k) • n O(1) time algorithm for rw B -Width unless ETH fails.

Theorem 3 . 10 .

 310 For every k ∈ N, there exist a graph G k and A ⊆ V (G) such that rw B (A) = k and rw(A) = 2 k -1. Proof. For every k ∈ N, we define the set A k := {a S : S ⊆ [k]}, B k := {b S : S ⊆ [k]} and the the graph G k = (A k ∪ B k , {{a S , b T } : S ∩ T = ∅}). For instance, Figure 3.1 shows G 2 , this graph is known as the domino graph. We claim that rw B (A k ) = k and rw(A k ) = 2 k . By definition of G k , for every S ⊆ {1, . . . , k}, we have N (a S ) = s∈S N (a {s} ). Consequently, the set of row vectors of M A,B associated with the vertices a {1} , . . . , a {k} is a B-generator of M A,B , we deduce that rw B (A) = k. Now, we prove that rw(A) = 2 k . For a binary matrix M , let us denote by rw(M ) the rank of M over GF (2). For every k ∈ N, we denote by M k the matrix M A k ,B k , We also consider M k the matrix obtained from M k such that for every S, T ⊆ [k], we have M k [a S , b T ] = 1 -M k [a S , b T ], i.e., M [a S , b T ] = 1 if S ∩ T = ∅ and 0 otherwise.

Figure 3 .

 3 [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF] shows the matrices M 1 and M 1 .

  a

The graph G 2 (b) The matrix M 1 (c) The matrix M 1 Figure 3 . 1 -

 21131 Figure 3.1 -Graph G k with k = 2 and the matrices M 1 and M 1 .

  For every k ∈ N, we assume that the ith row (resp. column) of M k and M k are associated, respectively, with a S (resp. b S ) where S is the ith smallest subset of [k] w.r.t. <. This way, for every k, the first |A k |/2 = 2 k-1 rows (resp. columns) of M k and M k are associated with the vertices a S (resp. b S ) that belongs to A k-1 (resp. B k-1 ), i.e., we have S ⊆ [k -1]. On the other hand, the last 2 k-1 rows (resp. columns) of M k and M k are associated with the vertices a S (resp. b S ) with S = T ∪ {k} with T ⊆ [k -1]. By definition, we deduce that, for every k ∈ N + , we have

2 (Figure 3 . 2 -

 232 Figure 3.2 -Graph H k with k = 2 and the adjacency matrix between A 2 and B 2 .

Proposition 4 . 4 .

 44 The operator acjoin can be performed in time|A| • |B| • |L ∪ L | O(1) and the size of its output is upper-bounded by |A| • |B|. The operators rmc and proj can be performed in time |A| • |L| O(1) , and the sizes of their outputs are upper-bounded by |A|.

Definition 4 . 10 (Figure 4 . 1 -

 41041 Figure 4.1 -Example of a certificate graph; here p= {{v 0 , 1}, {2, 3}, {4}}, s -1 (γ 0 ) = {7, 8}, s -1 (γ 1 ) = {1, 4}, s -1 (γ 2 ) = {2, 3} and s -1 (γ -2 ) = {5, 6}. The set V + s is {v + 2 , v + 3 } with v +

  (c) If s(i) = s(j) = γ -2 , then we let tab G [s] = ∅. Similarly to Case (b), we have A G [s] = ∅ because every vertex set with two i-vertices and two j-vertices induce a cycle of length four in G. (d) Otherwise, we let tab G [s] := rmc(A) with

Finally, it remains

  to prove that each weighted partition (p, w) ∈ A belongs to A G [s]. Let (F H , E H 0 , (p , w)) be a solution in A H [s H ] so that (p, w) ∈ proj(s -1 (γ -2 ) ∩ {i, j}, acjoin({(p , w)}, {({{i, j}}, 0)})).

  w a )) and (F b , E b 0 , (p b , w b )) are solutions in, respectively, A Ga [s a ] and A G b [s b ] with s a and s b u-agreeing on s. We claim that (

  It remains to prove that each weighted partition (p, w) added to tab G [R, R ] belongs to D G [R, R ]. Let (p, w) be a weighted partition added to tab G [R, R ] from (p , w) ∈ tab H [S, S ], and let D ⊆ V (H) such that (D, (p , w)) is a solution in D H [S, S ]. We want to prove that (D, (p, w)) is a solution in D G [R, R ]. From the definitions of S and S , we deduce that D satisfies Conditions (1) and (2). Since active(S, S ) \ {k} = active(R, R ) and G[D] = H[D], we deduce that D satisfies also Condition (3) that lab -1

Fact

Fact 4 . 32 .

 432 Let A, B ⊆ V (G) such that A ⊆ B, and let d ∈ N

  For each X ⊆ A, let us denote by rep d A (X) the lexicographically smallest set R ⊆ A such that |R| is minimized and R ≡ d A X. Moreover, we denote by R d A the set {rep d A (X) : X ⊆ A}. It is worth noticing that the empty set always belongs to R d A , for all A ⊆ V (G) and d ∈ N + . Moreover, we have R d V (G) = R d ∅ = {∅} for all d ∈ N + . In order to compute R d A , we use the following lemma.

Lemma 4 .

 4 33 ([18]). For everyA ⊆ V (G) and d ∈ N + , one can compute in time O(nec d (A) • log(nec d (A)) • |V (G)| 2 ), the sets R dA and a data structure, that given a set X ⊆ A, computesrep d A (X) in time O(log(nec d (A)) • |A| • |V (G)|).

Theorem 4 . 35 .

 435 Let R ∈ R 1

  and in particular, for every C ∈ cc(G[X]), we have N (C) ∩ R = ∅ (and we have assumed that no such set exists in A).Symmetrically, if, for someY ⊆ V x there exists C ∈ cc(G[Y ]) such that N (C) ∩ R = ∅, then, for every X ∈ A, the graph G[X ∪ Y ] is not connected. Let D be the set of all subsets Y of V x such that Y ≡ 1 Vx R and, for all C ∈ cc(G[Y ]), we have N (C) ∩ R = ∅.Notice that the sets in 2 Vx \ D do not matter for the (x, R )-representativity.

  Furthermore, Running Time. Let x be a node of T . Suppose first that x is a leaf of T . Then |R d Vx | ≤ 2 and |R d Vx | ≤ d. Thus, D x can be computed in time O(d • n). Assume now that x is an internal node of T with a and b as children. Notice that, by Definition 4.37, for every (A, B, R ) ∈ R d Va × R d V b × R d Vx , there exists only one tuple (A , B , R) ∈ R d Va × R d V b × R d Vx such that (A, A ) and (B, B ) are d-(R, R )-compatible. More precisely, you have to take R = rep d Vx (A ∪ B), A = rep d Va (R ∪ B), and B = rep d V b (R ∪ A). Thus, there are at most s-nec d (T, δ) 3 tuples (A, A , B, B , R, R ) such that (A, A ) and (B, B ) are d-(R, R )-compatible. It follows that we can compute the intermediary table

  Each call to the functions rep d Vx , rep d Va , and rep d V b

Table 4 . 3 -

 43 Upper bounds on the running time of our algorithms for an AC-(σ, ρ)-Dominating Set problem with L = (T, δ) and d := max{2, d(σ), d(ρ)}. Parameter Running time Mim-width O(n (2ω+3d+4)mim(L)+4 • mim(L))

Figure 4 . 2 -

 42 Figure 4.2 -Bipartite graph H k [A, A] where mw(A) = k and nec n (A) = (n/mw(A)) mw(A) . Each A i 's contains n -k/k vertices whose neighborhoods are {v i }.

  a tree}, we deduce that best acy A B, Y = opt{best acy (A, W ∪ Y ) + w(W ) : W ∈ B}. Since A (a, A )-represents A and by Fact (a), we have best acy A B, Y = opt{best acy (A , W ∪ Y ) + w(W ) : W ∈ B} = best acy A B, Y . Symmetrically, we deduce from Fact (b) that best acy A B, Y = best acy A B , Y . This stands for every Y ⊆ V x such that Y ≡ 2 Vx R . Thus, we conclude that A B (x, R ) acyrepresents A B.

Fact 4 . 61 .

 461 For every W , |C v 0 ,W | and |S v 0 ,W | have the same parity.

Figure 4 . 4 -

 44 Figure 4.4 -Examples of a partial solution P (solid lines) and a complement solution Q (dashed lines) forming a Hamiltonian cycle. Observe that H |P contains 5 maximal paths and G |Q contains 5 H-paths (and only 4 maximal paths).

Figure 4 . 5 -

 45 Figure 4.5 -The union G 1 G 2 of auxiliary multigraphs G 1 and G 2 associated with the partial solution (solid lines) and the complement solution (dashed lines) represented in Figure 4.4.

Theorem 4 . 78 .

 478 There exists an algorithm that, given an n-vertex graph G and a k-expression φ of G, solves Hamiltonian Cycle in time O

  It follows that E(C) \ E(D) ⊆ E H i,j . Let P := E(C) ∩ E(D) and Q := E(C) ∩ E H i,j . Observe that P ∈ Π(D) and Q ∈ Π(D). By Lemma 4.69, the multigraph aux D (P) aux D (Q) contains a red-blue Eulerian trail. Since A D D Π(D), there exists P ∈ A D such that aux D (P ) aux D (Q) contains a red-blue Eulerian trail. As Q ⊆ E H i,j , we deduce that, for every ∈ [k] \ {i, j}, we have deg aux D (P ) (v ) = 0 and deg aux H

Theorem 4 . 79 .

 479 There exists an algorithm that, given an n-vertex digraph G and a directed clique-width k-expression of G, solves Directed Hamiltonian Cycle in time n O(k) .

2 .

 2 M * has an Eulerian trail. 3. The underlying undirected graph of M * has at most one connected component containing an edge, and, for each vertex v of M * , deg + M * (v) = deg - M * (v).

Fact

Figure 5 .Figure 5 . 1 -

 551 Figure 5.1 -A hypergraph H = {{a, b}, {b, x}, {x, c}, {c, d}} having 4 minimal transversals. We have mtr(H) = {{a, x, d}, {a, x, c}, {b, x, d}, {b, c}}.

Fact 5 . 5 .

 55 Given a sub-hypergraph H of a hypergraph H and B ⊆ V (H), T is a B-blocked transversal of H if and only if T belongs to tr(H ) ∩ mtr(H \ H (B)).

  btr B (H ) := tr(H ) ∩ mtr(H \ H (B)).

Lemma 5 . 7 .

 57 Let H be a hypergraph, S, B ⊆ V (H) and C 1 , . . . , C k the connected components of H[S]. For each i ∈ [1, k], let H i = {e ∈ H : e ∩ S ∈ C i }. We have: btr B (H, S) = k i=1btr B (H i , S).

Lemma 5 . 9 .

 59 Let H be a hypergraph, S, B ⊆ V (H) and x ∈ S. We have{{x}} btr B (H 1 , S \ {x}) \ btr B (H, S)(x) = {{x}} btr B∪{x} (H 2 , S \ {x})where H 1 := H \ H(x) and H 2 := H \ (H(B) ∩ H(x)).

Claim 5 . 9 . 1 .

 591 1 \ H 1 (B) = H 2 \ H 2 (B ∪ {x}) = H \ (H(B) ∪ H(x)) since H(B) ∪ H(x) = H(B ∪ {x}).For every T ∈ {{x}} btr B (H 1 , S \ {x}) \ btr B (H, S)(x), we have T \ {x} ∈ btr B∪{x} (H 2 , S \ {x}).

Lemma 5 . 14 .

 514 Let x ∈ V (H), e ∈ H and S ⊆ [≥ x]. Let H := H x e if S = ∅, H x e \ w∈S H x e (w) otherwise. For every connected component C of H [< x] different from {∅}, there exists y < x and f ≤ H e such that C = H y f [≤ y] and H y f= {g ∈ H : g ∩ [< x] ∈ C}. Proof. Let y = max(V (C)) and f = max{g ∈ H : g ∩ [< x] ∈ C}. We show that H y f = {g ∈ H : g ∩ [< x] ∈ C}.

  y f , we have g ∩ [< x] ∈ C. Let g ∈ H y f . By definition of H y f and because H y f ⊆ H , there exists a path P from f to g going only through vertices smaller than y and hyperedges smaller than f in H . As y < x, we can conclude that f ∩ [< x] is connected to g ∩ [< x] in H , i.e., g ∩ [< x] ∈ C. In other words, we have H y f ⊆ {g ∈ H : g ∩ [< x] ∈ C}. It remains to prove the other inclusion. Let g ∈ H with g ∩ [< x] ∈ C. Since C is a connected component of H [< x], there exists a path P from f ∩[< x] to g∩[< x]

  xn em = H and [≤ x n ] = V (H), thus btr ∅ (H xn em , [≤ x n ]) = btr ∅ (H) = mtr(H). The propagation of the dynamic programming works as follows: we use Theorem 5.11 to reduce the computation of #btr B (H x e , [≤ x]) to the computation of #btr for several hypergraphs that do not contain x. We then use Lemma 5.14 to show that these hypergraphs can be decomposed into disjoint hypergraphs of the form H y f for f ≤ H e and y < x which allows us to compute #btr B (H x e , [≤ x]) from precomputed values of the form #btr B (H y f , [≤ y]), where B ∈ {B, {x}}.

  For a vertex x of a graph G, let N [x] be the set {x} ∪ N (x). The closed neighborhood hypergraph of G, denoted by N [G], is the hypergraph {N [x] : x ∈ V (G)}. Observe that any (minimal) dominating set of G is a (minimal) transversal of N [G] and vice-versa.

Figure 5 . 2 -

 52 Figure 5.2 -Representations of k-suns for k ∈ {3, 4, 5}.

Conjecture 5 . 16 .

 516 Let C be a class of chordal graphs. If C does not contain a k-sun as an induced subgraph, for k ≥ 4, then one can count in polynomial time the number of minimal dominating sets of any graph in C. Otherwise, the problem is #P-complete.

  • n. Mais étonnamment, en 2011, Cygan et al. ont démontré [38] qu'il existait des algorithmes Monte Carlo s'exécutant en temps 2 O(k) • n O(1) pour une grande variété de problèmes avec une contrainte globale tel que Connected Dominating Set, Hamiltonian Cycle et Feedback Vertex Set. Pour obtenir ces algorithmes, Cygan et al. introduisent une technique appelée Cut & Count. On explique les grandes idées de cette technique dans la Section 4.3. Les principaux inconvénients des algorithmes obtenus avec cette approche sont les suivants : ils ne sont pas déterministes, leurs dépendances dans le nombre de sommets du graphe n'est pas linéaire et leurs dépendances par rapport aux poids des sommets ou des arrêtes est pseudo-polynomiale. En 2013, Bodlaender et al. ont proposé dans

Table 1 -

 1 Temps d'exécution de nos algorithmes pour les différentes largeurs, ici n est le nombre de sommets du graphe en entrée et k la largeur de la décomposition en entrée.

	Clique-width Rank-width	Q-rank-width	Mim-width

  . C'est le cas pour les problèmes Steiner Tree et Hamiltonian Cycle. En fait, le problème Steiner Tree est NP-difficile dans les cliques et donc dans les graphes de largeurs de clique 2. Cependant, sa variante où les poids sont sur les sommets et non sur les arêtes correspond à la variante connexe d'un problème de (σ, ρ)-domination et ainsi cette variante fait parti des problèmes considérées dans les Sections 4.1 et 4.2. En fait, ce problème est connu pour être exprimable en MSO 2 mais pas en MSO 1 . C'est aussi le cas pour d'autres problèmes tout aussi classiques tels que Edge Dominating Set, Graph Coloring et Max Cut. Ces quatre problèmes sont connus pour être FPT paramétrés par la largeur arborescente grâce au théorème de Courcelle

De son coté, le problème Hamiltonian Cycle 5 n'est pas la variante d'un problème de (σ, ρ)-domination.

  Also on Arxiv: CoRR, abs/1808.05017, 2018. These results are presented in Section 5.2. • An optimal XP algorithm for Hamiltonian cycle on graphs of bounded cliquewidth, with O-joung Kwon and Mamadou Moustapha Kanté, submitted to Algorithmica in 2018, short version in Proceedings of the 15th International Symposium Algorithms and Data Structures (WADS 2017), volume 10389 of LNCS, pages 121-132, 2017, Also on Arxiv: CoRR, abs/1702.06095, 2017. These results are presented in Section 4.4.

	• Fast exact algorithms for some connectivity problems parametrized by clique-
	width,
	with Mamadou Moustapha Kanté,
	Theoretical Computer Science 2019,
	Also on Arxiv: CoRR, abs/1707.03584, 2017.
	These results are presented in Section 4.1.

• More applications of the d-neighbor equivalence: acyclicity and connectivity constraints, with Mamadou Moustapha Kanté, in Proceedings of the European Symposium on Algorithms (ESA 2019), Also on Arxiv: CoRR, abs/1805.11275, 2018. These results are presented in Section 4.2. • Counting Minimal Transversals of β-Acyclic Hypergraphs, with Florent Capelli and Mamadou Moustapha Kanté, Journal of Computer and System Sciences 2019,

  ). Upper bound (e) was proved in [5,Lemma 2]. The last upper bound follows from Definition 2.10 of boolean-width (boolw(A) = log 2 (nec 1 (A))) and the fact that nec 1 (A) ≤ nec d (A) for all graphs G and every A ⊆ V (G).

	Upper

bounds (a) and (d) presented in Theorem 2.29 are tight due to Theorem 2.27. The following theorem shows that Upper bound (c) of Theorem 2.29 is tight on vertex sets. Theorem 2.30 ([17]). For any k ∈ N + , there exists a graph G and A

  is not necessarily connected, neither a dominating set of H. So, the usual dynamic programming algorithm keeps, for each such D H , the pair (R, R ) of sequences over {0, 1} k , where R i := 1 if and only if D H contains a vertex labeled i, and R

i := 1 if and only if V (H) has a vertex labeled i not dominated by D X . One first observes that if D H and D H have the same pair of sequences (R, R ), then D H ∪ D Y is a dominating set of G if and only if D H ∪ D Y is a dominating set. Therefore, it is sufficient to keep for each pair (R, R ) of sequences in {0, 1} k the possible partitions of {1, . . . , k} corresponding, informally, to the connected components of the graphs induced by the D H 's, and for each possible partition, the maximum weight among all corresponding D H 's. Notice that the graphs H[D H ] are not necessarily induced subgraphs of G. One easily checks that these tables can be updated without difficulty following the clique-width operations in time k

  we are in Cases (b)-(c), then we are done since we clearly have A G [s] = ∅. Since the used operators preserve ac-representation, it is enough to prove that in Case (a), we have A G [s] = A H [s], and in Case (d), we have A G [s] = A if we suppose that tab H [s H ] = A H [s

H ]. If we are in Case (a), then we are done because one easily checks that (F, E 0 , (p, w)) is a solution in A H [s] if and only if (F, E 0 , (p, w)) is a solution in A G [s], i.e., we have A H

  Condition (3) is satisfied. Condition (4) is satisfied owing to the fact that p is obtained from p by doing a projection on {i, j}. H [s 4 ]. By definition of S 4 , we deduce that Condition (1) is satisfied (see the case s

Suppose now that s(j) = γ 2 and let (p, w) ∈ A 4 . Let s 4 ∈ S 4 and (p , w) be the weighted partition from tab H [s 4 ] from which (p, w) is obtained, and let (F, E 0 , (p , w)) be a solution in A

  S ] for every S ∈ {0, . . . , d} k . Let (D, (p, w)) be a solution in D G [R, R ]. We start by proving that we have (p, w) ∈ S∈S D H [S, S ] if we are in Case (a), or (p, w) ∈ A if we are in Case (b). By the definition of S, we deduce that r H

•

  If P is a partial solution of H, then ij is the number of maximal paths in H |P with end-vertices labeled i and j, and i is the number of maximal paths in H |P with both end-vertices labeled i.• If P is a complement solution of H, then ij is the number of H-paths in G |P with endvertices labeled i and j, and i is the number of H-paths in G |P with both end-vertices labeled i.

Now, we define the auxiliary multigraph of P, denoted by aux H (P), as the multigraph with vertex set {v 1 , . . . , v k } and edge set i,j∈

[k]

i =j

  and Lemmas 4.75-4.77 that A H H Π(H). Moreover by the use of the function reduce H , by Lemma 4.68, we have |A H

  4.71, aux H (P) aux H (Q) admits a redblue Eulerian trail. Then, by Lemma 4.70, there exists Q ∈ Π(H) such that P and Q form a Hamiltonian cycle, as required. Running time. Let H be a k-labeled graph arising in φ. Observe that if H = i(v) or H = ρ i→j (D), then we compute A H in time O(1). By Lemma 4.68, for every A ⊆ Π(H), we can compute reduce H (A) in time O(|A| • nk 2 log 2 (nk)). Observe that, for every k-labeled graph D arising in φ and such that A D is computed before A H , we have |A D

  4.81. Let P 1 , P 2 ∈ Π(H). If P 1 P 2 , then P 1 is part of a directed Hamiltonian cycle in G if and only if P 2 is part of a directed Hamiltonian cycle in G. From the definition of , one can show that |Π(H)/ | ≤ n 2k • 2 k 2 . Thus we can follow the lines of the proof for undirected graphs, and easily deduce that one can solve Directed Hamiltonian Cycle in time n O(k) , where k is the directed clique-width of the given digraph.

  .1, H({d, x}) is the hypergraph {{b, x}, {c, x}, {c, d}}. Given a hypergraph H, a walk between two distinct edges e 1 and e k is a sequence (e 1 , x 1 , e 2 , x 2 , . . . , e k-1 , x k-1 , e k ) such that x i ∈ e i ∩ e i+1 for all 1 ≤ i ≤ k -1. Notice that, (e k , x k-1 , e k-1 , . . . , x 2 , e 2 , x 1 , e 1 ) is also a walk between e k and e 1 . A maximal set of edges of H that are pairwise connected by a walk is called a connected component of H. It is worth noticing that if C 1 , . . . , C k are the connected components of H, then V (C i ) ∩ V (C j ) = ∅ for distinct i, j in {1, . . . , k}.

  x 1 e [≤ x 1 ] is either equal to {x 1 } or {∅}. Thus, for every e ∈ H and w ∈ V (H) such that w > x 1 , we can compute #btr ∅ (H x e , [≤ x 1 ]) and #btr w (H x e , [≤ x 1 ]) in time O(1). Computing #btr ∅ (H x e , [≤ x]) by dynamic programming. We start by explaining how we can compute #btr ∅ (H x e , [≤ x]) in polynomial time if the values #btr ∅ (H y f , [≤ y]) and #btr w (H y f , [≤ y]) have been precomputed for f ≤ H e and y < x, y < w. We start by applying Theorem 5.11. #btr ∅ (H x e , [≤ x]) = #btr ∅ (H x e , [< x]) + #btr ∅ (H x e \ H x e (x), [< x]) -#btr x (H x e , [< x]). Now, let C 1 , . . . , C k be the connected components of H x e [< x]. If there exists i such thatC i = {∅}, then #btr ∅ (H x e , [< x]) = #btr x (H x e , [< x]) = 0.Otherwise, by applying Lemma 5.14 with S = ∅, there exists, for each1 ≤ i ≤ k, y i < x and f i ≤ H e such that H y i f i = {g ∈ H f e : g ∩ [< x] ∈ C i } and C i = H y i f i [≤ y i ]. By Lemma 5.7, (H y i f i , [≤ y i ]).We now show how to decompose #btr ∅ (H x e \ H x e (x), [< x]) into a product of precomputed values. Let D 1 , . . . , D l be the connected components of H x e \ H x e (x)[< x]. If there exists i such that D i = {∅}, then #btr x (H x e \ H x e (x), [< x]) = 0. Otherwise, if we apply Lemma 5.14 with S = {x}, then there exists, for each 1 ≤ i ≤ l, y i < x and f i ≤ H e such that H f i y i = {g ∈ H x e \ H x e (x) : g ∩ [< x] ∈ D i } and D i = H f i y i [≤ y i ]. We can thus conclude by Lemma 5.7 that #btr ∅ (H x e \ H x e (x), [< x]) = (H y i f i , [≤ y i ]). Therefore, if #btr ∅ (H y f , [≤ y]) and #btr x (H y f , [≤ y]) have already been computed for every f < H e and y ≤ x, we can compute #btr ∅ (H x e , [≤ x]) with at most 3 × |H x e | additional multiplications and 3 additions. Computing #btr w (H x e , [≤ x]) by dynamic programming. Let x ≤ w. By Theorem 5.11, we have: #btr w (H x e , [≤ x]) = #btr w (H x e , [< x]) + #btr w (H x e \ H x e (x), [< x]) -#btr {x,w} (H x e \ (H x e (x) ∩ H x e (w)), [< x]). We start by explaining how to compute #btr w (H x e , [< x]). Let C 1 , . . . , C k be the connected components of H x e [< x]. If there exists i such that C i = {∅}, then #btr w (H x e , [< x]) = 0. Otherwise, by Lemma 5.14 with S = {w}, there exists, for each 1 ≤ i ≤ k, f i ≤ H e and y i < x such that H y i f i = {g ∈ H x e : g ∩ [< x] ∈ C i } and C i = H y i f i [≤ y i ]. By Lemma 5.7, we can conclude that #btr w (H x We now explain how to compute #btr w (H x e \ H x e (x), [< x]). Let D 1 , . . . , D l be the connected components of (H x e \H x e (x))[< x]. If there exists i such that D i = {∅}, then #btr w (H x e \H x e (x), [< x]) = 0. Otherwise, by applying Lemma 5.14 with S = {x}, it follows that for every 1 ≤ i ≤ l, there exists y i < x and f i ≤ H e such that H y i f i = {g ∈ H x e \ H x e (x) : g ∩ [< x] ∈ D i } and D i = H y i f i [≤ y i ]. Thus, from Lemma 5.7,

	#btr ∅ (H x e , [< x]) = #btr x (H x e , [< x]) = k #btr ∅ #btr w (H x k i=1 #btr ∅ (H y i f i , [≤ y i ]), i=1 e \ H x e (x), [< x]) = l #btr x l i=1
	i=1

e , [< x]) = k i=1 #btr w (H y i f i , [≤ y i ]).

  By Lemma 5.7, we have:(H y i f i , [≤ y i ]). Claim 5.14.1. For every i ≤ p, {x, w} ∩ V (H y i f i ) = {x, w}.Proof. Assume towards a contradiction that {x, w} ∩ V (Hy i f i ) = {x, w}. Recall that H y i f i [≤ y i ]. By Lemma 5.12, {x, w} ⊆ V (H y i f Thus, {x, w} ∩ V (H y i f i ) equalseither {x}, or {w} or ∅ by Claim 5.14.1. That is, we can compute #btr {x,w} (H x e \ (H x e (x) ∩ H x e (w)), [< x]) from precomputed terms. We can conclude that, if #btr ∅ (H y f , [≤ y]) and #btr w (H y f , [≤ y]) have already been computed for every f < H e and y ≤ w, we can compute #btr w (H x e , [≤ x]) with at most 3 × |H x e | additional multiplications and 3 additions.

		r
	#btr {x,w} (H x e \ (H x e (x) ∩ H x e (w)), [< x]) =	i=1	#btr {x,w}∩V (H y i f i

) i ) implies {x, w} ⊆ f . Thus, we have f ∈ H x e (x) ∩ H x e (w). This is a contradiction, since f ∈ H y i f i ⊆ H x e \ (H x e (w) ∩ H x e (x)).

À première vue, P = NP ressemble à un mur insurmontable et l'étude des problèmes NP-difficiles semble être une impasse. Mais les problèmes NP-difficiles sont connus pour avoir d'innombrables applications dans la vie réelle, on ne peut tout simplement pas adopter la politique de l'autruche à leurs égards. Par exemple, le Traveling Salesman Problem a de nombreuses applications en logistique et en planification mais aussi en génétique au niveau du séquençage ADN[START_REF] Matai | Traveling salesman problem: an overview of applications, formulations, and solution approaches[END_REF].

Matrices dont les entrées sont 0 ou 1.

Voir la Section 1.4 pour la définition du problème Hamiltonian Cycle.

Matrix whose entries are either 0 or 1.

See Subsection 1.4 for the definitions of Hamiltonian Cycle.

Up to a constant in the exponent.

Up to a constant in the exponents.

Rmc. Let q ∈ Π(L). By the definition of rmc, whenever (p, w) ∈ A is such that p q = {L}, acy(p, q) and ac-opt(A, q) = w, then (p, w) ∈ rmc(A), otherwise there would exist (p, w ) ∈ A with w > w which would contradict w = ac-opt(A, q). Therefore, ac-opt(rmc(A), q) = ac-opt(A, q). We can then conclude that if A ac-represents A, it holds that rmc(A ) acrepresents rmc(A).

We can assume w.l.o.g. that A = rmc(A), and thus for each p ∈ A, there is a unique w ∈ N such that (p, w) ∈ A.

If J ⊂ [k] is the set of labels of Ga (or G b ), we can extend the domain of any function s : J → {γ0, γ1, γ2, γ-2} to [k] by setting s (i) := γ0 for all i ∈ [k] \ J.

We consider v0 as a v0-vertex.

The indexes are modulo 2r.

If, for example, labG a : V (Ga) → [k]\{1} and labG b : V (G b ) → [k], we consider that ((a2, . . . , a k ), (b1, . . . , b k )) is R-compatible if b1 = r1 and for all i ∈ [k] \ {1}, we have ri = min(d, ai + bi).

An algorithm for decision problems that is always correct when it outputs yes.

Defined in Subsection 4.2.1.

This example was suggested by an anonymous reviewer.

Remerciements

Join. Let L be a finite set. For A ⊆ Π(L) × N and B ⊆ Π(L ) × N, we define join(A, B) ⊆ Π(L ∪ L ) × N as join(A, B) := {(p ↑L q ↑L , w 1 + w 2 ) : (p, w 1 ) ∈ A, (q, w 2 ) ∈ B}.

This operator is the one from [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF]. It is used mainly to construct partial solutions of G ⊕ H from partial solutions of G and H.

The following proposition could be easily proved. Here also, we assume that log(|A|) ≤ |L| O(1) for each A ⊆ Π(L) × N (this can be established by applying the operator rmc). The following is the same as Definition 4.5, but does not require acyclicity. Definition 4.16 ([9]). For A ⊆ Π(L) × N, with L a finite set, and q ∈ Π(L), let opt(A, q) := opt{w : (p, w) ∈ A, p q = {L}}.

A set of weighted partitions B ⊆ Π(L) × N represents A if for each q ∈ Π(L), it holds that opt(A, q) = opt(B, q).

Let Z and L be two finite sets. A function f : 2 Π(L)×N × Z → 2 Π(L )×N is said to preserve representation if for each A, B ⊆ Π(L) × N and z ∈ Z, it holds that f (B, z) represents f (A, z) whenever B represents A. Lemma 4.17 ([9]). The operators rmc, proj and join preserve representation.

Theorem 4.18 ([9]

). There exists an algorithm reduce that, given a set of weighted partitions A ⊆ Π(L) × N, outputs in time |A| • 2 (ω-1)|L| • |L| O (1) a subset B of A that represents A, and such that |B| ≤ 2 |L|-1 .

We use the following function to upper bound the amount of information we need to store in our dynamic programming tables concerning the (σ, ρ)-domination. For every non-empty finite or co-finite subset µ ⊆ N, we define d(µ) such as d(µ) := 0 if µ = N, 1 + min(max(µ), max(N \ µ)) otherwise.

For example, d(N + ) = 1 and for every c ∈ N, we have d({0, . . . , c}) = c + 1.

The definition of d is motivated by the following observation which is due to the fact that, for all µ ⊆ N, if d(µ) ∈ µ, then µ is co-finite and contains N \ {1, . . . , d(µ) -1}.

Let us describe with a concrete example the information we need concerning the (σ, ρ)domination. We say that a set D ⊆ V (G) is a 2-dominating set if every vertex in V (G) has at least two neighbors in D. It is worth noticing that a 2-dominating set is an (N\{0, 1}, N\{0, 1})dominating set and d(N \ {0, 1}) = 2. Let H be a k-labeled graph used in an irredundant kexpression of a graph G. Assuming D H ⊆ V (H) is a subset of a 2-dominating set D of G, we would like to characterize the sets Y ⊆ V (G) \ V (H) such that D H ∪ Y is a 2-dominating set of H. One first observes that D H is not necessarily a 2-dominating set of H. Since we want to Computing tab G for G = 1(x). For (r 1 ) ∈ {0, . . . , d}, (r 1 ) ∈ {0, . . . , d}, let tab G [(r 1 ), (r 1 )] :=      {(∅, 0)} if r 1 = 0 and r 1 ∈ ρ, {({{1}}, w(x))} if r 1 = 1 and r 1 ∈ σ, ∅ otherwise.

Since there is only one vertex in G labeled 1, D G [(r 1 ), (r 1 )] is empty whenever r 1 / ∈ {0, 1}. Also, the possible solutions are either to put x in the solution (r 1 = 1) or to discard it (r 1 = 0); in both cases we should check that x is (σ, ρ)-dominated by V + 1 (R ). We deduce then that tab G [(r 1 ), (r 1 )] = D G [(r 1 ), (r 1 )].

Computing tab G for G = ren i→j (H). We can suppose that H is k-labeled and that i = k. Let R := (r 1 , . . . , r k-1 ), R := (r 1 , . . . , r k-1 ) ∈ {0, . . . , d} k-1 .

To compute tab G [R, R ], we define S, the set of tuples coherent with respect to R and Condition [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF], as follows S := {(s 1 , . . . , s k ) ∈ {0, . . . , d} k : r j = min(d, s k + s j ) and ∀ ∈ [k] \ {i, j}, s = r }.

It is worth noticing that we always have (r 1 , . . . , r k-1 , 0) ∈ S. Moreover, if r j = 0, then S = {(r 1 , . . . , r k-1 , 0)}. We define also S = (s 1 , . . . , s k ) ∈ {0, . . . , d} k with s k = r j and s = r for all ∈ [k -1]. Notice that S is the only tuple compatible with R and Condition (2) since for every v ∈ lab -1 G (j), the number of vertices in V + (R ) adjacent to v in CG(G, R ) is the same as the number of vertices in V + (S ) adjacent to v in CG(H, S ). In this case, the vertices in lab -1 G (j) are not expected to play a role in terms of connectivity anymore as either we expect no additional neighbors for them or they are not intersected by the partial solutions. Intuitively, we put in tab G [R, R ] all the weighted partitions (p, w) which belong to the tables tab H [S, S ] with S ∈ S, after merging the blocks in p containing k and j, and removing k from the resulting partition. Lemma 4.24. Let G = ren k→j (H) with H a k-labeled graph. For all R := (r 1 , . . . , r k-1 ), R := (r 1 , . . . , r k-1 ) ∈ {0, . . . , d} k-1 , the table Assume now that active(R, R ) = ∅. If r i = 0 (resp. r j = 0), then, by definition of S , we have s j = r j (resp. s i = r i ). Therefore, if r i = 0 or r j = 0, then we have active(R, R ) = active(R, S ), and Condition (3) is trivially satisfied. Otherwise, if r i = 0 and r j = 0, then, by definition of S , we have s i = 0, s j = 0, and thus i, j ∈ active(R, S ). In this case, we conclude that Condition 1) is satisfied. We deduce that Condition (2) is satisfied from the definition of S and the previous arguments. We claim that Condition (3) is satisfied. Suppose first that R = {0} k . Then either S = {0} k or {i, j} = active(R, S ). Indeed, we have active(R, S ) ⊆ {i, j}. Now, i ∈ active(R, S ) if and only if r i = 0 and s i = 0, and then, by definition of S , s j = r i = 0 and s i = r j = 0. Thus, i ∈ active(R, S ) if and only if j ∈ active(R, S ). Therefore, we conclude that either

by adding all the edges between the i-vertices and the j-vertices, we conclude that, in both cases, G[D] is connected.

Otherwise, if R = {0} k , then every connected component of H[D] contains at least one vertex whose label is in active(R, S ). If r i = 0 or r j = 0, then we are done because active(R, R ) = active(R, S ) by definition of S . Suppose now that r i = 0 and r j = 0. In this case, we have i, j ∈ active(R, S ) from the definition of S . Assume towards a contradiction that there exists

. As active(R, S ) \ active(R, R ) ⊆ {i, j}, we deduce that C contains at least one vertex whose label is i or j. Since the i-vertices and the j-vertices of D are in the same connected component of

G (active(R, S ) \ {i, j}) because they are contained in C. We can conclude that {i, j} is a block of p := p {{i, j}} ↑active(R,S ) . Hence, we have proj({t ∈ {i, j} : r t = 0}, {(p , w)}) = ∅ because {t ∈ {i, j} : r t = 0} = {i, j}. This contradicts the fact that (p, w) is obtained from (p , w ). Thus, Condition (3) is satisfied.

We deduce from the previous observations concerning Condition (4) that this condition is also satisfied. Thus, every solution (p, w)

Computing tab G for G = G a ⊕G b . Assume that G is k-labeled and let R := (r 1 , . . . , r k ), R := (r 1 , . . . , r k ) ∈ {0, . . . , d} k . The following notion characterizes the pairs (A, B) compatible with R with respect to Condition [START_REF] Amir Abboud | Tight hardness results for LCS and other sequence similarity measures[END_REF]. We say that ((a 1 , . . . , a k ), (b

) since there are no edges between these vertex sets in G. Moreover, in order to satisfy Condition (2), we must have 0 ∈ ρ.

(b) Otherwise, we let tab G [R, R ] := reduce(rmc(A)) where

respectively, for all A, B ∈ {0, . . . , d} k .

Proof. Since the used operators preserve representation, it is easy to see that if R = {0} k , then we are done as

This implies that 0 ∈ ρ, otherwise the vertices in V (G) \ D will not be (σ, ρ)-dominated by

In the following, we assume that R = {0} k . Since the used operators preserve representation, it is enough to prove that

Symmetrically, we deduce that there exits

. By Condition (4), two labels i, j are in the same block of p if and only if an i-vertex and a j-vertex are connected in CG(G, R )[D ∪ V + (R )]. On the other hand, i and j are in the same block of p a↑L p b↑L if and only if iRj where R is the transitive closure of the relation (i ∼ a j or i ∼ b j). By definition of CG(G, R ), for every label i ∈ active(R, R ), we have V + i (R ) = ∅ and the vertices in lab -1 G (i) ∩ D are all adjacent to the vertices in V + i (R ). One can easily deduce from these observations that p = p a↑L p b↑L . Hence, (p, w) ∈ A. and an (R, D)-matrix such that

Intuitively, M contains all the information we need. Indeed, it is easy to see that a basis of maximum weight of the row space of M in GF (2) is an (x, R )-representative set of A. But, M is too big to be computable efficiently. Instead, we prove that a basis of maximum weight of the row space of C is an (x, R )-representative set of A. This follows from the fact that

We deduce the running time of reduce and the size of reduce(A) from the size of C (i.e. |A| • nec 1 (V x ) 2 ) and the fact that C is easy to compute.

We start by proving that M = 2 C • C. Let X ∈ A and Y ∈ D. We want to prove the following equality

We prove this equality with the following two claims.

Proof. By definition, we have

∈ cuts(X) that satisfy, respectively, Properties (a) and (b). By definition of ≡ 1

Vx , we have

by Fact 4.30, we deduce that there exists

We can assume w.l.o.g. that there exits

by Lemma 4.7, a basis of maximum weight of C can be computed in time O(|A| • nec 1 (V x ) 2(ω-1) ). We conclude that B can be computed in time O(|A| • nec 1 (V x ) 2(ω-1) • n 2 ). Now to boost up a dynamic programming algorithm P on some rooted layout (T, δ) of G, we can use the function reduce to keep the size of the sets of partial solutions bounded by s-nec 1 (T, δ) 2 . We call P the algorithm obtained from P by calling the function reduce at every step of computation. We can assume that the set of partial solutions A r computed by P and associated with the root r of (T, δ) contains an optimal solution (this will be the cases in our algorithms). To prove the correctness of P , we need to prove that A r (r, ∅)-represents A r where A r is the set of partial solutions computed by P and associated with r. For doing so, we need to prove that at each step of the algorithm the operations we use preserve the (x, R )-representativity. The following fact states that we can use the union without restriction, it follows directly from Definition 4.34 of (x, R )-representativity. The second operation we use in our dynamic programming algorithms is the merging operator . In order to safely use it, we need the following notion of compatibility that just tells which partial solutions from V a and V b can be joined to possibly form a partial solution in V x . (It was already used in [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF] without naming it.) Definition 4.37 (d-(R, R )-compatibility). Suppose that x is an internal node of T with a and b as children. Let

• A ≡ d Va B ∪ R , and

The d-(R, R )-compatibility just tells which partial solutions from V a and V b can be joined to possibly form a partial solution in V x . Lemma 4.38. Suppose that x is an internal node of T with a and b as children. Let

Let A ⊆ 2 Va such that, for all X ∈ A, we have X ≡ d Va A, and let B ⊆ 2 V b such that, for all W ∈ B, we have

Proof. We assume w.l.o.g. that opt = max, the proof is symmetric for opt = min. Suppose that A ⊆ A (a, A )-represents A and B ⊆ B (b, B )-represents B. To prove the lemma, it is sufficient to prove that best(A

Vx R . We start by proving the following facts (a) for every W ∈ B, we have

Since A (a, A )-represents A, by Fact (a), we have

Symmetrically, we deduce from Fact (b) that best A B, Y = best A B , Y . This stands for every Y ⊆ V x such that Y ≡ 1 Vx R . Thus, we conclude that A B (x, R )-represents A B.

Connected variant of (σ, ρ)-Dominating Set problems

In this subsection, we use the function d defined in Section 4.1. We remind that d(N) := 0, and for a finite or co-finite subset µ of N, let d(µ) := 1 + min(max(µ), max(N \ µ)).

Let d := max{1, d(σ), d(ρ)}. As explained in Subsection 4.1.3 to characterize the (σ, ρ)domination it is enough to count up to d neighbors (see Fact 4.19). As in [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF], we use the d-neighbor equivalence relation to characterize the (σ, ρ)-domination of the partial solutions. We will need the following lemma in our proof.

Lemma 4.39 ([18]). Let

In this subsection, we present an algorithm that computes a maximum (or minimum) connected (σ, ρ)-dominating set with a graph G and a layout (T, δ) as inputs. Its running time is

•n 3 ). The same algorithm, with some little modifications, will be able to find a minimum Steiner tree or a maximum (or minimum) connected co-(σ, ρ)-dominating set as well.

For each node x of T and for each pair

Vx R and for all X ⊆ V x coherent with (R, R ). We compute these sets by a bottom-up dynamic programming algorithm, starting at the leaves of T . The computational steps are trivial for the leaves. For the internal nodes of T , we simply use the notion of d-(R, R )-compatibility and the merging operator.

By calling the function reduce defined in Section 4.2.2, each set D x [R, R ] contains at most s-nec 1 (T, δ) 2 partial solutions. If we want to compute a maximum (resp. minimum) connected (σ, ρ)-dominating set, we use the framework of Section 4.2.2 with opt = max (resp. opt = min). If G admits a connected (σ, ρ)-dominating set, then a maximum (or minimum) connected (σ, ρ)dominating set can be found by looking at the entry D r [∅, ∅] with r the root of T .

We begin by defining the sets of partial solutions for which we will compute representative sets.

For each node x of V (T ), our algorithm will compute a table D x that satisfies the following invariant.

Notice that, by the definition of A r [∅, ∅] (r being the root of T ) and the definition of (x, R )representativity, if G admits a connected (σ, ρ)-dominating set, then D r [∅, ∅] must contain a maximum (or minimum) connected (σ, ρ)-dominating set.

The following lemma provides an equality between the entries of the table A x and the entries of the tables A a and A b for each internal node x ∈ V (T ) with a and b as children. We use this lemma to prove, by induction, that the entry

Note that this lemma can be deduced from [START_REF] Bui-Xuan | Fast dynamic programming for locally checkable vertex subset and vertex partitioning problems[END_REF].

Proof. The lemma is implied by the two following claims.

Claim 4.41.1. For all

• By construction, we have

• By definition, we have

We are now ready to prove the main theorem of this subsection.

Theorem 4.42. There exists an algorithm that, given an n-vertex graph G and a rooted layout (T, δ) of G, computes a maximum (or minimum) connected (σ, ρ)-dominating set in time

Proof. The algorithm is a usual bottom-up dynamic programming algorithm and computes for each node x of T the table

The first step of our algorithm is to compute, for each x ∈ V (T ), the sets

As T has 2n -1 nodes, by Lemma 4.33, we can compute these sets and data structures in time

In this case, the invariant trivially holds. Now let x be an internal node with a and b as children such that the invariant holds for a and b.

We claim that the invariant holds for x.

By Lemma 4.41 and by construction of D x [R, R ] and from Fact 4.36, we conclude that

Notice that, for each

we conclude that the invariant holds for x.

By induction, the invariant holds for all nodes of T . The correctness of the algorithm follows from the fact that D

Proof. Observe that a Steiner tree is a minimum connected (N, N)-dominating set of G that contains K. Thus, it is sufficient to change the definition of the table

Notice that this modification will just modify the way we compute the table D x when x is a leaf of T associated with a vertex in K. With this definition of A x and by Definition 4.34 of (x, R )-representativity, if G contains an optimal solution, then D r [∅, ∅] contains an optimal solution of G. The running time comes from the running time of Theorem 4.42 with d = 1.

Because the incidence graph of a graph of tree-width k has tree-width at most k + 1, and one can reduce the computation of a weighted Steiner tree on a graph to the computation of a node-weighted Steiner tree on its incidence graph, we simplify and generalise the algorithm from [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF]. With few modifications, we can easily deduce an algorithm to compute a maximum (or minimum) connected co-(σ, ρ)-dominating set.

Corollary 4.44. There exists an algorithm that, given an n-vertex graph G and a rooted layout

Proof. To find a maximum (or minimum) co-(σ, ρ)-dominating set, we need to modify the definition of the table A x , the invariant and the computational steps of the algorithm from Theorem 4.42. For each vertex x ∈ V (T ), we define the set of indices of our table D x as

It is worth noticing that the definition of A x does not depend on R , it is just more convenient to write the proof this way in order to obtain an algorithm similar to the one from Theorem 4.42.

Similarly to Theorem 4.42, for each node x of V (T ), our algorithm will compute a table D x that satisfies the following invariant.

Intuitively, we use R and R to deal with the connectivity constraint of the co-(σ, ρ)dominating set and R and R for the (σ, ρ)-domination.

The following claim adapts Lemma 4.41 to the co-(σ, ρ)-dominating set case.

Claim 4.44.1. Let x be an internal node of T with a and b as children. For all (R, R , R, R ) ∈ I x , we have

The proof of this claim follows from the proof of Lemma 4.41. With these modifications, it is straightforward to check that the algorithm of Theorem 4.42 can be adapted to compute a minimum or maximum connected co-(σ, ρ)-dominating set of V (G). With the same analysis as in Theorem 4.42, one easily deduces that the running time of this modified algorithm is

We start by defining a new notion of representativity to deal with the acyclicity constraint. This new notion of representativity is defined w.r.t. to the 2-neighbor equivalence class of a set R ⊆ V x . We consider 2-neighbor equivalence classes instead of 1-neighbor equivalence classes in order to manage the acyclicity (see the following explanations). Similarly to Section 4.2.2, every concept introduced in this section is defined with respect to a node x of T and a set R ⊆ V x . To simplify this section, we fix a node x of T and R ⊆ V x . In our algorithm, R will always belong to R d Vx for some d ∈ N + with d ≥ 2. For Maximum Induced Tree d = 2 is enough and in general, we use d := max{2, d(σ), d(ρ)}.

The following definition extends Definition 4.34 of Section 4.2.2 to deal with the acyclicity. We let opt ∈ {min, max}; if we want to solve a maximization (or minimization) problem, we use opt = max (or opt = min).

As for the (x, R )-representativity, we need to prove that the operations we use in our algorithm preserve the (x, R ) acy -representativity. The following fact follows from Definition 4.45 of (x, R ) acy -representativity.

Proof. Suppose that A ⊆ A (a, A ) acy -represents A and that B ⊆ B (b, B ) acy -represents B. In order to prove this lemma, it is sufficient to prove that, for each

Vx R . We claim the following facts (a) for every W ∈ B, we have

is a forest and the following properties are satisfied:

1. for every pair of distinct vertices a and b in X 2+ , we have

, and 2 log 2 (nec 1 (V x )).

Proof. Obviously, any R -important set must induce a forest.

Assume towards a contradiction that there exist two distinct vertices a and b in X 2+ such that N (a) ∩ V x = N (b) ∩ V x . Since a and b belong to X 2+ and Y ≡ 2

Vx R , both a and b have at least two neighbors in Y . Thus, a and b have at least two common neighbors in Y . We conclude that G[X ∪ Y ] admits a cycle of length four, yielding a contradiction. We conclude that Property (1) holds for every R -important set. Now, we prove that Property (2) holds for X. Observe that, by Theorem 2.32, mim(V x ) is upper bounded by rw(V x ), rw Q (V x ), and log 2 (nec 1 (V x )). Thus, in order to prove Property (2), it is sufficient to prove that

We claim that

where k is the size of a maximum induced matching of

which is a tree.

In the following, we prove that F admits a good bipartition, that is a bipartition

is an induced matching of F . In order to prove that F admits a good bipartition it is sufficient to prove that each connected component of F admits a good bipartition.

Let C ∈ cc(F ) and u ∈ C ∩ X 2+ . As F is a forest, F [C] is a tree. Observe that the distance in F between each vertex v ∈ C ∩ X 2+ and u is even because

be the set of all vertices v ∈ C ∩ X 2+ such that there exists an odd (resp. even) integer ∈ N so that the distance between v and u in F is 2i. We claim that {C 1 , C 2 } is a good bipartition of

Let i ∈ {1, 2}, v ∈ C i and ∈ N such that the distance between v and u in F is 2 . Let P be the set of vertices in V (F ) \ {v} that share a common neighbor with v in F . We want to prove that there exists y ∈ Y such that N F (y) ∩ C i = {v}. For doing so, it is sufficient to prove that

Observe that, for every v ∈ P , the distance between v and u in F is either 2 -2, 2 or 2 + 2 because F [C] is a tree and the distance between v and u is 2 . By construction of {C 1 , C 2 }, every vertex at distance 2 -2 and 2 + 2 from u must belong to C 3-i . Thus, every vertex in P ∩ C i is at distance 2 from u. If = 0, then we are done because v = u and

We deduce that every connected component of F admits a good bipartition and thus F admits a good bipartition. Thus,

The following definition characterizes the sets A ⊆ 2 Vx for which an (x, R )-representative set is also an (x, R ) acy -representative set.

Definition 4.50. We say that

The following lemma proves that an (x, R )-representative set of an R -consistent set is also an (x, R ) acy -representative set of this later.

Proof. We assume that opt = max, the proof for opt = min is similar.

Assume now that best acy (A, Y ) = -∞. Thus, there exists The next lemma proves that, for each f ∈ {mw, rw, rw Q , mim}, we can decompose a set A ⊆ 2 Vx into a small collection {A 1 , . . . , A t } of pairwise disjoint subsets of A such that each A i is R -consistent. Even though some parts of the proof are specific to each parameter, the ideas are roughly the same. First, we remove the sets X in A that do not induce a forest. If f = mw, we remove the sets in A that do not respect Condition (1) of Lemma 4.49, otherwise, we remove the sets that do not respect the upper bound associated with f from Condition (2) of Lemma 4.49. These sets can be safely removed as, by Lemma 4.49, they are R -unimportant. After removing these sets, we obtain the decomposition of A by taking the equivalence classes of some equivalence relation that is roughly the n-neighbor equivalence relation. Owing to the set of R -unimportant sets we have removed from A, we prove that the number of equivalence classes of this latter equivalence relation respects the upper bound associated with f that is described in Table 4.4.

Lemma 4.52. Let A ⊆ 2 Vx . For each f ∈ {mw, rw, rw Q , mim}, there exists a collection of pairwise disjoint subsets A 1 , . . . ,

• A i is R -consistent for each i ∈ {1, . . . , t} and

where N f (T, δ) is the term defined in Table 4.4.

Table 4.4 -Upper bounds N f (T, δ) on the size of the decomposition of Lemma 4.52 for each f ∈ {mw, rw, rw Q , mim}.

Proof. We begin by defining an equivalence relation ∼ on 2 Vx such that each equivalence class of ∼ over 2 Vx is an R -consistent set.

We deduce from these observations that |{σ(X 2+ ) : X ∈ A}| ≤ 2 mw(Vx) . Thus, the number of equivalence classes of ∼ over A is at most 2 mw(Vx) • 2n ≤ N mw (T, δ). The factor 2n comes from Observation 4.53 and appears also in all subsequent upper-bounds.

Concerning mim-width. We remove from A all the sets X such that |X 2+ | > 2mim(V x ). By Lemma 4.49, these sets are R -unimportant and thus we keep an (x, R ) acy -representative set of A. Observe that this can be done in time

Hence, the number of equivalence classes of ∼ over A is at most 2n 2mim(Vx)+1 ≤ N mim (T, δ).

Concerning rank-width. We remove from A all the sets X such that

because they are R -unimportant by Lemma 4.49. We know that there are at most 2 rw(Vx) different rows in M . Thus, we have |{σ(X 2+ ) : X ∈ A}| ≤ (2 rw(Vx) ) 2rw(Vx) . We can therefore conclude that the number of equivalence classes of ∼ over A is at most

Concerning Q-rank-width. We remove all the sets X ∈ A such that

By Lemma 4.49, we keep an (x, R ) acy -representative set of A. We claim that |{σ(X 2+ ) :

. Notice that the proof can be deduced from [START_REF] Oum | Faster algorithms for vertex partitioning problems parameterized by clique-width[END_REF]Theorem 4.2].

Let C be a set of rw Q (A) linearly independent columns of M A,A . Since the rank over Q of M Vx,Vx is rw Q (V x ), every linear combination of row vectors of M Vx,Vx is completely determined by its entries in C. Since |X 2+ | ≤ 2rw Q (V x ) for every X ∈ A, the values in σ(X 2+ ) are between 0 and 2rw Q (V x ). Hence, the number of possible values for σ(X 2+ ) is at most (2rw

We conclude that the number of equivalence classes of ∼ over A is at most (2rw

It remains to prove the running time. Observe that, for module-width, (Q-)rank-width and 1-neighbor-width, the removal of R -unimportant sets can be done in time O(|A| • n 2 ). Indeed, mw(V x ), rw(V x ) and rw Q (V x ) can be computed in time O(n 2 ). Notice that we can decide whether X ∼ W in time O(n 2 ). Therefore, for each f ∈ {mw, rw, rw Q , mim}, we can therefore compute the equivalence classes of

We are now ready to give an analog of Theorem 4.8 for the (x, R ) acy -representativity.

Vx . For each f ∈ {mw, rw, rw Q , mim}, there exists an algorithm

For each X ∈ A, we have X ≡ 1 Vx R because X ≡ 2 Vx R. Since A 1 , . . . , A t ⊆ A, we can apply Theorem 4.8 to compute, for each i ∈ {1, . . . , t}, the set B i := reduce(A i ). By Theorem 4.8, for each i ∈ {1, . . . , t}, the set B i is a subset and an (x, R )-representative set of A i whose size is bounded by nec 1 (V x ) 2 . Moreover, as A i is R -consistent, we have B i (x, R ) acy -represents A i by Lemma 4.51.

Let 2 for all i ∈ {1, . . . , t}.

It remains to prove the running time. By Theorem 4.8, we can compute B 1 , . . . ,

• n 2 ). Since the sets A 1 , . . . , A t are subsets of A and pairwise disjoint, we have

That proves the running time and concludes the theorem.

We are now ready to present an algorithm that solves any AC-(σ, ρ)-Dominating Set problem. This algorithm follows the same ideas as the algorithm from Theorem 4.27, except that we use reduce acy f instead of reduce. Theorem 4.55. For each f ∈ {mw, rw, rw Q , mim}, there exists an algorithm that, given an nvertex graph G and a rooted layout (T, δ) of G, solves any AC-(σ, ρ)-Dominating Set problem, in time For each node x ∈ T and, for each

We deduce the following claim from the proof of Claim 4.41.

Claim 4.55.1. For every internal node x ∈ V (T ) with a and b as children and

For each node x of V (T ), our algorithm will compute a table D x that satisfies the following invariant.

Invariant. For every

Notice that by Definition of (x, R ) acy -representativity, if the invariant holds for r, then D r [∅, ∅] contains a set X of maximum (or minimum) weight such that X is a (σ, ρ)-dominating set of G and G[X] is a tree.

The algorithm is a usual bottom-up dynamic programming algorithm and computes for each node x of T the table D x .

Let x be a leaf of

In this case, the invariant trivially holds. Now, take x an internal node of T with a and b as children such that the invariant holds for a and b.

Similarly to the proof of Theorem 4.

Consequently, the invariant holds for x and by induction, it holds for all the nodes of T . The correctness of the algorithm follows.

Running Time. The running time of our algorithm is almost the same as the running time given in Theorem 4.55. The only difference is the factor N f (T, δ) 2 which is due to the following fact: by the invariant condition, for each (A, A ) and (B, B ), the size of

By constructing for any graph G a graph G such that the width measure of G is linear in the width measure of G, and any optimum acyclic (σ, ρ)-dominating set of G corresponds to an optimum AC-(σ, ρ)-dominating set of G and vice-versa, we obtain the following which allows for instance to compute a feedback vertex set in time n O(c) , c the mim-width. Proof. Let f ∈ {mw, rw, rw Q , mim}. Suppose that we want to compute a maximum acyclic (σ, ρ)dominating set. The proof for computing a minimum acyclic (σ, ρ)-dominating set is symmetric. The first step of this proof is to construct a 2n + 1-vertex graph G from G and a layout (T , δ ) of G from (T, δ) in time O(n 2 ) such that (T , δ ) respect the following inequalities:

The second step of this proof consists in showing how the algorithm of Theorem 4.55 can be modified to find a maximum acyclic (σ, ρ)-dominating set of G by running this modified algorithm on G and (T , δ ).

We construct G as follows. Let β be a bijection from V (G) to a set

We extend the weight function w of G to G such that the vertices of V (G) have the same weight as in G and the weight of the vertices in V + ∪ {v 0 } is 0. Finally, the edge set of G is defined as follows

Computing #A x,v 0 when x is an internal node of T with children a, b. We start by defining a notion of compatibility between the indices in I x , I a and I b .

Definition 4.63.

The following lemma provides an equality between the entries of #A x,v 0 and those of #A a,v 0 and #A b,v 0 . Lemma 4.64. For all

Proof. This lemma is implied by the following two claims. First, observe that thanks to Fact 4.32 and the facts that 1) is trivially satisfied since we have, by Condition (a),

Condition ( 2) is also satisfied. Indeed, from Condition (b), we have R ≡ d Vx A ∪ B. Hence, we deduce from (e1) and (e2) that

In order to prove that Condition ( 4) is satisfied, we have to prove that

i.e., Condition (4) is satisfied.

In order to prove Condition (5), we have to prove that

Vx . From (e4) and (e5), we can conclude that

Vx R 2 and thus Condition ( 5) is satisfied. It remains to prove

we have (X 1 , X 2 ) ∈ cuts(X) and (Y 1 , Y 2 ) ∈ cuts(Y ). Thus, by Fact 4.31, in order to prove that

There exist an unique I a ∈ I a and an unique I b ∈ I b such that (I a , I b ) is I x -compatible and for all i ∈ {a, b}, we have

By construction of I a , (X ∩V a , (X 1 ∩V a , X 2 ∩V a )) satisfies Conditions (1), ( 2), ( 5)

It remains to prove Condition (4), i.e., (X ∩V a )∪A (σ, ρ)-dominates V a . We know that X ∪R (σ, ρ)-dominates V x . By construction, we have A ≡ d Va R ∪X ∩V b . Thus, by Lemma 4.39, we have

By Definition 4.62, it is straightforward to check that I a is the only index of I a such that

It remains to prove that (I a , I b ) is I x -compatible. By the definitions of I a and I b , Conditions (a) and (c) are satisfied. Now, we prove Condition (b), i.e., A ∪ B ≡ d Vx X. By construction of I a , we have A ≡ d Va X ∩V a . Since V a ⊆ V x , by Fact 4.32, we deduce that A ≡ d Vx X ∩V a . Symmetrically, we can prove that B ≡ d Vx X ∩ V b . We can conclude that A ∪ B ≡ d Vx X, i.e., Condition (b) is satisfied. With the same arguments, we can prove that Condition (d) is also satisfied.

It remains to prove Condition (e), i.e., N (A

We are now ready to prove the main theorem of this section. Proof. The first step of our algorithm is to compute, for each x ∈ V (T ), the sets

Vx and a data structure to compute rep d Vx (X), rep 1 Vx , rep d Vx (X), and rep 1 Vx for each X ⊆ V x in time O(log(s-nec d (T, δ)) • n 2 ). As T has 2n -1 nodes, by Lemma 4.33, we can compute these sets and data structures in time O(s-nec d (T, δ) • log(s-nec d (T, δ)) • n 3 ).

Then our algorithm choose, for each vertex v of G, a weight w(v) ∈ {1, . . . , 2n} uniformly at random. For every choice of vertex v 0 , our algorithm do the following. We do a bottom-up traversal of T and at each node we compute #A x,v 0 [I x ] for each I x ∈ I x . For the leaves of T , we can directly compute

x is an internal node of T with children a and b, we can compute the entries of #A x,v 0 by doing the following:

• initialize each entry of #A x,v 0 to 0,

We claim that we can compute the entries of

In order to prove that it is sufficient to prove that there are at most

and that we enumerate these N tuples in time O(N ). First, observe that, for every

Vx such that Conditions (b) and (c) of Definition 4.63 are satisfied (see the proof of Theorem 4.42). Moreover, for

Vx such that Condition (d) of Definition 4.63 is satisfied. It follows that there are at most N tuples (I x , I a , I b ) such that (I a , I b ) is I x -compatible and it is easy to check that we can enumerate these N tuples in time O(N ).

Assume now that #A x,v 0 has been computed for every x ∈ V (T ) and every v 0 ∈ V (G). If for every v 0 and W ∈ [2n • k], #A r,v 0 [∅, ∅, ∅, ∅, k, W ] is even with r the root of T , then our algorithm returns no, otherwise it returns yes.

We claim that the algorithm we have presented is a Monte Carlo algorithm that decides whether G admits a connected (σ, ρ)-dominating set of size k. Moreover, by Lemma 4.60, this algorithm cannot give false positives and may give false negatives with probability at most 1 2 . Assume that G admits a (σ, ρ)-dominating set X of size k. Let v 0 be a vertex of X. Thus, we have W ∈[2n•k] S v 0 ,W = ∅. By construction of w and Lemma 4.60, the probability that there exists

Consequently, the probability that our algorithm returns yes is at least 1 2 . On the other hand, if

In this case, our algorithm always returns no. Since T has 2n-1 nodes, we conclude that the running time of this algorithm is

An Optimal XP Algorithm for Hamiltonian Cycle parameterized by Clique-width

In this section, we prove that there exists an algorithm solving Hamiltonian Cycle in time n O(k) , when a clique-width k-expression is given. Specifically, we prove the following.

Theorem 4.66. There exists an algorithm that, given an n-vertex graph G and a k-expression of G, solves Hamiltonian Cycle

Definition 4.67. Let P 1 , P 2 ∈ Π(H). We write P 1 P 2 if aux H (P 1 ) and aux H (P 2 ) have the same set of connected components and for each vertex v in {v 1 , . . . , v k }, deg aux

Observe that is an equivalence relation. For a set A ⊆ Π(H), we define reduce H (A) as the operation which returns a set containing one element of each equivalence class of A/ .

The main idea of our algorithm is to call reduce H at each step of our dynamic programming algorithm in order to keep the size of a set of partial solutions manipulated small, i.e., bounded by n O(k) . The running time of our algorithm follows mostly from the following lemma. Lemma 4.68. For every A ⊆ Π(H), we have |reduce

) , it is enough to bound the number of equivalence classes of Π(H)/ .

We claim that, for every Since the number of partitions of {v 1 , . . . , v k } is bounded by 2 k log 2 k . We conclude that partitions Π(H) into at most n k • 2 k(log 2 k+1) equivalences classes.

It remains to prove that we can compute reduce H (A) in time O(|A| • nk log 2 (nk)). First observe that, for every P ∈ Π(H), we can compute aux H (P) in time O(nk). Moreover, we can also compute the degree sequence of aux H (P) and the connected components of aux H (P) in time O(nk). Thus, by using the right data structures, we can decide whether P 1 P 2 in time O(nk). Furthermore, by using a self-balancing binary search tree, we can compute reduce H (A)

The rest of this section is dedicated to prove that, for a set of partial solutions A of H, the set reduce H (A) is equivalent to A, i.e., if A contains a partial solution that forms a Hamiltonian cycle with a complement solution, then reduce H (A) also. Our results are based on a kind of equivalence between Hamiltonian cycles and red-blue Eulerian trails. The following observation is one direction of this equivalence. Proof. Suppose that P ∈ Π(H) and Q ∈ Π(H) form a Hamiltonian cycle C. Let M := aux H (P) aux H (Q). From the definitions of a partial solution and of a complement solution, there is a sequence (P 1 , Q 1 , . . . , P , Q ) of paths in P and Q such that • P 1 , P 2 , . . . , P are all the maximal paths in H |P ,

• Q 1 , Q 2 , . . . , Q are all the H-paths in G |Q ,

• P 1 , Q 1 , . . . , P , Q appear in C in this order,

• for each x ∈ [ ], the first end-vertices of P x is the last end-vertex of Q x-1 and the last end-vertex of P x is the first end-vertex of Q x (indices are considered modulo ).

Let G be a multigraph whose edges are colored red or blue, and let R and B be respectively the set of red and blue edges. For a vertex v ∈ V (G), we let rdeg G (v) and bdeg G (v) be respectively the degree of v in G |R and G |B . Recall that a loop is counted twice in the degree of a vertex. Lemma 4.71 (Kotzig [101]). Let G be a connected multigraph whose edges are colored red or blue. Then G has a red-blue Eulerian trail if and only if, for every vertex v, bdeg G (v) = rdeg G (v).

Proof. One can easily check that if G has a red-blue Eulerian trail, then for every vertex v, bdeg G (v) = rdeg G (v). Indeed, if T = (v 1 , e 1 , v 2 , . . . , v , e , v 1 ) is a red-blue Eulerian trail, then, for 2 ≤ i ≤ , e i-1 and e i have different colors, and e 1 and e have different colors, we can conclude that the blue edges incident with a vertex v are in 1-to-1 correspondence with the red edges incident with v (by counting twice the loops).

Let us now prove the other direction. Let T := (v 1 , e 1 , v 2 , e 2 , • • • , v i , e i , v i+1 ) be a longest red-blue trail. We may assume that e 1 is colored red. First observe that v 1 = v i+1 . Otherwise, bdeg T (v 1 ) + 1 = rdeg T (v 1 ) and thus, there is a blue edge in E(G) \ E(T ) incident with v 1 . So, we can extend T by adding this edge, a contradiction. Thus, v 1 = v i+1 .

Next we show that e i is colored blue. Suppose e i is colored red. Then bdeg T (v 1 ) + 2 = rdeg T (v 1 ) and thus, there is a blue edge in E(G) \ E(T ) incident with v 1 . So, we can extend T by adding this edge, a contradiction. Thus, e i is colored red, and it implies that T is a closed red-blue trail. It means that T can be considered as a closed red-blue trail starting from any vertex of T and following the same order or the reverse order of T . Now, we show that V (G) = V (T ). Suppose V (G) \ V (T ) is non-empty. Since G is connected, there is an edge vw with v ∈ V (T ) and w ∈ V (G) \ V (T ). If vw is a red edge, then starting from this edge and following T from a blue edge incident with v, we can find a red-blue trail longer than T , a contradiction. The same argument holds when vw is a blue edge. Therefore, we have that V (G) = V (T ). By a similar argument, one can show that E(G) = E(T ); if there is an edge vw in E(G) \ E(T ), we can extend T by putting vw at the beginning. So, E(G) = E(T ).

We conclude that T is a red-blue Eulerian trail, as required.

In order to prove the correctness of our algorithm, we need the following relation between subsets of partial solutions. Definition 4.72. Let A and B be two subsets of Π(H). We write A H B if, for every multigraph M whose edges are colored blue, whenever there exists P 1 ∈ B such that aux H (P 1 ) M admits a red-blue Eulerian trail, there exists P 2 ∈ A such that aux H (P 2 ) M admits a red-blue Eulerian trail.

The main idea of our algorithm for Hamiltonian Cycle, is to compute, for every k-labeled graph H arising in φ, a set A ⊆ Π(H) of small size such that A H Π(H). Indeed, by Lemmas 4.69 and 4.70, A H Π(H) implies that if there exist P ∈ Π(H) and Q ∈ Π(H) such that P and Q form a Hamiltonian cycle, then there exist P ∈ A and Q ∈ Π(H) such that P and Q form a Hamiltonian cycle. The following lemma is the key of our algorithm. Proof. Let P ∈ A and M be a multigraph whose edges are colored blue such that aux H (P) M admits a red-blue Eulerian trail. By definition, reduce H (A) contains a partial solution P such that P P . As aux H (P) M contains a red-blue Eulerian trail, by Lemma 4.71, we have that

• aux H (P) M is connected and

Since aux H (P) has the same set of connected components as aux H (P ), we know that aux H (P ) M is also connected. Moreover, for every i ∈ [k], we have

By Lemma 4.71, we conclude that aux H (P ) M admits a red-blue Eulerian trail.

Thus, for every P ∈ A and multigraph M with blue edges such that aux H (P) M admits a red-blue Eulerian trail, there exists P ∈ reduce H (A) such that aux H (P ) M admits a red-blue Eulerian trail. Hence, we have reduce H (A) H A.

Hamiltonian Cycle problem

In this subsection, we present our algorithm solving Hamiltonian Cycle. Our algorithm computes recursively, for every k-labeled graph H arising in the k-expression of G, a set A H such that A H H Π(H) and |A H | ≤ n k • 2 k(log 2 (k)+1) . In order to prove the correctness of our algorithm, we need the following lemmas which prove that the operations we use to compute sets of partial solutions preserve the relation H . Proof. First, observe that H has the same set of vertices and edges as D. Thus, we have Π(H) = Π(D) and Π(H) = Π(D). Suppose that A D D Π(D).

Let P ∈ Π(H) and M be a multigraph whose edges are colored blue such that aux H (P) M contains a red-blue Eulerian trail T . To prove the lemma, it is sufficient to prove that there exists P ∈ A D such that aux H (P ) M contains a red-blue Eulerian trail.

Let f be a bijective function such that

• for every edge e of aux D (P) with endpoints v and v i , for some , f (e) is an edge of aux H (P) with endpoints v and v j , and

• for every loop e with endpoint v i , f (e) is a loop of aux H (P) with endpoint v j .

By construction of aux D (P) and aux H (P), such a function exists. We construct the multigraph M from M and T by successively doing the following:

• For every edge e of the multigraph aux D (P) with endpoints v and v i , take the subwalk W = (v , f (e), v j , e a , v a ) of T . Replace e a in M by an edge e a with endpoints v i and v a .

• For every loop e with endpoint v i in the multigraph aux D (P), take the subwalk W = (v a , e a , v j , f (e), v j , e b , v b ) of T . Replace e a (respectively e b ) in M by an edge e a (resp. e b ) with endpoints v a and v i (resp. v i and v b ).

By construction, one can construct from T a red-blue Eulerian trail of aux D (P) M . Since A D D Π(D), there exists P ∈ A D such that aux D (P ) M contains a red-blue Eulerian trail. Observe that aux H (P) (respectively M) is obtained from aux D (P ) (resp. M ) by replacing each edge associated with {v i , v k } or {v i } in aux D (P ) (resp. M ) with an edge associated with {v j , v k } or {v j } respectively. We conclude that aux H (P ) M admits a red-blue Eulerian trail. Proof. Observe that V (D) and V (F ) are disjoint. Consequently, we have Π(H) = Π(D) ⊗ Π(F ), and, for all P D ∈ Π(D) and P F ∈ Π(F ), we have aux H (P D ∪ P F ) = aux H (P D ) aux H (P F ). Suppose that A D D Π(D) and A F F Π(F ).

Let P D ∈ Π(D) and P F ∈ Π(F ), and let M be a multigraph whose edges are colored blue such that there exists a red-blue Eulerian trail T in aux H (P D ∪ P F ) M. It is sufficient to prove that there exist P D ∈ A D and P F ∈ A F such that aux H (P D ∪ P F ) M admits a red-blue Eulerian trail.

We begin by proving that there exists P D ∈ A D such that aux H (P D ∪ P F ) M contains a red-blue Eulerian trail. In order to do so, we construct from aux H (P D ∪P F ) M a multigraph M by successively repeating the following: take a maximal sub-walk W of T which uses alternately blue edges and red edges from aux H (P F ) M, remove these edges and add a blue edge between the two end-vertices of W .

By construction of M , for every P D ∈ Π(D), if aux D (P D ) M admits a red-blue Eulerian trail, then aux H (P D ∪ P F ) M contains a red-blue Eulerian trail also. We also deduce from this construction that the multigraph aux D (P D ) M contains a red-blue Eulerian trail. As A D D Π(D), there exists P D such that aux D (P D ) M contains a red-blue Eulerian trail. We conclude that aux H (P D ∪ P F ) M contains also a red-blue Eulerian trail.

Symmetrically, we can prove that there exists P F ∈ A F such that aux H (P D ∪ P F ) M contains a red-blue Eulerian trail. This proves the lemma.

For two k-labeled subgraphs H and D arising in the k-expression of G such that H = η i,j (D), we denote by E H i,j the set of edges whose endpoints are labeled i and j, i.e., {uv ∈ E(H) : lab H (v) = i ∧ lab H (v) = j}. For P ∈ Π(H), we denote by P + (i, j) the set of all partial solutions P of Π(H) obtained by the union of P and an edge uv in E H i,j . Observe that u and v must be the endpoints of two distinct maximal paths of H |P . We extend this notation to sets of partial solutions; for every A ⊆ Π(H), we denote by A + (i, j), the set P∈A (P + (i, j)). It is worth noting that Π(D) ⊆ Π(H) and thus the operator +(i, j) is well defined for a partial solution in Π(D).

Moreover, for every A ⊆ Π(D) and integer t ≥ 0, we define the set A t as follows

Proof. Suppose that A D D Π(D). We begin by proving the following claim.

Proof. Suppose that A H B. Let P ∈ B + (i, j) and M be a multigraph with blue edges such that aux H (P) M admits a red-blue Eulerian trail. Take vw ∈ E H i,j such that P := P -uw belongs to B and v ∈ lab -1 H (i) and w ∈ lab -1 H (j). Let M be the multigraph obtained by adding a blue edge f with endpoints v i and v j to M.

We claim that the multigraph aux H (P ) M admits a red-blue Eulerian trail. Note that there is a path P ∈ P containing the edge uw, and when we remove uw from P, we divide P into two maximal subpaths, say P 1 and P 2 . Without loss of generality, we may assume that P 1 contains v and P 2 contains w. Let v and w be the other end-vertices of P 1 and P 2 , respectively, and let i := lab H (v ) and j := lab H (w ). Note that aux H (P ) can be obtained from aux H (P) by removing Chapter 5

Counting problems

In this chapter, we present our results on the counting problems. We start by an introduction concerning the complexity of counting problems parameterized by width measures. In Section 5.2, we prove that one can compute in polynomial time the number of minimal transversals of β-acyclic hypergraphs. In Subsection 5.2.3, we show that, as a corollary, we can count in polynomial time the minimal dominating sets of strongly chordal graphs and we discuss about the possible extensions of this corollary. In Subsection 5.2.4, we conclude this chapter by some open questions concerning the counting of minimal transversals and in particular, we discuss about how some existing parameters on hypergraphs could be used to extend our result.

Introduction

Even through the parameterized complexity of counting problems are less studied than those of decision problems, some results are known concerning width measures. Arnborg, Lagergren, and Seese [3] extended Courcelle's theorem by showing that every counting problem expressible in MSO 2 are FPT parameterized by the tree-width of the input graph. Makowsky [START_REF] Makowsky | Colored tutte polynomials and kaufman brackets for graphs of bounded tree width[END_REF] proved that evaluating the Tutte polynomial is FPT when parameterized by tree-width. Moreover, Courcelle, Makowsky, and Rotics [START_REF] Courcelle | On the fixed parameter complexity of graph enumeration problems definable in monadic second-order logic[END_REF] generalized Theorem 2.52 by showing that every counting problem expressible in MSO 1 is FPT parameterized by the clique-width of the input graph.

Efficient algorithms are known for the counting variants of NP-hard problems parameterized by tree-width. For example, Bodlaender et al. [START_REF] Hans | Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth[END_REF] designed a framework called determinant approach which provides 2 O(tw(G)) •n time algorithms for the counting variants of many connectivity problems such as Hamiltonian Cycle and Steiner Tree.

Recently, Golovach et al. [START_REF] Golovach | Output-polynomial enumeration on graphs of bounded (local) linear mim-width[END_REF]Theorem 36] proved the following theorem about counting the 1-minimal and 1-maximal (σ, ρ)-dominating sets with the d-neighbor-width as parameter. For a graph G, a (σ, ρ)-dominating set D ⊆ V (G) of G is 1-maximal (resp. 1-minimal ) if for all u ∈ V (G) \ D (resp. u ∈ D), the set D ∪ u (resp. D \ u) is not a (σ, ρ)-dominating set. In particular, Theorem 5.1 implies that we can count the minimal dominating sets (or maximal independent sets) in time n O(mim(L)) given a rooted layout L of the input graph.

Concerning intractability results, it is worth mentioning that Flum and Grohe [START_REF] Flum | The parameterized complexity of counting problems[END_REF] introduced the #W-hierarchy, an analog of the W-hierarchy for parameterized counting problems. They proved that counting paths (or cycles) of length k parameterized by k is #W[1]-complete. Consequently, it is unlikely that there exits an f (k) • n O (1) time algorithm for counting the paths Proof. We start by proving that T = T \ {x} is in btr B (H 1 , S \ {x}). First, we show that T is a transversal of H 1 . Let e ∈ H 1 . By definition of H 1 , x / ∈ e, thus e ∈ H 2 as well. Therefore e∩T = ∅. We now prove that T is minimal in H 1 \H 1 (B). As T ∈ mtr(H 2 \H 2 (B ∪{x})), every vertex in T has a private hyperedge in H 2 \H 2 (B∪{x}). Moreover, recall that H 2 \H 2 (B∪{x}) = H 1 \ H 1 (B). Thus, T is minimal in H 1 \ H 1 (B). As T ⊆ S \ {x}, we have T ∈ btr B (H 1 , S \ {x}).

We finish the proof by showing that T / ∈ btr B (H, S)(x). In order to prove it, we show that there are no private hyperedges for x w.r.t. T and H \ H(B). Indeed, since T ∈ tr(H 2 ), every hyperedge in H 2 contains a vertex in T . By definition of H 2 , we have H \ H(B) ⊆ H 2 , thus for every hyperedge e in H \ H(B), we have e ∩ T = {x}, i.e., e is not a private for x. By Claim 5.9.1 and Claim 5.9.2 we can conclude the lemma.

Finally, we characterize the number of B-blocked transversals of a hypergraph that do not contain a given vertex. We use the symbol for the disjoint union of sets. Proof. Let T ⊆ S be a B-blocked transversal of H. Thus, either we have x ∈ T and then T ∈ btr B (H, S)(x), or x / ∈ T and then T ⊆ S \ {x}, i.e., T ∈ btr B (H, S \ {x}). Since, the two cases are exclusive, we can conclude that btr B (H, S) is the disjoint union of btr B (H, S)(x) and of btr B (H, S \ {x}).

A direct consequence of Lemma 5.8, Lemma 5.9 and Lemma 5.10 is the following equality characterizing the number of B-blocked transversals of H. This will be a crucial step in our dynamic programming scheme. Proof. By Lemma 5.10, #btr B (H, S) = #btr B (H, S \ {x}) + #btr B (H, S)(x). By Lemma 5.8 and Lemma 5.9, {{x}} ⊗ btr B (H 1 , S \ {x}) = btr B (H, S)(x) {{x}} ⊗ btr B∪{x} (H 2 , S \ {x}). Hence, #btr B (H, S)(x) = #btr B (H 1 , S \ {x}) -#btr B∪{x} (H 2 , S \ {x}). Therefore, the claimed equality holds.

Counting the minimal transversals of β-acyclic hypergraphs

In this subsection, we fix H a β-acyclic hypergraph, ≤ a β-elimination ordering of its vertices and we let ≤ H the induced lexicographic ordering on the hyperedges, i.e., e ≤ H f if min(e f ) ∈ e. We denote by H x e the sub-hypergraph of H formed by the hyperedges f ∈ H such that there exists a walk from f to e going only through hyperedges smaller than e and vertices smaller than x. For an example, take the β-elimination ordering a, b, x, c, d of the hypergraph in constraints such as the strange acyclicity constraint of the Subset Feedback Vertex Set problem whose definition is the following.

Subset Feedback Vertex Set

Input: A graph G and S ⊆ V (G). Output: A set X ⊆ V (G) of minimum size such that G[V (G) \ X] does not admit a cycle that contains a vertex in S.

Besides the fact that this problem is FPT parameterized by tree-width and clique-width (it is easily expressible in MSO 1 ), we do not know much on its parameterized complexity w.r.t. width measures. Studying the parameterized complexity of these kinds of problems could help to understand what makes a problem efficiently solvable with respect to the different width measures.

Nevertheless, extending our knowledge on the known width measures is not sufficient to understand entirely what makes an NP-hard problem tractable. Indeed, some NP-hard problems are tractable on graph classes where even mim-width is unbounded. For instance, many NP-hard problems are known to be tractable on chordal graphs. This is the case for Independent Set, Graph Coloring, the unweighted variant of Feedback Vertex Set, and the problem of counting the number of independent sets [START_REF] Festa | Feedback set problems[END_REF][START_REF] Charles | Algorithmic graph theory and perfect graphs[END_REF][START_REF] Okamoto | Counting the number of independent sets in chordal graphs[END_REF]. If we want to explain why these problems are tractable on chordal graphs, we need a width measure with a stronger modeling power than mim-width. Recently, Kang, Kwon, Strømme, and Telle [START_REF] Kang | A width parameter useful for chordal and co-comparability graphs[END_REF] introduced such a width measure that they called sim-width. This new width measure corresponds to the f-width of a graph where f(A) is the size of a maximum induced matching between A and A in G. Kang et al. proved that the sim-width of chordal graphs is 1, however, they were not able to obtain algorithmic results directly from this new width measure. This leads to the following question.

Open Question 6.2. Can we explain the tractability results of NP-hard problems on chordal graphs by the boundedness of their sim-width?

In the same spirit, one might try to explain the tractability results we have on strongly chordal graphs. Indeed, some NP-hard (or #P-hard) problems on chordal graphs are known to be tractable on strongly chordal graphs. This is the case of Dominating Set [START_REF] Kellogg | Dominating sets in chordal graphs[END_REF][START_REF] Farber | Domination, independent domination, and duality in strongly chordal graphs[END_REF] and the problem of counting the number of (minimal) dominating sets (Corollary 5.3 and [START_REF] Moustapha | Counting minimal dominating sets[END_REF]). Unlike chordal graphs, we do not have a width measure on graphs susceptible to explain the tractability of these problems. However, in Subsection 5.2.4, we have presented two width measures on hypergraphs which could explain the tractability results concerning β-acyclic hypergraphs and thus the structured neighborhood of strongly chordal graphs.