• Aucun résultat trouvé

riables bool´ eennes

CHAPITRE 3. COMPARAISON DE G´ ENOMES AVEC DUPLICATIONS 89

3.2.3 Des algorithmes heuristiques

Nous verrons dans la Section 3.3 que notre approche par programmation lin´eaire `a variables bool´eennes, pr´esent´ee dans la section pr´ec´edente, nous permet d’obtenir presque tous les r´esultats exacts attendus pour les mod`eles exemplaire, interm´ediaire et maximum sur l’ensemble des γ-Prot´eobact´eries ´etudi´e, mais que les limites de cette m´ethode sont atteintes.

En effet, et sp´ecialement pour le mod`ele interm´ediaire, certains r´esultats ne peuvent ˆetre obtenus en utilisant cette m´ethode, et une des raisons `a cela est que les tailles des g´enomes sont trop grandes pour la m´ethode par programmation lin´eaire `a variables bool´eennes pour ˆetre en mesure d’ˆetre g´er´ees. En d’autres termes, alors que cette m´ethode semble ˆetre prometteuse pour de “petits” g´enomes (c’est-`a-dire des g´enomes qui, apr`es pr´etraitement, ne d´epassent pas, environ, deux milles g`enes), il y a un besoin crucial d’al-gorithmes rapides (et alors non n´ecessairement exacts) pour les cas de g´enomes ayant des tailles plus importantes. Bien sˆur, ces algorithmes heuristiques doivent fournir des r´esultats de haute qualit´e, c’est-`a-dire le plus proche possible des r´esultats exacts. Dans ce sens et grˆace `a une comparaison avec les r´esultats exacts pr´esent´es dans la Section3.3, nous sommes en mesure d’´evaluer plusieurs heuristiques et de valider l’efficacit´e des heu-ristiques propos´ees dans cette section.

