• Aucun résultat trouvé

2.4 Résultats de complexité paramétrée

2.4.2 Paramétrer par le dual

On s’intéresse ici à ` = n−|M|, le paramètre dual de GRAPHMOTIFqui représente le nombre de som-

mets qui ne sont pas dans la solution. A priori, ce paramètre ne semble pas très intéressant puisque les mo- tifs recherchés sont généralement de petite taille. Pour justifier l’intérêt de leurs travaux sur le paramètre `, Fertin et Komusiewicz montrent qu’il existe d’autres problèmes pour lesquels les algorithmes FPT par rap- port au paramètre dual donnent les meilleurs résultats en pratique [64]. En outre, Fertin et Komusiewicz [55] utilisent des algorithmes de branchement (voir Section 1.3.1, page 25), dont le temps d’exécution peut-être grandement réduit si on applique des règles de réduction sur l’instance initiale de GRAPHMOTIF. En effet,

si par exemple le graphe d’entrée est composé de plusieurs composantes connexes après application des règles de réduction, on peut essayer de trouver une occurrence du motif dans chacune de ces composantes connexes séparément. Si n0 désigne le nombre de sommets d’une composante connexe, on note que ` de-

vient égal à n0−|M| et peut par conséquent devenir très petit dans des instances contenant un grand nombre

de couleurs [26, 10, 55].

Dans la suite, on présente des algorithmes FPT et des kernels polynomiaux relativement à `. On com- mence avec le résultat suivant pour COLORFULGRAPHMOTIF.

Théorème 26. ([10])COLORFUL GRAPHMOTIFpeut être résolu en tempsO∗(2`).

Preuve. On propose un algorithme de branchement récursif basé sur les couleurs de G. Pour cela, on définit S = V. Si S n’est pas colorful, on considère u, v ∈ S tel que col(u) = col(v) et on branche récursivement sur deux cas : on supprime soit u soit v de S. Maintenant, pour tout S correspondant à une feuille de l’arbre de recherche induit TS, il suffit de déterminer si G[S] est connexe pour savoir si S est une occurrence de M

dans G.

On observe que l’algorithme décrit ci-dessus est correct puisqu’il existe un ensemble S correspondant à une feuille de TS pour chaque sous-ensemble colorful de |C| sommets de G. Puisque chaque étape de

l’algorithme est effectuée en temps polynomial, la complexité en temps de celui-ci est exponentielle unique- ment par rapport au nombre de nœuds de TS. Puisque TS est un arbre binaire de hauteur ` = n − |M|,

son nombre de nœuds ne peut pas excéder 2` et en conséquence la complexité temporelle de l’algorithme

2.4. RÉSULTATS DE COMPLEXITÉ PARAMÉTRÉE 53 v1 v2 v3 v4 v5 v6 G M = { , , , } V V \ {v1} V \ {v3} V \ {v1, v4} V \ {v1, v5} V \ {v3, v4} V \ {v3, v5} TS 0 1 2 3 4 5 6

Figure 2.11 – Illustration de l’algorithme de branchement décrit dans le Théorème 26 sur une instance de COLORFUL GRAPH MOTIF (à gauche). Pour faciliter les explications, on donne des noms en marron

aux nœuds de l’arbre de recherche induit TS (à droite). On observe que v1 et v3 sont de même couleur et

appartiennent tous les deux à l’ensemble S du nœud 0. Ainsi, on crée deux nœuds 1 et 2 à partir du nœud 0, dans lesquels on supprime respectivement v1 et v3 de S. Puisque v4 et v5 sont de même couleur, on

applique également cette règle de branchement pour obtenir les nœuds 3 et 4 à partir du nœud 1, et pour obtenir les nœuds 5 et 6 à partir du nœud 2. Les nœuds 3, 4, 5 et 6 sont des feuilles de TS dont l’ensemble

Scorrespondant est colorful. On observe que le graphe G[S] est connexe pour les ensembles S des nœuds 3et 4. Ainsi, les ensembles qui correspondent aux nœuds 3 et 4 sont des occurrences du motif M dans G.

Fertin et Komusiewicz ont amélioré la complexité de l’algorithme présenté ci-dessus dans les arbres en montrant que COLORFULGRAPHMOTIFpeut être résolu en temps O∗(√2`)[55] dans ce type d’instances. Théorème 27. ([55])COLORFUL GRAPHMOTIFrestreint aux arbres peut être résolu en tempsO∗(√2`). Preuve. Tout comme l’algorithme présenté dans le Théorème 26, on décrit un algorithme de branchement récursif basé sur les couleurs de G et on initialise S à V . On applique cependant une règle de branchement différente afin que le graphe G[S] soit connexe pour tout ensemble S correspondant à un nœud de TS. Ainsi,

pour toute paire de sommets u, v ∈ S partageant la même couleur et telle que u et v ne sont pas des feuilles de G[S], on applique la règle de branchement suivante : on supprime de S (i) tous les sommets u0 tels que

uappartient à l’unique chemin entre v et u0 (u inclus), ou (ii) tous les sommets v0 tels que v appartient à

l’unique chemin entre u et v0(v inclus). Pour tout ensemble S correspondant à une feuille de T

S, il n’existe

donc pas deux sommets de même couleur tels qu’aucun de ces sommets n’est une feuille de G[S]. Pour de tels ensembles S, on commence donc par supprimer itérativement toutes les feuilles de G[S] dont la couleur n’est pas unique dans col(S). Puisqu’un arbre reste connexe après la suppression de n’importe laquelle de ses feuilles, il suffit ensuite de regarder si col(S) = C pour déterminer si S est une occurrence de M dans G. On observe que l’algorithme décrit ci-dessus est correct puisqu’il existe un ensemble S correspondant à une feuille de TS pour chaque sous-ensemble colorful de |C| sommets de G. Par ailleurs, chaque étape

exponentielle uniquement en son nombre de nœuds. Puisque la règle de branchement supprime au minimum 2 sommets dans chacun des deux cas possibles, on note que le vecteur de branchement (voir Section 1.3.1, page 25) de l’algorithme est (2,2). On en déduit que l’algorithme proposé par Fertin et Komusiewicz a une complexité temporelle de O∗(2`).

