• Aucun résultat trouvé

6.1 Méthode CABIN

6.1.3 Algorithme CABIN et performances

L’algorithme CABIN calcule à partir d’un ensemble d’observations donné EC et d’un réseau

biologique K, la plus large vue valide du réseau tel que tous les états stables de la vue coïncident avec

des observations.

référence 7F qui correspondent aux états d’équilibre observés avec lesquels devront coïncider les états

stables du réseau (Figure 35, ligne 2). La première étape est la sélection d’un agent candidat dans

l’ensemble ? (suivi de sa suppression immédiate de l’ensemble) (Figure 35, ligne 4) et la recherche de

tous ses régulateurs 7MNN (Figure 35, lignes 5-6). Tous les états stables du sous-réseau comprenant

l’agent candidat et ses régulateurs sont calculés (Figure 35, ligne 7) puis comparés aux observations

afin de vérifier s’ils coïncident et si le sous-réseau considéré est bien valide (Figure 35, ligne 8). Si

c’est le cas, le candidat ainsi que les interactions qui le régulent et ses régulateurs sont intégrés dans la

vue (Figure 35, lignes 9-10). Puis, si les états stables calculés sont différents de ceux existants avant la

première étape (initialement vide), ce qui veut dire que la vue peut encore être étendue, alors les

régulateurs de l’agent intégré sont ajoutés à la liste de candidats L (Figure 35, lignes 11-13). Puis on

retourne à la première étape en sélectionnant un nouveau candidat et on répète la procédure jusqu’à

que la liste de candidats soit vide. Un candidat peut être rejeté si l’intégration de sa régulation ne

conserve pas la validité de la vue, et implique qu’aucun de ses régulateurs ne soit ajouté à la liste de

candidats.

O))))))PQRST)

U))))))))))))L & ?)V)A

5

&)W)V)7F& 7X

Y

)V )7;F&)W)V)Z

5

&)W)V)

