• Aucun résultat trouvé

5.3 Vérification de l’atteignabilité

5.4.4 Idée intuitive des méthodes pour l’identification des attracteurs . 156

l’identification des attracteurs dans un AN. Nous indiquons que nous donnons ces algorithmes uniquement afin de comprendre les idées derrière ces méthodes. En effet, ceci peut aider le lecteur qui n’est pas habitué avec le formalisme d’ASP (un paradigme logique) à comprendre ce que notre implémentation entend faire.

Attracteurs cycliques :

Nous décrivons ici comment obtenir les états des attracteurs qui peuvent être identifiés par des chemins dont la longueur minimale est fixée. L’obtention de tous les attracteurs de toutes les tailles peut être ainsi abordée en augmentant progressivement les longueurs des chemins considérées.

Le pseudo-code de cette méthode est donné par l’algorithme 4 ci-dessous. Il peut être résumé dans les quatre étapes suivantes :

1. énumérer tous les chemins de longueur n ;

2. éliminer tous les chemins qui ne sont pas des cycles (algorithme 5) ;

3. pour chaque trace d’un cycle restant, vérifier qu’il est aussi un domaine piège et donc c’est un attracteur (algorithme 6) ;

4. vérifier que n est la longueur minimale des chemins qui atteignent tous les états globaux de l’attracteur (algorithme 7).

Après les 3 premières étapes, les seuls chemins restants sont des cycles pièges. Ainsi, leurs traces sont nécessairement des attracteurs (voir lemme 5.3 en page 150). Nous ajoutons la 4ème étape pour optimiser le résultat de la méthode. En effet, nous exigeons le fait que chaque attracteur ne s’affiche que pour une seule valeur de n qui est égale à la longueur minimale du chemin qui atteigne tous ses états globaux. Autrement dit, quand la méthode est appelée avec plusieurs valeurs de n, elle ne retourne pas les mêmes attracteurs.

En effet, si l’attracteur est complexe, sa taille est surement inférieure à la longueur minimale du chemin qui peut atteindre tous ses éléments, n ; car il existe au moins un état global qui est visité plus qu’une fois par le cycle (voir exemple d’un attracteur complexe en page 156). Ainsi, la 4ème étape vérifie s’il s’agit d’un attracteur complexe, et si c’est le cas alors elle doit vérifier si le n choisi est égal à la longueur minimale pour que tous ses états globaux soient atteints.

Chapitre 5 — Analyse de la dynamique des RRB 157 D’autre part, s’il ne s’agit pas d’un attracteur complexe, la 4ème étape vérifie que la taille de l’attracteur doit être égale à n (voir propriété 5.1 en page 150). En effet, il peut s’agir d’un cycle piège d’une petite longueur mais qui recycle sur lui même ou qui donne à la fin un cycle de longueur supérieure à n. En revanche, ces plus petits cycles qu’il contient ne sont pas forcément indispensables pour trouver tous les états globaux de l’attracteur qu’il atteint (comme c’est le cas pour l’attracteur complexe). Ainsi, n n’est pas la longueur minimale avec laquelle cet attracteur doit être identifié. Par exemple, soit le cycle piège suivant, (ζ0; ζ1; ζ0) dont la longueur est égale à n = 2. L’attracteur qui est égal à sa trace est : {ζ0, ζ1}. Cet attracteur pourrait figurer aussi parmi les cycles de longueur n = 4 s’il est répété deux fois comme suit : (ζ0; ζ1; ζ0; ζ1; ζ0). Ainsi, bien que la trace de ce cycle piège soit un attracteur (qui n’est pas complexe), sa longueur (n = 4) n’est pas minimale. Et donc, quand l’algorithme 4 ci-dessous est appelé avec n = 4 en paramètre, cet attracteur {ζ0, ζ1} ne sera pas affiché, mais il est seulement affiché quand n = 2. Et ceci grâce à l’algorithme 7 de l’étape 4 qui garantit qu’il n’y aura pas l’identification des mêmes attracteurs pour des valeurs différentes de n.

Algorithm 4 : attracteurs(AN , U, n) Entrée :

- AN = (Σ, S, T ) : un AN - n ∈ N n ≥2

- U ∈ {Uasyn, Usyn} : une sémantique de mise à jour de la dynamique du AN Sortie :

- ∆n : ensemble de tous les attracteurs tel que tous les états globaux de chaque attracteur sont parcourut par chemin de longueur minimale égale à n

Début :

n ←− ∅ // Initialisation

pour chaque ζ ∈ S faire

H = (Hi)i∈J0;nK ∈ Sn+1, avec H0= ζ // un chemin de longueur n est calculé // à partir de ζ selon la sémantique U

si (verifCycle(H) = vrai) alors // voir algorithme5