On vient de montrer que COLORFULGRAPHMOTIFpeut être résolu en temps O∗(√2`)dans les arbres. Afin d’améliorer l’efficacité de cet algorithme, Fertin et Komusiewicz ont montré que COLORFUL GRAPH

MOTIF admet également un kernel polynomial de taille au plus (2` + 1) dans les arbres, lequel peut être

calculé en temps O(m), où m est le nombre d’arêtes de G [55]. Malheureusement, COLORFUL GRAPH

MOTIFn’admet pas de kernel polynomial dans les graphes en général et GRAPHMOTIFn’admet même pas

de kernel polynomial dans les arbres, sauf si NP ⊆ NP/Poly [55]. Fertin et Komusiewicz ont en revanche proposé un algorithme de programmation dynamique en temps O∗(4`)dans les arbres [55]. Enfin, ils ont

montré que GRAPH MOTIF ne peut pas être résolu en temps O((2 − )`) sous l’hypothèse SETH (voir

page 22) [55]. On rappelle que l’algorithme proposé par Betzler et al. pour COLORFUL GRAPH MOTIF

dans le Théorème 26 possède une complexité en temps de O∗(2`), mais que celui-ci est restreint aux motifs

colorfuls. Par conséquent, le fait que GRAPH MOTIFne peut vraisemblablement pas être résolu en temps

O((2 − )`)ne suffit pas à prouver l’optimalité de l’algorithme de Betzler et al..

On résume dans le Tableau 2.3 les résultats obtenus dans cette section.

Restriction sur G Statut FPT Statut kernel GRAPHMOTIF –

Pas d’algorithme en

– O((2 − )`)

sous SETH [55]

Arbre O∗(4`) Pas de kernel [55]

COLORFUL GRAPHMOTIF – O∗(2

`)[10] Pas de kernel [55]

Arbre O∗(2`)[55] Kernel de taille O(`) [55]

Tableau 2.3 – Tableau récapitulatif des résultats de complexité paramétrée liés à ` pour GRAPH MOTIFet

COLORFUL GRAPHMOTIFdans la Section 2.4.2. Ici, ` est le nombre de sommets qui ne font pas partie de

la solution et SETH est une hypothèse de complexité définie page 22.