• Aucun résultat trouvé

5.3 Vérification de l’atteignabilité

5.4.2 Étude des caractéristiques dynamiques des attracteurs cycliques . 151

pièges minimaux ne peuvent être que des composantes fortement connexes. Autrement dit, tout attracteur non singleton est cyclique. Par contre, il est à noter que toute trace d’un cycle qui n’est pas un piège ne présente pas nécessairement un attracteur. En effet, il suffit d’avoir une transition transitoire à partir de l’un des ses états globaux vers un autre état global qui n’y appartient pas (voir lemme 5.4).

Lemme 5.4 (Caractérisation des non-attracteurs). Soit E ⊆ S un ensemble d’états globaux. Si ∃ζ1∈ E et ∃ζ2 ∈ S \ Etel que ζ1U ζ2 alors E n’est pas un attracteur.

Démonstration. Si ∃ζ1 ∈ E et ∃ζ2 ∈ S \ Etel que ζ1U ζ2 alors E n’est pas un domaine piège (voir définition 5.11 en page 148) et ainsi E n’est pas un attracteur (voir définition 5.12 en page 148).

Exemple. Par exemple, dans la figure 5.4 en page 146, on peut distinguer que le chemin suivant est un cycle sans que sa trace soit un attracteur :

C = (ha1, b2, c0, d1i; ha1, b2, c0, d0i; ha1, b2, c0, d1i) est un cycle de longueur n = 2 et sa trace trace(C) = {ha1, b2, c0, d1i, ha1, b2, c0, d0i} n’est pas un attracteur. En effet, comme c’est visible sur la figure 5.4 en page 146, ces deux états globaux ont des transitions globales sortantes de trace(C). Par exemple, ha1, b2, c0, d0i →Uasyn ha0, b2, c0, d0i tel que ha0, b2, c0, d0i /∈ trace(C).

Cette caractérisation qui permet de différencier entre un attracteur et un non-attracteur est importante pour la méthode de la recherche que nous proposons dans la suite. Pour un n ∈ N donné, nous énumérons de façon exhaustive tous les cycles de cette longueur n. Ensuite, puisque toute trace d’un cycle qui n’est pas un domaine piège, il n’est pas un attracteur (lemme 5.4 ci-dessus), alors nous développons un filtre qui est basé sur ce lemme et qui ne garde que les cycles dont les traces sont des domaines pièges. Ainsi, selon

152 5.4 — Identification des attracteurs le lemme 5.3 ci-dessus, toutes les traces des cycles pièges restants sont des attracteurs. Nous introduisons d’avantage cette méthode dans la sous-section 5.4.4 suivante.

Une propriété intéressante peut être observée sur les graphes d’états des figures 5.4 et 5.5 en pages 146-147 et qui relie les attracteurs trouvés selon les deux sémantiques de la dynamique des AN (l’asynchrone et le synchrone). En effet, le graphe d’états trouvé selon la sémantique asynchrone (figure 5.4 en page 146) partage son attracteur de taille 2 avec le graphe d’états en sémantique synchrone (figure 5.5 en page 147). Ainsi, dans le lemme 5.5 ci-dessous, nous montrons formellement ce résultat qui dit que tout attracteur de taille 2 calculé selon la sémantique asynchrone se trouve identiquement dans le graphe d’états calculé selon la sémantique synchrone.

Lemme 5.5 (Attracteurs de taille-2). Tout attracteur de taille 2 trouvé selon la sémantique asynchrone est aussi un attracteur selon la sémantique synchrone.

Démonstration. Soit A = {ζ, ζ0} un attracteur de taille 2 trouvé selon la sémantique asynchrone. Donc, selon le lemme 5.3 en page 150, il existe un cycle qui parcourt tous les états globaux de A. Soit C = (ζ ; ζ0; ζ) tel que ζ →Uasyn ζ0Uasyn ζ. De plus, puisque tout attracteur est un domaine piège (définition 5.12 en page 148), alors @ζ00 ∈ S tel que ζ →Uasyn ζ00∨ ζ0Uasyn ζ00. Sachant que la dynamique est calculée selon la sémantique asynchrone, donc toute transition globale jouable contient exactement une seule transition locale (définition 5.3 en page 136). Ainsi, nous pouvons en déduire qu’il n’existe qu’une seule transition locale qui est jouable dans chacun des états globaux de l’attracteur : |J(ζ)| = 1 et |J(ζ0)| = 1.