si (verifDomPiege(AN , trace(H)) = vrai) alors // voir algorithme 6 si (verifMinChemin(H, n) = vrai) alors // voir algorithme 7

n←−∆n∪ {trace(H)} // ajouter l’attracteur trace(H) dans ∆n

fin si fin si fin si

fin pour chaque retourner ∆n

158 5.4 — Identification des attracteurs Algorithm 5 : verifCycle(H)

Entrée :

- H = (Hi)i∈J0;nK ∈ Sn+1 : un chemin Sortie :

- verif : variable booléenne qui est égale à vrai si H est un cycle Début

v er i f ←− f aux // Initialisation

si (H0= Hn) alors

v er i f ←− v r ai // le chemin H est un cycle

fin si retourner verif

Algorithm 6 : verifDomPiège(AN , E, U) Entrée :

- AN = (Σ, S, T ) : un AN

- E ⊂ S : un ensemble d’états globaux

- U : une sémantique de mise à jour de la dynamique Sortie :

- verif : variable booléenne qui est égale à vrai si E est un domaine piège dans AN selon la sémantique U

Début

v er i f ←− V r ai // initialisation

pour chaque ζ ∈ E faire // pour chaque état global dans E

si (∃ Sce(ζ) /∈ E) alors // s’il existe un successeur qui n’est pas dans E

v er i f ←− f aux // si c’est le cas E n’est pas un domaine piège

fin si

fin pour chaque retourner verif .

Chapitre 5 — Analyse de la dynamique des RRB 159 Algorithm 7 : verifMinChemin(H, n) Entrée : - H = (Hi)i∈J0;nK ∈ Sn+1 : un chemin - un entier n ∈ N n ≥2 Sortie :

- verif : variable booléenne qui est vrai si la trace de H ne peut être parcourut que par un chemin de longueur minimale égale à n

Début

si (|trace(H)| = n − 1) alors

v er i f ← v r ai // le chemin H est de longueur minimale égale à n

sinon

si (∃ H0 = (Hi0)i∈J0;k K ∈ Sk+1 tel que k < n ∧ ∀ζ ∈ trace(H), ∃H0

i = ζ ∧ v er i f Cy cle(H) = v r ai ∧ si j 6= i ⇒ H0

j 6= H0

i avec 0 < j < i < k) alors v er i f ← f aux // ∃ un autre chemin H0 de longueur k < n

// tel qu’il parcourt tous les états globaux de trace(H)

sinon verif ← vrai fin si

fin si

retourner verif

Points fixes :

Comme il a été indiqué précédemment, un point fixe n’est qu’un attracteur singleton. Ainsi, la méthode précédente qui identifie les attracteurs cycliques n’est plus applicable pour identifier un point fixe dans un AN. En effet, puisqu’un état singleton n’a pas de successeurs, alors il ne peut pas appartenir à une trace d’un cycle.

Par conséquent, nous séparons l’algorithme qui énumère les points fixes de celui qui énumère les attracteurs non-singletons cycliques. La méthode qui identifie tous les points fixes dans un AN peut être résolue avec un algorithme moins complexe. L’idée est simple, identifier tous les états globaux du réseau et puis vérifier pour chacun s’il a des transitons locales qui sont jouables. S’il n’existe aucune transition locale qui est jouable dans un état global ζ (c’est-à-dire J(ζ) = ∅), alors ζ est un point fixe (voir algorithme 8 ci-dessous).

Il est clair que ces algorithmes montrent une complexité énorme. En revanche, grâce à l’utilisation d’ASP nous avons pu la contourner par la proposition des programmes logiques innovants. En effet, les résultats qui sont présentés dans le chapitre suivant montrent que nous pouvons identifier les attracteurs (singletons et cycliques) pour des modèles de taille assez large (jusqu’à 100 composants) au bout de quelques secondes ou quelques minutes. Par exemple, pour identifier les 5.875.504 points fixes d’un AN de taille égale à 100 automates, la méthode nécessite environ 2 minutes. Et pour identifier tous les attracteurs de taille n = 2 pour le même AN de taille 100 (en sémantique synchrone), la méthode renvoie 2.058.272 réponses au bout d’environ 5 minutes. Nous donnons plus de détails, dans le chapitre 6, sur les résultats obtenus pour des AN de différentes tailles modélisant des systèmes biologiques réels.

160 5.5 — Discussion Algorithm 8 : pointsFixes(AN )

Entrée : AN = (Σ, S, T ) : un AN

Sortie : ∆ : l’ensemble des points fixes de AN Début :

∆ ←− ∅ // initialisation

pour tout ζ ∈ S faire

si (J(ζ) = ∅) alors // J(ζ) est l’ensemble des transitions locales