[))))))))))))\]S^Q))L _))W))`a)

b)))))))))))))))))-!c)$) 6 L)V L & L)d)'$,)V)

e)))))))))))))))))Zf& g(+ $ 6 Zh)V)

.

i)))))))))))))))))7MNN & g()j)$+ ( 6 Zh)k )A; V)

.

l)))))))))))))))))7;F& m

pq6'pq)*)pqrs9t)@)>H)u)v)6)>H,

)no)V)

w)))))))))))))))))Sx))#7;F_))W%)y)#u

z6>{||

7;F)9z)& 7;F%))}]QT)

~)))))))))))))))))))))))Z

5

& Z

5

m Zf)V)

O)))))))))))))))))))))A

5

& A

5

m)'$,)V)

OO)))))))))))))))))))))Sx))7;F_ 7F))}]QT)

OU)))))))))))))))))))))))))))L & L)m) !"#$%)V)

13 7F& 7;F)V

14 end

15 end

16 end

17 end

Figure 35. Algorithme CABIN. L): l’ensemble des agents candidats, ?): l’ensemble des agents observés, A;):

l’ensemble des agents intégrés dans la vue, 7F): l’ensemble des états de référence, 7;F): l’ensemble des nouveaux

états de référence, 7X

Y

): l’ensemble des observations, Z): l’ensemble des interactions initiales et Z;): l’ensemble

des interactions intégrées à la vue.

Figure 36. Illustration du principe de l’algorithme CABIN. Le réseau biologique est un réseau multivalué tel

que : A & '€J J ‚,J ƒ & '„J …,J )D†& 'J O,J )D‡& 'J OJ U,J )Dˆ& 'J O,. Chaque état est représenté par un

vecteur 4#€%4#%4#‚% et leur évolution asynchrone est représentée par une flèche étiquetée par le nom de l’agent

régulé. Les états colorés en bleu sont les états stables du réseau qui coïncident avec l’observation : ‚ & O.(a)

Configuration initiale : A

5

&WJ)L & '‚,‰ (b) ‚ est un candidat valide, A

5

& '‚,J L & 'J €,. (c)  est un candidat

valide, A

5

& '‚J ,J L & '€,‰ (d) € n’est pas un candidat valide, A

5

& '‚J ,J L &W.

La figure 36 illustre le principe de l’algorithme sur un réseau d’interactions multivalué. La

première étape (Figure 36a) est l’initialisation de la liste de candidats L à l’ensemble des observations :

ici on considère l’observation ‚ & O donc la liste de candidats est initialisée telle que L & '‚,); et la

liste de candidats valides A; à un ensemble vide. Le graphe d’états correspondant est constitué de tous

les états possibles du réseau parmi lesquels sont distingués ceux qui sont compatibles avec

l’observation (représentés en bleu). La seconde étape (Figure 36b) est l’évaluation de la validité du

candidat ‚ : l’ensemble des interactions qui le régulent sont étudiées afin de vérifier leur compatibilité

pour l’agent candidat , sa régulation se révèle compatible avec les observations et il est ajouté à la

liste de candidats valides (Figure 36c). Par contre, on observe à l’étape suivante que la dynamique de la

régulation de l’agent € n’est pas compatible avec l’existence d’un état stable apparié à l’observation

‚ & O, il est donc considéré comme invalide et les interactions qui le régulent ne seront pas intégrées

dans la vue finale du réseau (Figure 36d).

La complexité de l’algorithme est en Š#*7*‹% car, à chaque boucle effectuée, la recherche des

nouveaux états stables 7;F implique le calcul préalable de tous les états du réseau 7 (Š#*7*%) et la

vérification de la validité nécessite qu’ils soient comparés à toutes les observations, en quantité

inférieure ou égale au nombre d’états du réseau (Š#*7*Œ%).

Bien que l’algorithme soit polynomial, son temps d’exécution est fonction du nombre d’états

dans le graphe, qui est exponentiel. Afin de pouvoir appliquer la méthode CABIN à de grands réseaux

(de l’ordre de OŒ agents) une version symbolique a été développée. Elle décrit l’espace d’états par

des formules de Presburger dans le cas des réseaux multivalués ou des formules propositionnelles dans

le cas des réseaux booléens ; c'est-à-dire en définissant un ensemble d’états du réseau par une formule

plutôt que par une énumération de toutes ses valeurs. Cette version symbolique permet de traiter des

réseaux de l’ordre de OŒ agents efficacement (Figure 37).

Un prototype de l’algorithme a été développé sous Mathematica afin d’évaluer ses

performances. Les procédures de tests consistent à faire tourner l’algorithme sur des séries de 100

réseaux biologiques booléens générés de façon aléatoire et de topologie similaire aux réseaux de gènes

connus : c'est-à-dire des réseaux de type scale-free dont la connectivité des agents suit une loi de

probabilité (Barabasi and Albert 1999) (ici  & Jl et le degré moyen de connexion est d’environ

UJe) ; et sont chacun associé à une observation correspondant à l’activité d’un agent tiré de façon

aléatoire. Elles sont exécutées sur un PC Intel Xeon quad core de 3GHz. En faisant varier le nombre

d’agents, on remarque que l’algorithme a de façon générale un temps d’exécution moyen relativement

faible et croissant avec la taille des réseaux (Figure 37ac). Cette augmentation est principalement due à

la taille des formules de Presburger réévaluées lors du test de chaque agent candidat, croissante avec le

nombre d’agents (Figure 37bc).

Figure 37. Performances de l’algorithme CABIN. (a) Temps d’exécution moyen de l’algorithme CABIN en

fonction du nombre d’agents dans le réseau. (b) Nombre de termes atomiques moyen dans les formules de

Presburger en fonction du nombre d’agents dans le réseau. (c) Valeurs numériques correspondant aux

graphiques.