Aspects algorithmiques de la comparaison d el ements biologiques - - PowerPoint PPT Presentation
Aspects algorithmiques de la comparaison d el ements biologiques - - PowerPoint PPT Presentation
Aspects algorithmiques de la comparaison d el ements biologiques Florian Sikora Universit e Paris-Est 30 septembre 2011 Introduction Complexit e Recherche exacte de motifs Recherche approch ee de motifs Logiciels
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Plan
Introduction Complexit´ e param´ etr´ ee et algorithmes d’approximation Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
2/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Plan
Introduction Complexit´ e param´ etr´ ee et algorithmes d’approximation Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
3/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Motivations
◮ Complexit´
e de l’homme nombre de g` enes ?
4/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
R´ eseaux biologiques
◮ ´
Enum´ erer les composants d’un avion ne suffit pas pour comprendre son fonctionnement.
◮ ´
Etudier les relations entre les ´ el´ ements.
5/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
R´ eseaux biologiques
◮ Les ´
el´ ements biologiques (prot´ eines, m´ etabolites...) peuvent interagir entre-eux.
6/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
R´ eseaux biologiques
◮ Mod´
elisation par un graphe.
◮ Les ´
el´ ements sont repr´ esent´ es par les nœuds.
◮ Les interactions sont repr´
esent´ ees par les arˆ etes.
7/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Enjeux
◮ Nouvelles techniques : le nombre de donn´
ees augmente tr` es rapidement [Sharan et Ideker 2006].
◮ 2001 : quelques centaines d’interactions. ◮ 2006 : plusieurs milliers.
◮ Beaucoup de bases de donn´
ees :
◮ BIND, ◮ DIP, ◮ KEGG, ◮ MINT, ◮ ... 8/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Enjeux
◮ Nouvelles techniques : le nombre de donn´
ees augmente tr` es rapidement [Sharan et Ideker 2006].
◮ 2001 : quelques centaines d’interactions. ◮ 2006 : plusieurs milliers.
◮ Beaucoup de bases de donn´
ees :
◮ BIND, ◮ DIP, ◮ KEGG, ◮ MINT, ◮ ...
◮ Besoin de l’outil informatique.
8/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Rechercher des motifs
◮ Retrouver un sous-r´
eseau respectant les labels et la topologie du motif.
◮ Deux labels correspondent si les ´
el´ ements ont une fonction similaire (par ex. homologies pour les prot´ eines).
9/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Rechercher des motifs
◮ Retrouver un sous-r´
eseau respectant les labels et la topologie du motif.
◮ Deux labels correspondent si les ´
el´ ements ont une fonction similaire (par ex. homologies pour les prot´ eines).
◮ Chercher des motifs pour retrouver des fonctions connues. ◮ D´
eduire les informations d’esp` eces peu connues depuis des esp` eces bien connues.
9/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Rechercher des motifs
◮ Probl`
emes rapidement NP-complets.
◮ N’existe probablement pas d’algorithme exact de complexit´
e pire cas polynomiale (par ex. O(nc)).
◮ Complexit´
e exponentielle (par ex. O(cn)) pour au moins une instance.
10/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Rechercher des motifs
◮ Mais tout n’est pas perdu ! ◮ Id´
ee : exploiter le fait que les motifs sont plus petits (∼ 5 ` a 15 nœuds) que le r´ eseau (par ex. ∼ 5.000 pour la levure).
◮ Confiner la partie exponentielle `
a k (taille motif) au lieu de n (taille du r´ eseau) : sujet de la complexit´ e param´ etr´ ee.
11/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Plan
Introduction Complexit´ e param´ etr´ ee et algorithmes d’approximation Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
12/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Algorithmes FPT
◮ Beaucoup de probl`
emes (param´ etr´ es) sont de la forme :
◮ Entr´
ee : Un objet X, |X| = n, un entier k.
◮ Question : Est-ce que X a une propri´
et´ e selon k ?
13/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Algorithmes FPT
◮ Beaucoup de probl`
emes (param´ etr´ es) sont de la forme :
◮ Entr´
ee : Un objet X, |X| = n, un entier k.
◮ Question : Est-ce que X a une propri´
et´ e selon k ?
◮ Plusieurs param`
etres possibles (souvent la taille de la solution).
13/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Exemple : Vertex Cover
14/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Exemple : Vertex Cover
14/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Complexit´ e param´ etr´ ee
◮ Probl`
eme dans la classe FPT s’il existe un algorithme exact exponentiel seulement en son param` etre k (et pas en la taille de l’entr´ ee n) [Downey et Fellows 1999].
◮ Complexit´
e f (k) · nc, avec c une constante, et f n’importe quelle fonction (par ex. O(2k · n2)).
15/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Complexit´ e param´ etr´ ee
◮ Probl`
eme dans la classe FPT s’il existe un algorithme exact exponentiel seulement en son param` etre k (et pas en la taille de l’entr´ ee n) [Downey et Fellows 1999].
◮ Complexit´
e f (k) · nc, avec c une constante, et f n’importe quelle fonction (par ex. O(2k · n2)).
◮ Parfois impossible : W[1]-difficult´
e.
15/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Approximation
◮ Un autre possibilit´
e pour contourner la difficult´ e d’un probl` eme : l’approximation.
16/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Approximation
◮ Un autre possibilit´
e pour contourner la difficult´ e d’un probl` eme : l’approximation.
◮ Pour un probl`
eme d’optimisation NP-difficile, pas d’algorithme polynomial possible (sauf si P = NP)...
◮ ... si la solution doit ˆ
etre optimale !
16/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Approximation
◮ Un autre possibilit´
e pour contourner la difficult´ e d’un probl` eme : l’approximation.
◮ Pour un probl`
eme d’optimisation NP-difficile, pas d’algorithme polynomial possible (sauf si P = NP)...
◮ ... si la solution doit ˆ
etre optimale !
◮ Sacrifier de l’exactitude pour obtenir un algorithme polynomial.
16/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Approximation (probl` eme de minimisation)
◮ On borne l’erreur. ◮ Un algorithme est de r-approximation s’il est polynomial et
qu’il retourne des solutions dont le coˆ ut est au pire r × Opt. Solutions Opt r × Opt
17/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Approximation – Difficult´ e
◮ Possible de prouver qu’il n’existe pas d’algorithme
d’approximation inf´ erieur ` a un certain ratio.
18/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Approximation – Difficult´ e
◮ Possible de prouver qu’il n’existe pas d’algorithme
d’approximation inf´ erieur ` a un certain ratio.
◮ But : rapprocher les deux fronti`
eres. r 1 1.3606 2
Exemple pour Vertex Cover
18/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Plan
Introduction Complexit´ e param´ etr´ ee et algorithmes d’approximation Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
19/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Recherche de motifs
◮ Vision “classique” de la recherche de motifs :
◮ Le motif a une certaine topologie (chemin, arbre, graphes
sp´ ecifiques...).
◮ La solution correspond aux labels et `
a la topologie du motif.
20/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Recherche de motifs
◮ Vision “classique” de la recherche de motifs :
◮ Le motif a une certaine topologie (chemin, arbre, graphes
sp´ ecifiques...).
◮ La solution correspond aux labels et `
a la topologie du motif.
◮ Un nombre born´
e d’insertions et d´ el´ etions peut-ˆ etre autoris´ e
20/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Recherche de motifs
◮ Vision “classique” de la recherche de motifs :
◮ Le motif a une certaine topologie (chemin, arbre, graphes
sp´ ecifiques...).
◮ La solution correspond aux labels et `
a la topologie du motif.
◮ Un nombre born´
e d’insertions et d´ el´ etions peut-ˆ etre autoris´ e
20/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Recherche de motifs
◮ Vision “classique” de la recherche de motifs :
◮ Le motif a une certaine topologie (chemin, arbre, graphes
sp´ ecifiques...).
◮ La solution correspond aux labels et `
a la topologie du motif.
◮ Un nombre born´
e d’insertions et d´ el´ etions peut-ˆ etre autoris´ e
◮ Beaucoup d’algorithmes FPT, selon diff´
erents types de topologie [Shlomi et al. 2006, Dost et al. 2007].
◮ PADA1 [Blin, S., Vialette 2009,2010]. 20/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif
◮ Constat : les donn´
ees biologiques sont exp´ erimentales donc tr` es bruit´ ees [Edwards et al. 2002]
◮ Manque des informations (faux n´
egatifs). Estim´ e ` a 50%.
◮ Informations erron´
ees (faux positifs). Estim´ e ` a 50%.
◮ La topologie du motif peut ne pas ˆ
etre connue a priori.
◮ Diff´
erents motifs peuvent avoir une mˆ eme topologie.
21/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif
◮ Constat : les donn´
ees biologiques sont exp´ erimentales donc tr` es bruit´ ees [Edwards et al. 2002]
◮ Manque des informations (faux n´
egatifs). Estim´ e ` a 50%.
◮ Informations erron´
ees (faux positifs). Estim´ e ` a 50%.
◮ La topologie du motif peut ne pas ˆ
etre connue a priori.
◮ Diff´
erents motifs peuvent avoir une mˆ eme topologie.
◮ La topologie du motif peut ne pas ˆ
etre pertinente.
21/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif – D´ efinition
◮ Chaque nœud du r´
eseau est color´ e selon sa famille.
◮ Le motif est juste un (multi-)ensemble de couleurs `
a retrouver connect´ e dans le r´ eseau color´ e [Lacroix et al. 2006].
22/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif – D´ efinition
◮ Chaque nœud du r´
eseau est color´ e selon sa famille.
◮ Le motif est juste un (multi-)ensemble de couleurs `
a retrouver connect´ e dans le r´ eseau color´ e [Lacroix et al. 2006].
◮ Topologie n’est que la connexit´
e de la solution.
22/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif – Un exemple jouet
M : G :
23/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif – Un exemple jouet
M : G :
23/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif – Un exemple jouet
M : G :
23/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif
◮ S’applique `
a diff´ erents types de r´ eseaux biologiques.
◮ Initialement sur les r´
eseaux m´ etaboliques [Lacroix et al.
2006].
◮ Utilisable sur les r´
eseaux PPI [Bruckner et al. 2009].
◮ Selon [Betzler et al. 2008], peut ˆ
etre utilis´ e pour les r´ eseaux sociaux.
24/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif – Difficult´ e
◮ Le probl`
eme est NP-complet, mˆ eme si :
◮ Le r´
eseau est un arbre [Lacroix et al. 2006],
◮ Cet arbre est de degr´
e maximum 3 et le motif est un colorful [Fellows et al. 2007],
◮ L’arbre est de profondeur 2 et le motif est un colorful
[Ambalath et al. 2010],
◮ Le motif n’est constitu´
e que de 2 couleurs et le r´ eseau est un graphe biparti de degr´ e maximum 4 [Fellows et al. 2007].
25/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif – Complexit´ e param´ etr´ e
◮ Le probl`
eme est FPT par la taille k du motif :
◮ O∗(87k) [Fellows et al. 2007]. ◮ O∗(4.3k) (motif multi-ensemble) [Betzler et al. 2008]. ◮ O∗(3k) (motif colorful) [Betzler et al. 2008]. 26/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif – Complexit´ e param´ etr´ e
◮ Le probl`
eme est FPT par la taille k du motif :
◮ O∗(87k) [Fellows et al. 2007]. ◮ O∗(4.3k) (motif multi-ensemble) [Betzler et al. 2008]. ◮ O∗(3k) (motif colorful) [Betzler et al. 2008].
◮ Programmation dynamique et color-coding : complexit´
e en espace exponentielle en k.
26/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif – Complexit´ e param´ etr´ e
◮ Le probl`
eme est FPT par la taille k du motif :
◮ O∗(87k) [Fellows et al. 2007]. ◮ O∗(4.3k) (motif multi-ensemble) [Betzler et al. 2008]. ◮ O∗(3k) (motif colorful) [Betzler et al. 2008].
◮ Programmation dynamique et color-coding : complexit´
e en espace exponentielle en k.
◮ Mais W[1]-difficile si param´
etr´ e par le nombre de couleurs diff´ erentes [Fellows et al. 2007].
26/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes
◮ Am´
elioration de la complexit´ e via un outil dˆ u ` a Koutis et Williams [2008,2009].
27/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes
◮ Am´
elioration de la complexit´ e via un outil dˆ u ` a Koutis et Williams [2008,2009].
◮ R´
esultat clef :
◮ On peut d´
eterminer par un algorithme randomis´ e, en temps O∗(2k) et en espace polynomial, si un polynˆ
- me repr´
esent´ e par un circuit arithm´ etique contient un monˆ
- me multilin´
eaire de degr´ e k.
27/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes
◮ Un monˆ
- me est multilin´
eaire si chaque variable du monˆ
- me
n’apparait qu’une seule fois.
◮ Par d´
efinition, le degr´ e d’un monˆ
- me multilin´
eaire est son nombre de variables.
◮ Exemple : P(X) = (x2 1x3x5 + x1x2x4x6) :
◮ x1x2x4x6 est un monˆ
- me multilin´
eaire de degr´ e 4.
◮ x2
1x3x5 n’est pas un monˆ
- me multilin´
eaire.
28/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes
◮ Un circuit arithm´
etique sur un ensemble de variables X est un DAG t.q. :
◮ les noeuds internes sont les op´
erations × ou +,
◮ les feuilles sont des ´
el´ ements de X.
29/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes
◮ Un circuit arithm´
etique sur un ensemble de variables X est un DAG t.q. :
◮ les noeuds internes sont les op´
erations × ou +,
◮ les feuilles sont des ´
el´ ements de X.
◮ Exemple pour P(X) = (x1 + x2 + x3)(x3 + x4 + x5).
+ × + x1 x2 x3 x4 x5
29/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes
◮ Pour r´
esoudre Graph Motif avec motif colorful :
◮ On introduit des variables correspondant aux couleurs. ◮ On construit un circuit correspondant aux couleurs de tous les
sous-graphes (connexes) de taille k de G.
◮ Un monˆ
- me multilin´
eaire de degr´ e k correspond alors ` a un sous-graphe avec k couleurs diff´ erentes (motif colorful), donc k sommets diff´ erents.
30/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Exemple
M G v2 v1 v3 v4 Construction r´ ecursive Les monˆ
- mes de degr´
e k = 3 contenant le nœud v1 sont la somme des produits des monˆ
- mes :
- 1. de degr´
es k′ < k contenant le nœud v1,
- 2. de degr´
es k − k′ contenant un voisin de v1.
31/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Exemple
M G v2 v1 v3 v4 Construction r´ ecursive Les monˆ
- mes de degr´
e k = 3 contenant le nœud v1 sont la somme des produits des monˆ
- mes :
- 1. de degr´
es k′ < k contenant le nœud v1,
- 2. de degr´
es k − k′ contenant un voisin de v1. Pour k′ = 1 : xR
31/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Exemple
M G v2 v1 v3 v4 Construction r´ ecursive Les monˆ
- mes de degr´
e k = 3 contenant le nœud v1 sont la somme des produits des monˆ
- mes :
- 1. de degr´
es k′ < k contenant le nœud v1,
- 2. de degr´
es k − k′ contenant un voisin de v1. Pour k′ = 1 : xR .(P2,v2)
31/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Exemple
M G v2 v1 v3 v4 Construction r´ ecursive Les monˆ
- mes de degr´
e k = 3 contenant le nœud v1 sont la somme des produits des monˆ
- mes :
- 1. de degr´
es k′ < k contenant le nœud v1,
- 2. de degr´
es k − k′ contenant un voisin de v1. Pour k′ = 1 : xR .(P2,v2+P2,v3)
31/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Exemple
M G v2 v1 v3 v4 Construction r´ ecursive Les monˆ
- mes de degr´
e k = 3 contenant le nœud v1 sont la somme des produits des monˆ
- mes :
- 1. de degr´
es k′ < k contenant le nœud v1,
- 2. de degr´
es k − k′ contenant un voisin de v1. Pour k′ = 1 : xR .(P2,v2+P2,v3) = xR.(xJ.(P1,v1 + P1,v3 + P1,v4)+P2,v3)
31/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Exemple
M G v2 v1 v3 v4 Construction r´ ecursive Les monˆ
- mes de degr´
e k = 3 contenant le nœud v1 sont la somme des produits des monˆ
- mes :
- 1. de degr´
es k′ < k contenant le nœud v1,
- 2. de degr´
es k − k′ contenant un voisin de v1. Pour k′ = 1 : xR .(P2,v2+P2,v3) = xR.(xJ.(P1,v1 + P1,v3 + P1,v4)+P2,v3) = xR.(xJ.(xR + xR + xB)+P2,v3)
31/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Exemple
M G v2 v1 v3 v4 Construction r´ ecursive Les monˆ
- mes de degr´
e k = 3 contenant le nœud v1 sont la somme des produits des monˆ
- mes :
- 1. de degr´
es k′ < k contenant le nœud v1,
- 2. de degr´
es k − k′ contenant un voisin de v1. Pour k′ = 1 : xR .(P2,v2+P2,v3) = xR.(xJ.(P1,v1 + P1,v3 + P1,v4)+P2,v3) = xR.(xJ.(xR + xR + xB)+P2,v3) = xR.(xJ.xR + xJ.xR + xJ.xB+P2,v3)
31/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Exemple
M G v2 v1 v3 v4 Construction r´ ecursive Les monˆ
- mes de degr´
e k = 3 contenant le nœud v1 sont la somme des produits des monˆ
- mes :
- 1. de degr´
es k′ < k contenant le nœud v1,
- 2. de degr´
es k − k′ contenant un voisin de v1. Pour k′ = 1 : xR .(P2,v2+P2,v3) = xR.(xJ.(P1,v1 + P1,v3 + P1,v4)+P2,v3) = xR.(xJ.(xR + xR + xB)+P2,v3) = xR.(xJ.xR + xJ.xR + xJ.xB+P2,v3) = xRxJxR + xRxJxR + xRxJxB + . . .
31/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Exemple
M G v2 v1 v3 v4 Construction r´ ecursive Les monˆ
- mes de degr´
e k = 3 contenant le nœud v1 sont la somme des produits des monˆ
- mes :
- 1. de degr´
es k′ < k contenant le nœud v1,
- 2. de degr´
es k − k′ contenant un voisin de v1. Pour k′ = 1 : xR .(P2,v2+P2,v3) = xR.(xJ.(P1,v1 + P1,v3 + P1,v4)+P2,v3) = xR.(xJ.(xR + xR + xB)+P2,v3) = xR.(xJ.xR + xJ.xR + xJ.xB+P2,v3) = xRxJxR + xRxJxR + xRxJxB + . . . Il y a un monˆ
- me multilin´
eaire (donc une solution).
31/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes
◮ La construction est polynomiale. ◮ Il existe un monˆ
- me multilin´
eaire de degr´ e k si et seulement s’il existe un sous-graphe connexe colorful de taille k.
32/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes
◮ La construction est polynomiale. ◮ Il existe un monˆ
- me multilin´
eaire de degr´ e k si et seulement s’il existe un sous-graphe connexe colorful de taille k.
◮ On peut r´
esoudre Graph Motif lorsque le motif est colorful en O∗(2k) (algorithme randomis´ e) et en espace polynomial
[Guillemot et S. 2010].
32/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ Si le motif est un multi-ensemble, un monˆ
- me non
multilin´ eaire sur les couleurs est une solution.
◮ La construction pr´
ec´ edente n’est plus suffisante.
33/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ Si le motif est un multi-ensemble, un monˆ
- me non
multilin´ eaire sur les couleurs est une solution.
◮ La construction pr´
ec´ edente n’est plus suffisante. M G v2 v1 v3 v4
33/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ Si le motif est un multi-ensemble, un monˆ
- me non
multilin´ eaire sur les couleurs est une solution.
◮ La construction pr´
ec´ edente n’est plus suffisante. M G v2 v1 v3 v4 · · · = xRxJxR + xRxJxB+ xRxJxR + . . .
33/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ Si le motif est un multi-ensemble, un monˆ
- me non
multilin´ eaire sur les couleurs est une solution.
◮ La construction pr´
ec´ edente n’est plus suffisante.
◮ Pour chaque couleur c qui apparait m fois dans le motif, on
introduit des variables xc,1, xc,2, . . . , xc,m . M G v2 v1 v3 v4
33/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ Si le motif est un multi-ensemble, un monˆ
- me non
multilin´ eaire sur les couleurs est une solution.
◮ La construction pr´
ec´ edente n’est plus suffisante.
◮ Pour chaque couleur c qui apparait m fois dans le motif, on
introduit des variables xc,1, xc,2, . . . , xc,m . M G v2 v1 v3 v4 · · · = (xR,1 + xR,2)xJ,1(xR,1 + xR,2) + . . .
33/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ Si le motif est un multi-ensemble, un monˆ
- me non
multilin´ eaire sur les couleurs est une solution.
◮ La construction pr´
ec´ edente n’est plus suffisante.
◮ Pour chaque couleur c qui apparait m fois dans le motif, on
introduit des variables xc,1, xc,2, . . . , xc,m (reste insuffisant). M G v2 v1 v3 v4 · · · = (xR,1 + xR,2)xJ,1(xR,1 + xR,2) + . . . = xR,1xJ,1xR,1+xR,1xJ,1xR,2 +xR,2xJ,1xR,1 +xR,2xJ,1xR,2 + . . .
33/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ Si le motif est un multi-ensemble, un monˆ
- me non
multilin´ eaire sur les couleurs est une solution.
◮ La construction pr´
ec´ edente n’est plus suffisante.
◮ Pour chaque couleur c qui apparait m fois dans le motif, on
introduit des variables xc,1, xc,2, . . . , xc,m (reste insuffisant). M G v2 v1 v3 v4 · · · = (xR,1 + xR,2)xJ,1(xR,1 + xR,2) + . . . = xR,1xJ,1xR,1+xR,1xJ,1xR,2 +xR,2xJ,1xR,1 +xR,2xJ,1xR,2 + . . .
33/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ Si le motif est un multi-ensemble, un monˆ
- me non
multilin´ eaire sur les couleurs est une solution.
◮ La construction pr´
ec´ edente n’est plus suffisante.
◮ Pour chaque couleur c qui apparait m fois dans le motif, on
introduit des variables xc,1, xc,2, . . . , xc,m (reste insuffisant).
◮ Ajout de variables yv pour les nœuds v du graphe.
M G v2 v1 v3 v4
33/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ Si le motif est un multi-ensemble, un monˆ
- me non
multilin´ eaire sur les couleurs est une solution.
◮ La construction pr´
ec´ edente n’est plus suffisante.
◮ Pour chaque couleur c qui apparait m fois dans le motif, on
introduit des variables xc,1, xc,2, . . . , xc,m (reste insuffisant).
◮ Ajout de variables yv pour les nœuds v du graphe.
M G v2 v1 v3 v4 · · · = y1(xR,1 + xR,2) · y2xJ,1 · y1(xR,1 + xR,2) + . . .
33/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ Si le motif est un multi-ensemble, un monˆ
- me non
multilin´ eaire sur les couleurs est une solution.
◮ La construction pr´
ec´ edente n’est plus suffisante.
◮ Pour chaque couleur c qui apparait m fois dans le motif, on
introduit des variables xc,1, xc,2, . . . , xc,m (reste insuffisant).
◮ Ajout de variables yv pour les nœuds v du graphe.
M G v2 v1 v3 v4 · · · = y1(xR,1 + xR,2) · y2xJ,1 · y1(xR,1 + xR,2) + . . . = y1xR,1y2xJ,1y1xR,1+y1xR,1y2xJ,1y1xR,2 + . . .
33/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ Si le motif est un multi-ensemble, un monˆ
- me non
multilin´ eaire sur les couleurs est une solution.
◮ La construction pr´
ec´ edente n’est plus suffisante.
◮ Pour chaque couleur c qui apparait m fois dans le motif, on
introduit des variables xc,1, xc,2, . . . , xc,m (reste insuffisant).
◮ Ajout de variables yv pour les nœuds v du graphe.
M G v2 v1 v3 v4 · · · = y1(xR,1 + xR,2) · y2xJ,1 · y1(xR,1 + xR,2) + . . . = y1xR,1y2xJ,1y1xR,1+y1xR,1y2xJ,1y1xR,2 + . . .
33/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ La construction est toujours polynomiale. ◮ Il existe un monˆ
- me multilin´
eaire de degr´ e 2k si et seulement si il existe une solution de taille k.
34/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Multi-ensemble
◮ La construction est toujours polynomiale. ◮ Il existe un monˆ
- me multilin´
eaire de degr´ e 2k si et seulement si il existe une solution de taille k.
◮ On peut r´
esoudre Graph Motif lorsque le motif est un multi-ensemble en O∗(4k) (algorithme randomis´ e) et en espace polynomial [Guillemot et S. 2010].
34/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Comptage
◮ Compter le nombre d’occurrences d’un motif colorful :
O∗(2k) (construction similaire).
35/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Graph Motif et polynˆ
- mes – Comptage
◮ Compter le nombre d’occurrences d’un motif colorful :
O∗(2k) (construction similaire).
◮ Mais, si le motif est un multi-ensemble, le probl`
eme est #W[1]-difficile [Guillemot et S. 2010].
35/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Plan
Introduction Complexit´ e param´ etr´ ee et algorithmes d’approximation Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
36/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Variantes
◮ Donn´
ees exp´ erimentales, impr´ ecisions.
◮ Rechercher une occurrence exacte d’un motif peut ´
echouer.
37/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Variantes
◮ Donn´
ees exp´ erimentales, impr´ ecisions.
◮ Rechercher une occurrence exacte d’un motif peut ´
echouer.
◮ Autoriser des sommets suppl´
ementaires dans la solution pour atteindre la connexit´ e (insertions).
37/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Variantes
◮ Donn´
ees exp´ erimentales, impr´ ecisions.
◮ Rechercher une occurrence exacte d’un motif peut ´
echouer.
◮ Autoriser des sommets suppl´
ementaires dans la solution pour atteindre la connexit´ e (insertions).
◮ Autoriser l’absence de couleurs du motif dans la solution
(d´ el´ etions).
37/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Variantes
◮ Donn´
ees exp´ erimentales, impr´ ecisions.
◮ Rechercher une occurrence exacte d’un motif peut ´
echouer.
◮ Autoriser des sommets suppl´
ementaires dans la solution pour atteindre la connexit´ e (insertions).
◮ Autoriser l’absence de couleurs du motif dans la solution
(d´ el´ etions).
◮ Autoriser plusieurs composantes connexes dans la solution.
37/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Variantes
◮ Donn´
ees exp´ erimentales, impr´ ecisions.
◮ Rechercher une occurrence exacte d’un motif peut ´
echouer.
◮ Autoriser des sommets suppl´
ementaires dans la solution pour atteindre la connexit´ e (insertions).
◮ Autoriser l’absence de couleurs du motif dans la solution
(d´ el´ etions).
◮ Autoriser plusieurs composantes connexes dans la solution. ◮ Autoriser une liste de couleurs pour chaque sommet du
r´ eseau.
37/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Une variante de Graph Motif : Minimum Substitutions
◮ Une autre variante : Minimum Substitutions [Dondi et al.
2011].
◮ Trouver une occurrence qui reprend ”le plus de couleurs
possible” du motif, mais de mˆ eme taille que le motif.
◮ On substitue des couleurs du motif par de nouvelles couleurs.
38/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Minimum Substitutions : Exemple
M : G :
39/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Minimum Substitutions : Exemple
M : G :
39/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Minimum Substitutions : Exemple
M : G :
39/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Une variante de Graph Motif : Minimum Substitutions
◮ Il n’existe pas de ratio d’approximation inf´
erieur ` a c log |V |, sauf si P = NP, mˆ eme lorsque le motif est colorful et G est un arbre de profondeur 2.
40/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}}
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}}
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}}
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G |S′| = nombre de substitutions
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G |S′| = nombre de substitutions
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Construction
X = {x1, x2, x3}, S = {{x1, x2},{x2, x3},{x2}} M G |S′| = nombre de substitutions
41/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
R´ esultat
◮ Il n’existe pas de ratio d’approximation meilleur que c log |X|
pour Minimum Set Cover (sauf si P = NP) [Raz et Safra
1997].
42/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
R´ esultat
◮ Il n’existe pas de ratio d’approximation meilleur que c log |X|
pour Minimum Set Cover (sauf si P = NP) [Raz et Safra
1997].
◮ Il n’existe pas de ratio d’approximation meilleur que c log |V |
pour Minimum Substitutions (sauf si P = NP) [Rizzi et S.,
en pr´ eparation].
42/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Plan
Introduction Complexit´ e param´ etr´ ee et algorithmes d’approximation Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
43/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Logiciels pour Graph Motif
◮ Motus [Lacroix et al. 2006] : test´
e sur les r´ eseaux m´ etaboliques.
◮ Mode recherche : trouver toutes les occurrences d’un motif
donn´ e.
◮ Mode inf´
erence : trouver tous les motifs (r´ ep´ et´ es) d’une certaine taille (test´ e avec 3 et 4).
◮ Torque [Bruckner et al. 2009] : un service web pour les
r´ eseaux PPI, qui ne g` ere que les motifs colorfuls.
◮ GraMoFoNe [Blin, S., Vialette 2010] : un greffon Cytoscape
(environ 350 t´ el´ echargements).
44/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Cytoscape (2002)
◮ Plateforme java open-source, gratuite,
permettant :
◮ l’importation / l’exportation nombreux
formats, BDD,...
◮ la visualisation et l’analyse de r´
eseaux d’interactions,
◮ l’int´
egration d’annotations ` a ces r´ eseaux.
◮ Largement utilis´
e (”des centaines” d’articles l’utilisent pour de l’analyse).
◮ Maintenu...
45/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Cytoscape
◮ Principal avantage : greffons. ◮ Ajout de fonctions :
◮ Analyses, ◮ Nouveaux layouts, ◮ Formats de fichiers, ◮ Connexion avec des bases de donn´
ees,
◮ ... 46/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Programmation Pseudo-Bool´ eenne
◮ Donne une solution exacte. ◮ Beaucoup de solvers efficaces existent. ◮ Dont beaucoup de gratuits (= CPLEX).
47/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Programmation Pseudo-Bool´ eenne
◮ Donne une solution exacte. ◮ Beaucoup de solvers efficaces existent. ◮ Dont beaucoup de gratuits (= CPLEX). ◮ On utilise SAT4JPseudo [Le Berre, Parrain 2007] :
◮ Gratuit, ◮ Maintenu, ◮ Bonnes performances lors des comp´
etitions,
◮ En java. 47/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Interface
48/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – “batch mode”
◮ Utilis´
e pour tests ` a grande ´ echelle.
◮ Recherche de dizaines de complexes prot´
eiques dans des r´ eseaux d’autres esp` eces.
49/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – “batch mode”
◮ Utilis´
e pour tests ` a grande ´ echelle.
◮ Recherche de dizaines de complexes prot´
eiques dans des r´ eseaux d’autres esp` eces.
◮ Donn´
ees (comme Torque) :
◮ Motifs de 6 esp`
eces (levure, drosophile, homo sapiens, souris, boeuf, rat),
◮ R´
eseaux de 3 esp` eces (levure, drosophile, homo sapiens),
◮ De 2 `
a 4 insertions/d´ el´ etions autoris´ ees selon la taille du motif.
49/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – “batch mode”
◮ Plus de bruit pour la mouche (faux n´
egatifs d´ econnectent la solution, faux positifs donnent des “mauvaises” solutions).
50/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Temps de calcul
◮ 5 `
a 20 secondes pour de petits motifs, 40 ` a 60 pour des plus grands.
◮ Utiliser un solveur externe empˆ
eche de pr´ edire les temps de calcul.
51/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Plan
Introduction Complexit´ e param´ etr´ ee et algorithmes d’approximation Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
52/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Perspectives... ou ce dont je n’ai pas parl´ e !
◮ Comparaison de r´
eseaux biologiques h´ et´ erog` enes [Blin, Fertin,
Mohamed-Babou, Rusu, S. et Vialette 2011].
◮ R´
earrangements g´ enomiques [Blin, Fertin, S., Vialette 2009],
[Blin, Rizzi, S. et Vialette 2011], [Yang, S., Blin, Hamel, Rizzi et Aluru, en cours de soumission].
◮ Minimisation des duplications de g`
enes [Blin, Bonizzoni, Dondi,
Rizzi et S., 2012].
◮ Plus longue sous-s´
equence commune sans r´ ep´ etition [Blin,
Bonizzoni, Dondi et S., en cours de soumission].
53/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Perspectives
◮ Algorithme en O∗(2k) pour Graph Motif quand le motif est
un multi-ensemble ?
54/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Perspectives
◮ Algorithme en O∗(2k) pour Graph Motif quand le motif est
un multi-ensemble ?
◮ Le bruit pousse `
a la recherche d’extensions plus souples :
◮ Contraintes sur les couleurs. ◮ Contraintes sur la connexit´
e :
◮ Simple connexit´
e : FPT,
◮ 2-connexit´
e : W[1]-difficile,
◮ Modules. 54/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
D´ ecomposition arborescente
◮ l’union de tous les Xi de X est ´
egale ` a V ,
◮ pour toute arˆ
ete {v, w} de E, il existe un nœud Xi de l’arbre T qui contient v et w,
◮ si Xi et Xj contiennent un mˆ
eme sommet v, alors tous les nœuds Xz de T sur le chemin entre Xi et Xj contiennent v.
56/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Matro¨ ıdes
◮ M = (S, I) d´
efini sur :
◮ Un ensemble fini S = {s1, . . . , s|S|} ◮ Ensemble I de sous-ensembles sur S (ind´
ependants)
◮ M est un matro¨
ıde si :
◮ si X ⊆ Y et Y ∈ I, alors X ∈ I (tout sous-ensemble d’un
ind´ ependant est un ind´ ependant)
◮ si X, Y ∈ I et |Y | > |X|, alors ∃s ∈ Y \X t.q. X ∪ {s} ∈ I
(existe un ´ el´ ement de Y absent de X qui peut ˆ etre ajout´ e ` a X t.q. X reste ind´ ependant)
◮ M est matro¨
ıde de partition o` u il existe une partition de S en k parts disjointes {s1, . . . , sk}, k entiers positifs n1, . . . , nk et I = {X ⊆ S : |X ∩ Si| ≤ ni, 1 ≤ i ≤ k}
57/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Modules
v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v9 v4 v6 v8 v1 v7 v2 v3 v10 v5
58/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Modules
a) v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 b) premier v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11 s v2, v3, v4 s v8, v9, v10, v11 p v2, v3 p v6, v7 p v10, v11 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
59/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Programmation Pseudo-Bool´ eenne
◮ 23 contraintes et 9 domaines de variables ◮ A respecter :
- 1. La taille de la solution
- 2. La coloration de la solution par rapport au motif
- 3. La connexit´
e de la solution (partie difficile)
60/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Variables
◮ Une variable xv pour chaque nœud v ◮ xv = 1 si v est dans la solution (xv = 0 sinon)
M : G : x1 x2 x3 x4 x5 x6
61/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Variables
◮ Une variable xv pour chaque nœud v ◮ xv = 1 si v est dans la solution (xv = 0 sinon)
M : G : x1 x2 x3 x4 x5 x6
◮ Contrainte ”taille solution” : v∈V xv = |M| :
◮ x1 + x2 + x3 + x4 + x5 + x6 = 3 61/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Variables
◮ Une variable xv pour chaque nœud v ◮ xv = 1 si v est dans la solution (xv = 0 sinon)
M : G : x1 x2 x3 x4 x5 x6
◮ Contrainte ”taille solution” : v∈V xv = |M| :
◮ x1 + x2 + x3 + x4 + x5 + x6 = 3
◮ Contraintes ”coloration”
v∈V c∈col(v) xv = occM(c) : ◮ x1 + x2 + x6 = 2 (gris) ◮ x3 + x5 = 1 (bleu) ◮ x4 = 0 (rose) 61/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Variables
◮ Connexit´
e : |M| variables Labelv pour chaque nœud v M : G : x1
Label11 Label12 Label13
x2
Label21 Label22 Label23
x3
Label31 Label32 Label33
x4
Label41 Label42 Label43
x5
Label51 Label52 Label53
x6
Label61 Label62 Label63 61/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Variables
◮ Connexit´
e : |M| variables Labelv pour chaque nœud v M : G : x1
Label11 Label12 Label13
x2
Label21 Label22 Label23
x3
Label31 Label32 Label33
x4
Label41 Label42 Label43
x5
Label51 Label52 Label53
x6
Label61 Label62 Label63
◮ |V | contraintes ”un seul label par nœud dans la solution” :
◮ Pour chaque v, xv ⇒ (|M|
i=1 Labelvi = 1)
61/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Variables
◮ Connexit´
e : |M| variables Labelv pour chaque nœud v M : G : x1
Label11 Label12 Label13
x2
Label21 Label22 Label23
x3
Label31 Label32 Label33
x4
Label41 Label42 Label43
x5
Label51 Label52 Label53
x6
Label61 Label62 Label63
◮ |V | contraintes ”un seul label par nœud dans la solution” :
◮ Pour chaque v, xv ⇒ (|M|
i=1 Labelvi = 1)
◮ |M| contraintes “un seul nœud par label donn´
e”
◮ Pour un label i donn´
e,
v∈V Labelvi = 1
61/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Variables
◮ Connexit´
e : |M| variables Labelv pour chaque nœud v M : G : x1
Label11 Label12 Label13
x2
Label21 Label22 Label23
x3
Label31 Label32 Label33
x4
Label41 Label42 Label43
x5
Label51 Label52 Label53
x6
Label61 Label62 Label63
◮ |V | contraintes ”un seul label par nœud dans la solution” :
◮ Pour chaque v, xv ⇒ (|M|
i=1 Labelvi = 1)
◮ |M| contraintes “un seul nœud par label donn´
e”
◮ Pour un label i donn´
e,
v∈V Labelvi = 1
◮ |V |.|M| contraintes “un nœud avec un label a un voisin avec
un label sup´ erieur” (sauf le dernier)
◮ Labelvi ⇒ (
u∈N(v)
- j>i Labeluj ≥ 1)
61/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Une solution
M : G : x1
Label11 Label12 Label13
x2
Label21 Label22 Label23
x3
Label31 Label32 Label33
x4
Label41 Label42 Label43
x5
Label51 Label52 Label53
x6
Label61 Label62 Label63 62/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Une solution
M : G : x1
Label11 Label12 Label13
x2
Label21 Label22 Label23
x3
Label31 Label32 Label33
x4
Label41 Label42 Label43
x5
Label51 Label52 Label53
x6
Label61 Label62 Label63
◮ “taille” : x1 + x2 + x3 + x4 + x5 + x6 = 3 ◮ “coloration” :
◮ x1 + x2 + x6 = 2 (gris) ◮ x3 + x5 = 1 (bleu) ◮ x4 = 0 (rose) 62/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Une solution
M : G : x1
Label11 Label12 Label13
x2
Label21 Label22 Label23
x3
Label31 Label32 Label33
x4
Label41 Label42 Label43
x5
Label51 Label52 Label53
x6
Label61 Label62 Label63
◮ “un label par nœud” : ∀v, xv ⇒ (|M| i=1 Labelvi = 1) ◮ “un nœud par label” : v∈V Labelvi = 1 ◮ “voisin avec label sup´
erieur” : Labelvi ⇒ (
u∈N(v)
- j>i Labeluj ≥ 1)
62/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe
◮ G`
ere Graph Motif ”classique” (colorful et multi-ensemble)
◮ Permet d’avoir toutes les solutions possibles...
63/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe
◮ G`
ere Graph Motif ”classique” (colorful et multi-ensemble)
◮ Permet d’avoir toutes les solutions possibles... ◮ Avec des variables et contraintes suppl´
ementaires, on peut g´ erer
◮ Les insertions ◮ Les d´
el´ etions
◮ Une liste de couleurs associ´
ee ` a chaque nœud du graphe
63/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe
◮ G`
ere Graph Motif ”classique” (colorful et multi-ensemble)
◮ Permet d’avoir toutes les solutions possibles... ◮ Avec des variables et contraintes suppl´
ementaires, on peut g´ erer
◮ Les insertions ◮ Les d´
el´ etions
◮ Une liste de couleurs associ´
ee ` a chaque nœud du graphe
◮ Devient complexe (compensations “une d´
el´ etion compense une insertion”, garder la bijection entre motif et graphe si plusieurs couleurs dans le graphe,...)
63/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Interface
64/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Interface
64/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Interface
64/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Interface
64/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Interface
64/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Interface
64/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Interface
64/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Interface
64/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Interface
64/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
GraMoFoNe – Interface
64/55
Introduction Complexit´ e Recherche exacte de motifs Recherche approch´ ee de motifs Logiciels Perspectives
Programmation Pseudo-Bool´ eenne
◮ Trouver une assignation de variables satisfaisant les contraintes
et maximisant l’objectif
◮ Un exemple simple :
◮ Variables : xi ∈ {0, 1}, ∀i = 1, 2, 3 ◮ Objectif : max x1 + 2x2 − x3 ◮ Contraintes :
- 1. x1 − 2x2 + 3x3 ≥ 1
- 2. x1 + x2 + x3 = 1
- 3. 2x1 + x2 + x3 < 3
◮ Solution : x1 = 1, x2 = 0, x3 = 0
65/55