Soient alors τ, τ0 ∈ T telles que : Uasyn(ζ) = {{τ }} et Uasyn0) = {{τ0}}, avec J(ζ) = {τ } et J(ζ0) = {τ0}.

Maintenant, nous considérons le même modèle AN mais la dynamique est calculée selon une sémantique de mise à jour synchrone. Nous avons selon la définition 5.2 en page 135, l’ensemble des transitions globales jouables dans un état global ne dépend pas de la sémantique de mise à jour de la dynamique. Donc, même selon la sémantique synchrone J(ζ) = {τ} et J(ζ0) = {τ0}. Ainsi, selon la définition 5.4 en page 136, on a Usyn(ζ) = {{τ }} et Usyn0) = {{τ0}}. Par conséquent, le cycle C = (ζ ; ζ0; ζ) est aussi compatible avec la dynamique du AN calculée selon la sémantique synchrone : on a donc, trace(C) = {ζ, ζ0} = A. Finalement, puisqu’aucune autre transition locale différente de τ (resp. de τ0) n’est jouable dans ζ (resp. ζ0), alors, A est un domaine piège selon la sémantique synchrone. Ainsi, à partir du lemme 5.3 en page 150, on déduit que A est aussi un attracteur selon la sémantique synchrone.

Bien que nous ne l’utilisions pas directement dans notre travail, cette caractéristique des attracteurs de taille 2 pourrait être utilisée pour accélérer le processus d’énumération des attracteurs. Cependant, il faut noter qu’elle ne s’applique qu’aux deux sémantiques étudiées dans la section 5.2 précédente (asynchrone et synchrone). En effet, dans le cas général, il n’est pas possible de déduire les attracteurs produits par un système selon une certaine sémantique en observant les attracteurs d’une autre.

Nous avons remarqué que dans un modèle AN qui est "booléen" (c’est-à-dire tous ses automates ont exactement 2 états locaux : 0 et 1), et en sémantique asynchrone, tous ses cycles, ainsi que tous ses attracteurs, sont de taille paire. En effet, chaque fois qu’on change l’état local d’un automate a : a0 → a1, il faut activer exactement une transition

Chapitre 5 — Analyse de la dynamique des RRB 153 locale pour y revenir : a1→ a0. Ce qui n’est pas le cas en multivalué : on peut imaginer par exemple, une telle évolution de a : a0→ a1→ a2 et puis une transition qui fait retourner a dans son niveau initial a2→ a0. Donc 2 transitions locales sont activées pour faire évoluer a de 0 vers 2 et une seule pour le faire revenir à l’état local initial (de 2 vers 0). Nous montrons ce résultat formellement dans le lemme 5.6 ci-dessous.

Lemme 5.6 (Cycles de longueur paire en asynchrone). Tout cycle en sémantique asynchrone et pour un modèle AN Booléen est de longueur paire.

Démonstration. Dans un AN booléen, il n’y a que deux changements qui sont possibles dans un automate donné a : du niveau 0 au niveau 1 (a0 → a1) ou du niveau 1 au niveau 0 (a1→ a0). Puisqu’en sémantique asynchrone, il se produit exactement un changement entre deux états globaux successifs (définition 5.3 en page 136), donc à chaque fois qu’un automate a change l’état local initialement actif dans C0[a], il faut exactement une transition pour y revenir afin d’avoir un cycle (i.e., avoir C0= Cn).

Ainsi, dans le cas général, dans un cycle de longueur n ∈ N, s’il y a k changements d’automates qui se sont produits avec k ∈ N et tel que ζ0[a] → ζ0[a] pour chaque automate a, alors il faut k changements inverses pour remettre tous ces automates à l’état local initial ζ0[a] → ζ0[a], on a alors n = 2k.

Exemple. Tous les cycles du graphe d’états trouvés selon la sémantique asynchrone illustrés dans la figure 5.4 en page 146 sont de longueurs paires. On donne quelques exemples :

– C = (ha0, b2, c1, d0i; ha0, b2, c1, d1i; ha1, b2, c1, d1i; ha1, b2, c1, d0i; ha0, b2, c1, d0i)est de longueur n = 4 (tous ces états globaux sont colorés en jaune).