∆ ←− ∆ ∪ {ζ} // jouables dans ζ

fin si fin pour tout retourner ∆

5.5 Discussion

Le but de ce chapitre est d’étudier formellement la dynamique des RRB modélisés avec le formalisme des AN. Nous avons abordé principalement deux propriétés dynamiques : (i) la vérification de l’atteignabilité d’un objectif (qui est un ensemble d’états locaux des automates du réseau) à partir d’un état global donné ; et d’autre part (ii) l’identification des attracteurs singletons (i.e., points fixes) et non singletons (i.e., cycliques) dans un AN.

Nous notons que, puisque le formalisme des AN s’applique sur des modélisations de type modèle de René Thomas (Thomas, 1991), tous nos résultats sont également réalisables sur des modèles décrits avec le modèle de Thomas, ainsi que tout autre cadre qui peut être décrit en AN (tels que les réseaux booléens, les réseaux définis dans Biocham (Calzone, Fages & Soliman, 2006), etc.).

Le problème d’identification de tous les attracteurs dans un RRB est difficile. Même le plus simple problème de décider si le système a un point fixe, qui est considéré comme le plus petit attracteur est NP-complet. Certaines méthodes avec une moindre complexité consiste par exemple, à choisir de manière arbitraire un état global initial et à suivre un chemin suffisamment long, en espérant éventuellement trouver un attracteur. Mais ces méthodes ne sont pas exhaustives et peuvent manquer certains attracteurs (qui sont difficiles à atteindre).

Par conséquent, en l’absence de méthodes exhaustives efficaces, il est pertinent de développer une approche pour résoudre le problème NP-complet pour l’identification des attracteurs. D’où l’intérêt de notre approche présentée dans ce chapitre et qui consiste à examiner de manière exhaustive tous les états globaux possibles d’un réseau, ainsi que tous les chemins possibles de chacun de ces états. De toute évidence, cette méthode nécessite beaucoup de temps et de mémoire : 2n états initiaux doivent être pris en compte pour un réseau booléen ayant n nœuds ; et les réseaux multi-valués augmentent encore plus cette valeur.

D’autre part, pour résoudre le problème de l’atteignabilité, un nombre suffisant de chemins doit être calculé pour s’assurer que toutes les trajectoires ont été explorées pour vérifier si l’objectif est effectivement atteignable ou pas à partir d’un état initial donné. De telles méthodes exhaustives nécessitent aussi énormément de temps et de mémoire.

Chapitre 5 — Analyse de la dynamique des RRB 161 d’un outil capable de traiter de tels problèmes difficiles. Donc, pour implémenter nos méthodes nous avons choisi le paradigme logique : Answer Set Programming. En effet, il s’est avéré efficace pour résoudre les problèmes complexes. Toutes les implémentations des méthodes présentées dans ce chapitre sont introduites dans le chapitre 6 suivant. Et nous y montrons aussi leur efficacité à résoudre ces problèmes NP-complets par leur applications sur des exemples de larges modèles biologiques (plus que 100 automates).

Chapitre 6

Mise en œuvre et résultats

Nous avons introduit dans les chapitres précédents de ce manuscrit, de nouvelles approches qui étudient la dynamique des réseaux de régulation biologiques (RRB). Rappelons que cette étude consiste : (i) à inférer les réseaux d’automates avec le temps (T-AN) modélisant un RRB à partir des données de séries temporelles (chapitre 4) ; (ii) et à analyser formellement les propriétés dynamiques des réseaux d’automates (vérification de l’atteignabilité et identification des attracteurs). Dans ce chapitre, nous présentons les implémentations de toutes ces méthodes en Answer Set Programming (ASP) et nous discutons les résultats obtenus par leurs applications sur des modèles biologiques. ASP a été identifié dans les années 1990 comme une sous-partie de la programmation logique, en tant que sémantique particulière, et est devenu l’un des domaines les plus dynamiques de la représentation des connaissances et la programmation déclarative. Il s’est avéré qu’ASP est particulièrement adapté à la résolution de problèmes combinatoires complexes. Nous montrons aussi dans notre étude que, grâce à l’utilisation d’ASP nous avons pu faire face aux problèmes combinatoires affrontés lors de l’étude des RRB.

Ce travail présente la partie de mise en oeuvre et application de tous nos articles publiés et qui sont cités dans les chapitres précédents : (Ben Abdallah et al., 2016) et sa version étendue dans (Ben Abdallah, Ribeiro, Magnin, Roux & Inoue, 2017) pour l’inférence des T-AN, (Ben Abdallah et al., 2015) pour la vérification de l’atteignabilité et (Ben Abdallah, Folschette, Roux & Magnin, 2017) pour l’identification des attracteurs.