Dans la suite, neuf heuristiques seront pr´esent´ees et ´etudi´ees (trois pour chaque mod`ele). Chacune de ces heuristiques entre dans l’une des deux cat´egories suivantes : (i) les heuris-tiques bas´ees sur la recherche it´erative de la plus Longue Sous-s´equence Commune (“Lon-gest Common Subsequence” en anglais et LCS, par abr´eviation) de deux g´enomes, et (ii) les heuristiques qui sont un hybride entre la cat´egorie (i) susmentionn´ee et la m´ethode par programmation lin´eaire `a variables bool´eennes. Notons que deux heuristiques hybrides seront propos´ees pour chaque mod`ele.

Avant de d´ecrire en d´etail nos heuristiques, nous rappelons que pour le mod`ele in-term´ediaire, deux probl`emes diff´erents existent : nous d´esirons trouver soit un couplage qui maximise le nombre d’adjacences, soit un couplage qui minimise le nombre de points de cassure. Cependant, nous avons vu que minimiser le nombre de points de cassure pour le mod`ele interm´ediaire est ´equivalent `a minimiser le nombre de points de cassure pour le mod`ele exemplaire (Proposition 3.9). Donc toute heuristique qui vise `a r´eduire au mini-mum le nombre de points de cassure pour le mod`ele exemplaire va de mˆeme minimiser le

CHAPITRE 3. COMPARAISON DE G´ENOMES AVEC DUPLICATIONS 93 nombre de points de cassure pour le mod`ele interm´ediaire. Par cons´equent, quand nous nous ramenons au mod`ele interm´ediaire, nous allons nous focaliser uniquement sur les heuristiques qui cherchent `a maximiser le nombre d’adjacences.

Les heuristiques IILCS

Nous commen¸cons par d´ecrire ici l’id´ee principale qui est derri`ere les heuristiques bas´ees sur la recherche it´erative de la plus Longue Sous-s´equence Commune (ou LCS), que nous avons appel´e heuristiques IILCS. Soient G1 et G2 deux g´enomes : un LCS de (G1, G2) est une sous s´equence S commune `a (G1, G2) et de longueur maximale, `a l’inversion sign´ee pr`es (signes oppos´es et ordre invers´e). L’id´ee ici est de coupler, `a chaque it´eration, tous les g`enes qui sont pr´esents dans un LCS, jusqu’`a ce que le couplage d´esir´e soit obtenu.

Nous notons que cette id´ee n’est pas nouvelle : elle a d´ej`a ´et´e utilis´ee, par exemple, dans [65]. Dans [6], cette heuristique a ´et´e am´elior´ee de la mani`ere suivante : `a chaque it´eration, non seulement nous couplons tous les g`enes qui sont contenus dans un LCS (R`egle 1), mais nous enlevons aussi chaque g`ene non-coupl´e du g´enome pour lequel il n’y a aucun g`ene non-coupl´e de la mˆeme famille dans l’autre g´enome (R`egle 2).

Les trois heuristiques que nous pr´esentons utilisent les deux r`egles mentionn´ees ci-dessus. Puisque la diff´erence entre les probl`emes se situe dans le couplage que nous d´esirons obtenir, nos trois heuristiques vont diff´erer sur ce point sp´ecifique.

Mod`ele maximum. Nous appliquons it´erativement la R`egle 1 et la R`egle 2 jusqu’`a ce que l’algorithme s’arrˆete. Par d´efinition de la R`egle 1 et de la R`egle 2, ceci implique que le couplage r´esultant est maximum. Nous appelons cette heuristique IILCS M.

Mod`ele interm´ediaire. Nous appliquons aussi it´erativement la R`egle 1 et la R`egle 2. La diff´erence ici est la condition d’arrˆet : l’algorithme s’arrˆete d`es que chaque famille de g`ene a ´et´e coupl´ee au moins une fois. Nous appelons cette heuristique IILCS IA.

Mod`ele exemplaire. Nous appliquons it´erativement la R`egle 1 et la R`egle 2 une nouvelle fois, mais nous appliquons des suppressions de g`enes en plus `a chaque it´eration. En effet, nous avons besoin de nous assurer que seul un g`ene de chaque famille est coupl´e sur un g´enome. Dans ce cas, `a chaque it´eration, pour les g`enes dupliqu´es qui sont contenu dans le LCS courant, nous conservons et couplons arbitrairement la premi`ere occurrence ; alors que pour les g`enes g qui ne sont pas dans le LCS, nous appliquons la r`egle sui-vante : si g est pr´esent dans le LCS (et donc coupl´e), alors nous supprimons toutes les autres occurrences de g dans le reste des deux g´enomes. Lorsque cette heuristique s’arrˆete, nous avons la garantie d’obtenir un couplage exemplaire. Nous appelons cette heuristique IILCS E.

94 3.2. MESURE DE POINTS DE CASSURE ET D’ADJACENCES

Remarquons que, pour chacune de ces trois heuristiques, il peut exister, `a chaque it´eration, plusieurs LCS ; dans ce cas, nous avons d´ecid´e de choisir de fa¸con al´eatoire l’un d’entre eux. Ainsi, si nous ex´ecutons IILCS M (respectivement IILCS IA, IILCS E) plusieurs fois sur la mˆeme instance, nous pouvons obtenir diff´erents couplages, et donc le nombre de points de cassure et d’adjacences peut varier. C’est pourquoi, pour chaque paire de g´enomes, nous avons d´ecid´e de lancer dix fois les heuristiques IILCS M, IILCS IA et IILCS E et de garder le meilleur r´esultat.

Les heuristiques hybrides

Nous allons maintenant d´ecrire la deuxi`eme cat´egorie d’heuristiques que nous propo-sons pour r´esoudre nos probl`emes pour les trois mod`eles. Ces heuristiques sont bas´ees sur une m´ethode hybride utilisant l’heuristique IILCS appropri´ee, puis l’algorithme de programmation lin´eaire `a variables bool´eennes. Le principe est de calculer une partie du couplage par it´eration de l’heuristique IILCS appropri´ee jusqu’`a ce que la taille du LCS soit strictement plus petite qu’un param`etre donn´e k. Une fois ce crit`ere obtenu, nous compl´etons le couplage par l’algorithme de programmation lin´eaire `a variables bool´eennes appropri´e. Cette heuristique est appel´ee HYB M(k) (respectivement HYB IA(k), HYB E(k)) pour le mod`ele maximum (respectivement interm´ediaire, exemplaire).

Pour chacun de ces trois mod`eles, nous avons test´e l’heuristique hybride d´ecrite ci-dessus pour deux valeurs diff´erentes de k, `a savoir k = 2 et k = 3. Nous avons d´elib´er´ement choisi de petites valeurs pour k, car lorsque k est plus grand, utiliser l’algorithme exact pour compl´eter le couplage partiel peut augmenter de fa¸con non n´egligeable le temps de calcul. Nous perdons l’avantage qu’a l’heuristique au niveau de la vitesse. De plus, nous allons voir dans la section suivante que les r´esultats obtenus avec k = 2 et k = 3 sont d´ej`a extrˆemement bons.

Les neuf heuristiques que nous proposons sont bas´ees sur la recherche de LCS. Ceci se justifie par le fait que pour chaque LCS de taille t trouv´ee et coupl´ee nous obtenons au moins t − 1 adjacences et au plus 2 points de cassure. Nous pouvons donc esp´erer avoir des r´esultats heuristiques proches des r´esultats exacts. Pourtant il est `a noter qu’il existe des cas particuliers o`u les heuristiques sont particuli`erement mauvaises. La Figure 3.7

donne un exemple simple de deux g´enomes G1 et G2 pour lesquels les heuristiques IILCS et hybride donnent de mauvais r´esultats (3m + 3 points de cassure et 3m + 2 adjacences contre 4 points de cassure et 6m adjacences de fa¸con optimale) pour chacun des trois mod`eles.