– C0 = (ha1, b2, c0, d1i; ha1, b2, c0, d0i; ha1, b2, c0, d1i) est de longueur n = 2 (son état global initial est coloré en vert).

– C00= (ha0, b1, c0, d2i; ha0, b1, c0, d1i; ha0, b1, c0, d2i) est de longueur n = 2 (tous ces états globaux sont colorés en bleu).

En asynchrone, l’activité de chaque transition globale correspond à celle de la transition locale qu’elle contient. Ainsi, une seule transition locale est activée dans chaque état global. Ce qui implique la parité de la longueur des cycles qui suivent une sémantique asynchrone de la dynamique. Par contre, en synchrone, ce n’est pas le cas, car plusieurs transitions locales sont activées simultanément dans une transition globale (toutes celles qui sont jouables). Par conséquent, la parité de la longueur des cycles en synchrone n’est pas garantie vu le nombre variable des transitions locales qui sont activées dans chaque état global.

Nous avons montré dans le lemme 5.3 en page 150 que tout attracteur (non singleton) est un cycle. Ainsi, on peut déduire que la taille de tout attracteur trouvé selon la sémantique asynchrone et dans un modèle AN booléen est aussi de longueur paire.

Corollaire 5.1. Tout cycle C calculé selon la sémantique asynchrone de la dynamique et pour un modèle AN booléen, si trace(C) est un attracteur alors la longueur de C est nécessairement paire.

Démonstration. Selon le lemme 5.3 en page 150, les attracteurs sont les traces des cycles pièges. Puisqu’en asynchrone et pour un modèle AN booléen, un cycle est toujours de longueur paire (voir lemme 5.6 ci-dessous), alors les cycles dont les traces sont des attracteurs sont aussi de longueur paire.

154 5.4 — Identification des attracteurs Exemple. Prenons les cycles de l’exemple précédent, on trouve que les traces de C et de C00 sont des attracteurs :

– A = trace(C) = {ha0, b2, c1, d0i; ha0, b2, c1, d1i; ha1, b2, c1, d1i; ha1, b2, c1, d0i}. – A00 = trace(C00) = {ha0, b1, c0, d2i; ha0, b1, c0, d1i}.

Ces 2 attracteurs cycliques A et A” sont les seuls qui sont obsevables dans le graphe d’états trouvés selon la sémantique asynchrone dans la figure 5.4 en page 146.

Ce résultat permet de réduire la recherche des attracteurs en sémantique asynchrone pour les modèles AN booléens. En effet, lors de l’exploration d’un réseau dans le but d’identifier ses attracteurs, il est suffisant de n’énumérer que ses cycle de taille paire, puis de vérifier si ces derniers sont des domaines pièges. Une seule exception dans laquelle on peut dire que la trace de tout cycle est un attracteur est dans le cas d’une sémantique de mise à jour de la dynamique synchrone purement déterministe. Ce cas se produit pour les modèles booléens, comme expliqué dans la section 5.2.3 en page 140.

Corollaire 5.2. Tout cycle C calculé selon la sémantique synchrone de la dynamique pour un modèle AN Booléen, sa trace, trace(C), est un attracteur.

Démonstration. Selon le lemme 5.3 en page 150, les attracteurs sont les traces des cycles pièges. Puisqu’en sémantique synchrone de la dynamique et pour un modèle AN booléen, chaque état global a exactement un seul état global comme successeur, alors, chaque successeur de tout état global visité par C appartient aussi à trace(C). Autrement dit, pour tous les états globaux de trace(C), il n’existe pas un successeur qui n’est pas dans trace(C). Ainsi, trace(C) est un domaine piège.

D’autre part, dans le cas de la dynamique non-déterministe, l’identification des at-tracteurs nécessite une étude approfondie de la dynamique du AN. Et ceci est le cas des attracteurs complexes.

Attracteurs complexes

Nous considérons qu’un ensemble d’états globaux présente un attracteur complexe, quand la longueur minimale d’un chemin qui atteint tous ses états globaux est supérieure à la taille de cet attracteur. Autrement dit, si la taille d’un attracteur est égale à n, le chemin de longueur minimale qui visite tous les états globaux de l’attracteur est de longueur strictement supérieure à n.

