• Aucun résultat trouvé

Reconstruction à partir de triplets

1.5 Classification des restrictions sur les réseaux phylogénétiques

2.1.2 Reconstruction à partir de triplets

La première question algorithmique que l’on considère naturellement sur les triplets et les réseaux phylogénétiques explicites est de déterminer l’ensemble des triplets contenus dans un réseau, ce qui est fait en temps optimalO(n3)pour un réseau ànfeuilles, par un algorithme de programmation dynamique [Byrka et al., 2010].

Citons également les algorithmes de reconstruction d’arbres à partir de triplets. Nous avons déjà évoqué l’algorithme de Aho et al. et ses diverses implémentations [Aho et al., 1981; Henzinger et al., 1999; Jansson et al., 2005]. Si l’ensemble de triplets en entrée est dense, un autre résultat intéressant est un algorithme certifiant de reconstruction en temps optimalO(n3): s’il existe un arbre qui contient les triplets alors on le reconstruit, sinon on exhibe un conflit qui implique un ensemble de triplets portant sur quatre feuilles [Guille- mot et Berry, 2010].

La première garantie donnée sur la reconstruction de réseaux phylogénétiques expli- cites binaires enracinés à partir de triplets est qu’il est possible de reconstruire de tels ré- seaux pour tout ensemble de triplets [Jansson et Sung, 2006] car il existe un réseau phy- logénétique explicite enraciné binaire surnfeuilles, construit à partir d’un réseau de tri de néléments [Batcher, 1968], qui contient tous les triplets possibles sur ces nfeuilles. Toutefois ce réseau a peu d’intérêt biologique puisqu’il contient justement tous les triplets possibles, et a un nombre très important de sommets hybrides.

Le premier algorithme utile d’un point de vue phylogénétique est celui de reconstruc- tion de réseaux de niveau 1 à partir d’un ensemble denseRde triplets. Il s’exécute en temps

O(n6)[Jansson et Sung, 2006] et se base sur le concept des SN-ensembles : cet algorithme diviser-pour-régner consiste à identifier des sous-ensembles de feuillesL⊆X, appelés SN- ensembles, tels que pour tousa,b∈Letc6∈L,R|{a,b,c}= ab|c(le seul triplet sur les feuilles

a, b, cestab|c)7. Ces SN-ensembles ont la particularité de former une famille laminaire (et donc d’être représentables par un SN-arbre enraciné) quand l’ensemble de triplets en entrée est dense. Le calcul du SN-arbre, intialement réalisé par un algorithme en temps

O(n5)[Jansson et Sung, 2006], peut en fait s’effectuer en tempsO(n3)[Jansson et al., 2006]. De plus, dans tout réseau N qui contient les triplets de R, tout SN-ensemble de

R est l’ensemble des feuilles descendantes des cibles d’une union d’isthmes dont les sources appartiennent à un même blob B de N [van Iersel et al., 2009a]. Par exemple, la figure 2.3 montre un réseau de niveau 1 qui contient un ensemble dense de triplets

7. Cette définition équivalente [To et Habib, 2009] n’est pas celle initalement proposée par Jansson et Sung [2006] mais s’avère plus simple à manipuler.

R = {c|ab,d|ab,e|ab,a|cd,e|ac,a|de,b|cd,b|ce,b|de,e|cd}, dont le SN-ensemble {c,d}est l’ensemble des feuilles sous l’isthme w, {a,b} est l’ensemble des feuilles sous uetv, et

{a,b,c,d,e}est l’ensemble des feuilles sous tous les isthmes deB:u,v,wetx. Ainsi, on peut associer à tout SN-ensemble deRun blobBdu réseau solution. Cette propriété ex- plique le nom donné à ces ensembles : “SN” signifie ici “simple network” car pour tout blob du réseau, si l’on contracte, pour chacun de ses isthmes incidents, tous les sommets descendants de la cible de l’isthme, on obtient un réseau simple.

FIGURE 2.3 : Un réseau de niveau 1 qui contient l’ensemble de triplets

{c|ab,d|ab,e|ab,a|cd,e|ac,a|de,b|cd,b|ce,b|de,e|cd}, dont {a,b}, {c,d} et {a,b,c,d,e} sont des SN-ensembles.

Mentionnons toutefois que l’association d’un blob à un SN-ensemble n’est pas bi- jective. Plusieurs SN-ensembles concernent en effet le même blob. Ainsi, pour réaliser la reconstruction du réseau solution, la première étape est de déterminer tous les SN- ensembles associés aux isthmes incidents au blob qui contient la racine du réseau. Si l’on sait faire cette étape, alors on pourra calculer l’ensemble du réseau de manière récursive en reconstruisant progressivement les blobs du réseau “de haut en bas” (pour la relation de descendance).