C’est par exemple le cas de l’attracteur complexe représenté dans la figure 5.6 ci-dessous qui pourrait être appelé « attracteur en étoile ». Cette figure montre 4 états globaux notés par s1, s2, s3 et s4 et 6 transitions globales entre eux. Nous considérons qu’il s’agit d’un attracteur de taille 4 : A = {s1, s2, s3, s4}.

Nous remarquons qu’il n’est pas possible de parcourir tous les éléments de cet attracteur par un chemin sans que ce dernier visite s1 au moins 3 fois. Un exemple de chemin (qui est aussi un cycle) qui parcourt entièrement tous les états globaux de l’attracteur complexe est : H = (s1; s2; s3; s2; s4; s2; s1). H est de longueur égale à 6, et aucun chemin d’une longueur inférieure n’existe qui pourrait couvrir tous les éléments de cet attracteur bien que sa trace soit de taille 4.

Un point fixe (i.e., un état stable) est un cas spécial des attracteurs. En effet, il peut être assimilé à un attracteur de taille 1. Nous introduisons ce cas spécial des attracteurs dans la sous-section suivante.

Chapitre 5 — Analyse de la dynamique des RRB 155

s 1

s 3

s 2

s 4

Figure 5.6 : Exemple simple mettant en valeur un attracteur complexe appelé aussi "attracteur en étoile".

5.4.3 Les attracteurs singletons (i.e., les points fixes)

Un point fixe est un attracteur de taille 1. Ainsi, il s’agit d’un état global sans successeur. Autrement dit, c’est tout état global dans lequel aucune transition globale n’est jouable (tel que c’est indiqué dans la définition 5.14 ci-dessous). Les états globaux de ce type ont un intérêt particulier car ils dénotent des situations dans lesquelles le modèle reste indéfiniment. L’existence de plusieurs points fixes dans un AN, dénote une multistabilité, et des bifurcations possibles dans la dynamique (Wuensche, 1998).

Définition 5.14 (Point fixe). Soient AN = (Σ, S, T ) un réseau d’automates et U une sémantique de la dynamique (U ∈ {Uasyn, Usyn}). Un état global ζ ∈ S est appelé un point fixe (ou état stable) si et seulement si aucune transition globale n’est jouable dans ζ :

J(ζ) = ∅ ⇒ U (ζ) = ∅.

Il est à noter que l’ensemble des points fixes d’un modèle est le même dans les deux sémantiques de la dynamique : asynchrone et synchrone comme il est indiqué dans (Klarner, Bockmayr & Siebert, 2015) et dans (de Espanés, Osses & Rapaport, 2016). Nous formalisons dans le lemme 5.7 suivant cette propriété.

Lemme 5.7 (Les points fixes dans les sémantiques synchrone et asynchrone). Soit AN = (Σ, S, T )un réseau d’automates. L’ensemble des points fixes de AN est le même dans les dynamiques calculés selon les sémantiques asynchrone et synchrone :

∀ζ ∈ S, Uasyn(ζ) = ∅ ⇐⇒ Usyn(ζ) = ∅.

Démonstration. Par définition, un point fixe est un état global dans lequel aucune transition globale n’est jouable. Autrement dit, aucune transition locale n’est jouable non plus. En effet, une transition globale n’est qu’un ensemble des transitions locales qui sont jouables (définition 5.5 en page 137). Par conséquent, si ζ ∈ S est un point fixe selon la sémantique asynchrone (resp. synchrone), alors il n’existe aucune transition locale qui est jouable dans ζ. Puisque les conditions de la jouabilité d’une transition locale dans un état global donné sont les mêmes quelle que soit la sémantique de la dynamique (voir définition 5.2 en page

156 5.4 — Identification des attracteurs 135), alors si une transition locale n’est pas jouable en asynchrone, elle n’est pas jouable en synchrone. Ainsi, il n’existe aussi aucune transition locale jouable dans ζ selon la sémantique synchrone (resp. asynchrone).

Exemple. Bien que les figures 5.4 et 5.5 en pages 146-147 ne représentent pas toute la dynamique du modèle AN (car il existe d’autres états globaux qui ne sont pas présents), elles permettent de vérifier que dans les deux sémantiques, les points fixes sont les mêmes. En effet, elles représentent les mêmes trois points fixes colorés en rouge : ha1, b1, c1, d0i, ha1, b1, c0, d0i et ha0, b0, c0, d1i.

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