Les premiers algorithmes de reconstruction de réseaux de niveau 1 [Jansson et Sung, 2006] et 2 [van Iersel et al., 2009a] utilisent le fait qu’il existe toujours un réseau solution où chaque SN-ensemble maximal correspond à l’ensemble des feuilles sous un isthme du blob le plus haut (sauf pour un cas bien identifié de réseaux de niveau 2, où exacte- ment un SN-ensemble correspond à l’union des feuilles sous deux isthmes : il faut donc examiner cette possibilité pour chacun des SN-ensembles maximaux, mais l’algorithme reste polynomial [van Iersel et al., 2009a]). Pour les niveauxksupérieurs, pourkfixé, [To et Habib, 2009] montrent une propriété particulière des SN-ensembles qui correspondent à l’ensemble des feuilles sous exactement un isthme incident au blob le plus haut du réseau solution. Cette propriété implique qu’on peut les trouver en examinant un nombre poly- nomial (plus précisément, exponentiel enk, maiskest fixé et ne fait pas partie de l’entrée du problème) de possibilités.

Ainsi, nous avons vu que l’identification des SN-ensembles maximaux à partir d’un ensemble dense de triplets en entrée permet d’utiliser une approche diviser-pour-régner

pour se concentrer sur chaque blob, l’un après l’autre. Cette étape de reconstruction de chaque blob s’effectue aussi en temps polynomial (toujours exponentiel enk), grâce au principe suivant : les triplets concernant toutes les feuilles descendantes du blob de niveau

k, sauf celles descendantes d’un sommet hybride, sont contenus dans un réseau de niveau

k−1. Par exemple, dans la figure 2.3, les triplets portant sur l’ensemble des feuilles excepté celles descendant de la cible du sommet hybride h, c’est-à-dire sur l’ensemble{a,b,e}, sont contenus dans un arbre. Ainsi, le principe de l’algorithme, en temps O(nk), est de considérer à tour de rôle chacun desO(n)SN-ensembles en supposant qu’il est constitué de l’ensembleLdes feuilles sous un sommet hybride, de le supprimer, et de vérifier s’il est effectivement possible de reconstruire un réseau de niveauk−1contenant l’ensemble des triplets restantsR|X−L.

Ces deux étapes, l’identification des blobs, et la reconstruction de chaque blob, conduisent à des algorithmes respectivement en tempsO(n3),O(n8)etO(nb9k/2c+4)pour reconstruire un réseau respectivement de niveau 1 [Jansson et al., 2006], 2 [van Iersel et al., 2009a] etk[To et Habib, 2009] à partir d’un ensemble dense de triplets. Les algorithmes pour le niveau 1 et le niveau 2 sont disponibles dans le logiciel Level2. Des algorithmes proposent également la reconstruction d’un réseau respectivement de niveau 1, 2, et k, contenant un nombre minimal de sommets hybrides, en tempsO(n5)(implémenté dans les logicielsMarlonetSimplistic[van Iersel et Kelk, 2010]),O(n9), etO(n6k+2)respective- ment.

On le voit, ces algorithmes demandent un temps de calcul important en fonction du niveau des réseaux à reconstruire. Or, une autre approche exacte permet de s’accommoder du fait que le réseau à reconstruire a un niveau plus élevé que ceux que nos capacités de calcul nous permettent de reconstruire. Il s’agit de supprimer des feuilles pour baisser la complexité du réseau à reconstruire en obtenant un niveau inférieur. Ainsi, la solution sera moins complète qu’espéré, mais fournira tout de même une information sur l’évolution de certaines des espèces étudiées. Par exemple, pour le calcul d’un arbre contenant un ensemble denseRde triplets après élimination d’un nombre minimum delfeuilles, des algorithmes de complexité paramétrée résolvent ce problème en tempsO(n4+ 3.12l)ou

O(4ln3)[Guillemot et Berry, 2010], bien que la version sans restriction de densité soit NP- difficile, et même W[2]-difficile [Berry et Nicolas, 2006]8.

D’autres résultats négatifs limitent les approches de reconstruction à partir de triplets. Tout d’abord, le problème d’existence d’un réseau de niveaukqui contient un ensemble de triplets en toute généralité (sans la restriction de densité) est NP-complet [Jansson et al., 2006; van Iersel et al., 2009b], même pour les réseaux simples de niveauk, pour toutk≥1

fixé. Si le niveaukfait partie de l’entrée du problème, l’existence d’un réseau de niveauk

qui contient un ensemble dense de triplets fourni en entrée est NP-complet [van Iersel et Kelk, 2011].

8. c’est-à-dire qu’il est improbable qu’un algorithme en tempsO(f(l)·poly(n))puisse résoudre ce pro- blème.

Face à cette complexité, un algorithme d’approximation en tempsO(n|R|3)permet de fournir un réseau de niveau 1 compatible avec au moins 5/12 (41,66%) des triplets présents dans l’ensembleRfourni en entrée [Jansson et al., 2006]. Ce résultat est amélioré par Byrka et al. [2010] pour obtenir un algorithme qui fournit un réseau compatible avec un ratio d’au moins 48% des triplets en entrée, en tempsO(n3+ n|R|).

Nous évoquerons au début de la section 3.1 d’autres résultats sur la reconstruction de réseaux contenant un nombre maximum de triplets en entrée, pour prendre en compte la présence de bruit dans les données.