• Aucun résultat trouvé

5.2 Dynamique généralisée des réseaux d’automates

5.2.2 La dynamique des réseaux d’automates

→ aj ∈ Sa× ℘(LS \ Sa) × Sa | ai 6= aj} est l’ensemble des transitions locales de l’automate a ; T =Sa∈ΣTa est l’ensemble de toutes les transitions locales dans le modèle.

Exemple. La figure 5.1 ci-dessous représente un exemple d’un AN.

a

0

1

b

0

1

2

c

0

1

d

0

1

2

c

1

b

2

d

0

d

1

b

2

a

1

a

1

, b

0

d

2

a

1

, c

1

c

0

a

0

, b

1

c

0

Figure 5.1 : Rappel de l’exemple de la figure 3.2 en page 56 d’un modèle AN ayant 4 automates a, b, c et d. Chaque boite représente un automate (modélisant par exemple un composant biologique), les cercles représentent leurs états locaux et les transitions locales sont représentées par des flèches étiquetées par les conditions de franchissement qui sont données par les états locaux d’autres automates. Les automates a et c sont au niveau discret 0 ou 1, et b et d ont 3 niveaux discrets 0, 1 et 2. Les états locaux colorés en bleu représentent l’état global du réseau ha1, b2, c0, d1i ∼1201.

Les interactions concurrentes entre les automates sont définies par un ensemble de transitions locales. Chaque transition locale τ est de la forme suivante : τ = ai

`

→aj, où ai et aj sont des états locaux de l’automate a appelés respectivement origine et destination de τ. ` est la condition de τ et c’est l’ensemble des états locaux des autres automates différents de a (avec au plus un état local par automate). ` pourrait être égal à l’ensemble vide s’il s’agit d’une transition spontanée autonome.

Ainsi, pour la transition locale τ = ai `

→aj, on note : ori(τ) = ai, dest(τ) = aj et cond(τ ) = `.

5.2.2 La dynamique des réseaux d’automates

D’abord, nous rappelons ci-dessous les définitions introduites dans la sous-section 3.2.2 du chapitre 3 en page 57, des deux sémantiques les plus répandues dans la littérature et principalement étudiées dans ce chapitre : l’asynchrone (définition 5.3 en page 136) et le synchrone (définition 5.4 en page 136). Ces deux sémantiques différent par le choix de

Chapitre 5 — Analyse de la dynamique des RRB 135 l’ensemble des transitions locales activées parmi celles qui sont jouables (définition 5.2 ci-dessous) permettant d’en déduire les transitions globales activées dans le graphe d’états correspondant.

Nous rappelons que ζ[a] = ai désigne l’état local actif de a dans ζ qui est égal à ai. Ainsi, nous considérons qu’une transition locale τ = ai

`

→ aj est jouable dans un état global ζ si et seulement si ori(τ) = ai est actif dans ζ (i.e., ζ[a] = ai) et que tous les états locaux dans cond(τ) = ` sont actifs dans ζ (i.e., ∀bk ∈ `, ζ[b] = bk).

Définition 5.2 (Transitions locales jouables). Soit AN = (Σ, S, T ) un réseau d’automates et ζ ∈ S un état global de AN . L’ensemble des transitions locales jouables dans ζ noté par J(ζ) est défini par :

J(ζ) = {ai `

→ aj ∈ T | ζ[a] = ai ∧ ∀bk ∈ `, ζ[b] = bk}.

Exemple. Soit ζ = ha1, b2, c0, d1i ∼1201 un état global du AN de la figure 5.1 en page 134. J(1201) est l’ensemble des transitions locales jouables dans 1201 tel que :

J(1201) = {a1−→ a{b2} 0, b2−→ b{c0} 0, d1 −→ d{a1} 0}.

J(1201)est calculé comme c’est indiqué dans la définition 5.2 et par exemple la transition locale a1

{b2}

−→ a0 est jouable dans 1201 car ζ[a] = a1, ` = {b2} et ζ[b] = b2.

Dans cet état global ζ = 1201, toute autre transition locale n’est pas jouable, car pour chacune, son origine ou bien au moins un des états locaux de sa condition n’est pas actif dans 1201. Par exemple, la transition locale c0{a1,b0}

−→ c1 n’est pas jouable car ζ[b] = b2 6= b0, alors que b0 actif est une condition nécessaire pour que cette transition locale soit jouable. L’activation successive des transitions globales entre les états globaux d’un AN cor-respond à un chemin qui s’intègre dans la dynamique du AN . Chaque transition globale est un ensemble de transitions locales. Ainsi, l’activation d’une transition globale implique l’activation de toutes les transitions locales qu’elle contient. Avant d’introduire la définition formelle des transitions globales jouables dans un état global, nous introduisons quelques sémantiques de la dynamique. En effet, calculer les transitions globales jouables pour un AN dans un état global donné dépend principalement de la sémantique de la dynamique. Sémantiques de la dynamique des AN :

Différentes sémantiques de la dynamique peuvent être utilisées avec les formalismes des modèles discrets de type AN. Nous introduisons dans la suite les deux sémantiques les plus répandues dans la littérature : l’asynchrone et le synchrone. Il est à noter que le choix de la sémantique (asynchrone ou synchrone) amène à avoir différentes transitions globales activées. Ceci mène alors à avoir des évolutions dynamiques différentes. En effet, les transitions globales assurent l’évolution dynamique du réseau d’un état global vers un autre et qui est illustré par le graphe d’états.

Une transitions globale est jouable dans un état global donné et qui a été trouvée selon une sémantique asynchrone de la dynamique (définition 5.3 ci-dessous), contient exactement une seule transition locale parmi celles qui sont jouables dans l’état global considéré. Ainsi, chaque transition globale activée dans un chemin calculé selon une sémantique asynchrone ne change l’état local que d’un seul automate du réseau. Par conséquent, dans le graphe

136 5.2 — Dynamique généralisée des réseaux d’automates d’états correspondant, deux états globaux successifs ont exactement une et une seule différence dans l’état local d’un automate. Cette différence est due à l’activation d’une seule transition locale contenue dans la transition globale activée dans le premier état global causant le changement de l’état local actif d’un automate dans l’état successeur.

Définition 5.3 (Sémantique asynchrone). Soient AN = (Σ, S, T ) un réseau d’automates, ζ ∈ S un état global de AN et J(ζ) l’ensemble des transitions locales jouables dans ζ. L’ensemble des transitions globales jouables dans ζ selon une sémantique asynchrone de la dynamique est : Uasyn(ζ) = {{ai ` → aj} | ai ` → aj ∈ J(ζ)}.

Exemple. Pour l’exemple de la figure 5.1 en page 134, on a l’ensemble des transitions locales jouables dans l’état global ζ = ha1, b2, c0, d1i ∼ 1201 est : J(1201) = {a1

{b2} −→ a0, b2−→ b{c0} 0, d1 −→ d{a1} 0}.

Ainsi, l’ensemble des transitions globales jouables dans 1201 selon la sémantique asynchrone est Uasyn(1201) tel que :

Uasyn(1201) = {{a1 −→ a{b2} 0}, {b2 −→ b{c0} 0}, {d1−→ d{a1} 0}}.

Par contre, le calcul d’une transition globale jouable selon la sémantique synchrone de la dynamique se fait différemment du calcul fait en asynchrone. En effet, elle présente l’ensemble de toutes les transitions locales jouables dans l’état global considéré. Sachant que ces transitions locales ne doivent pas être en concurrence pour qu’elles puissent s’activer en même temps. Des transitions locales sont dites en concurrence dans un état global ζ, si elles sont jouables dans ζ telles qu’elles appartiennent à un même automate a et elles le font évoluer vers des états locaux différents. Nous expliquons davantage cette notion de concurrences ainsi que ses conséquence sur la dynamique des AN dans la section 5.2.3 suivante.

Ainsi, nous notons qu’une transition globale trouvée selon la sémantique synchrone dans un état global ζ, Usyn(ζ), ne peut contenir qu’au plus une transition locale jouable dans chaque automate : ∀u ∈ Usyn(ζ) et ∀a ∈ Σ, |u ∩ Ta|= 1 (voir définition 5.4 ci-dessous).

Définition 5.4 (Sémantique synchrone). Soient AN = (Σ, S, T ) un réseau d’automates, ζ ∈ S un état global et J(ζ) l’ensemble des transitions locales jouables dans ζ. L’ensemble des transitions globales jouables dans ζ selon une sémantique synchrone de la dynamique est :

Usyn(ζ) = {u ⊆ T | ∀a ∈ Σ, (J(ζ)∩Ta = ∅ ⇒ u∩Ta = ∅)∧(J(ζ)∩Ta 6= ∅ ⇒ |u∩Ta|= 1)}. Exemple. Pour le même exemple du modèle AN de la figure 5.1 en page 134, l’ensemble des transitions locales jouables dans l’état global ζ = ha1, b2, c0, d1i ∼1201 est (le même que celui en asynchrone) : J(1201) = {a1 {b2}

−→ a0, b2−→ b{c0} 0, d1 −→ d{a1} 0}.

Ainsi, l’ensemble des transitions globales jouables dans 1201 selon la sémantique synchrone de la dynamique est Usyn(1201), défini ci-dessous, contient toutes les transitions locales jouables dans 1201 :

Usyn(1201) = {{a1 −→ a{b2} 0, b2 −→ b{c0} 0, d1−→ d{a1} 0}}.

Dans la suite, quand il n’y a pas d’ambiguïtés et quand les résultats sont applicables avec n’importe quelle sémantique (asynchrone, Uasyn ou synchrone, Usyn), nous notons

Chapitre 5 — Analyse de la dynamique des RRB 137 par U la sémantique choisie. La définition 5.5 ci-dessous définit formellement la transition globale dans un graphe d’états quelle que soit la sémantique U (qui peut être même une sémantique combinée entre l’asynchrone et le synchrone). Elle indique aussi que pour toutes les transitions locales τ qui appartiennent à une transition globale u, le changement d’états de ori(τ) vers dest(τ) doit apparaitre dans l’état global suivant.

Définition 5.5 (Transition globale). Soient AN = (Σ, S, T ) un réseau d’automates, ζ1, ζ2 ∈ S deux états globaux et U une sémantique de la dynamique (i.e., U ∈ {Uasyn, Usyn}). L’évolution de la dynamique du AN d’un état global ζ1 vers un autre ζ2 est assurée par la relation entre ces deux états globaux. Cette relation est appelée une transition globale trouvée selon une sémantique U, notée par ζ1U ζ2, et définie par :

ζ1U ζ2⇐⇒ ∃u ∈ U(ζ1) tel que ζ2 = ζ1e {dest(τ) ∈ LS | τ ∈ u}. ζ2 est appelé le successeur de ζ1, et ζ1 est appelé le prédécesseur de ζ2.

Rappelons que l’opérateur de recouvrement e est défini dans la définition 2.11 en page 44. Il signifie que pour tout état local ai ∈ LS, ζ e ai représente l’état global qui est identique à ζ, à l’exception de l’état local de a qui est remplacé par ai : (ζ e ai)[a] = ai ∧ ∀b ∈Σ \ {a}, (ζ e ai)[b] = ζ[b]. Si nous généralisons cette notation pour un ensemble d’états locaux X ⊆LS contenant au maximum un état local pour chaque automate, alors on aurait ∀a ∈ Σ, |X ∩ Sa| ≤1 où |S| est le nombre des des éléments dans l’ensemble S ; dans ce cas, ζ e X est l’état global ζ où l’état local de chaque automate a été remplacé par l’état local du meme automate dans X, s’il existe : ∀a ∈ Σ, (X ∩ Sa = {ai} ⇒(ζ e X)[a] = ai) ∧ (X ∩ Sa = ∅ ⇒ (ζ e X)[a] = ζ[a]).

Exemple. Dans les deux exemples précédents, nous avons calculé pour le AN de la figure 5.1 en page 134, les ensembles des transitions globales jouables dans l’état global 1201. Dans le premier exemple en page 136, l’ensemble des transitions globales est calculé selon la sémantique asynchrone (Uasyn(1201)) et puis dans le deuxième exemple, il est calculé selon la sémantique synchrone (Uasyn(1201)). Les figures 5.4 et 5.5 en page 147 illustrent des parties des graphes d’états de transitions trouvés pour cet AN selon les sémantiques de la dynamique respectivement asynchrone et synchrone. Chaque transition globale est représentée par une flèche entre deux états globaux successifs.

Par exemple, on retrouve l’état global ζ = ha1, b2, c0, d1i ∼1201(coloré en vert) dont les transitions globales jouables dans les sémantiques asynchrone et synchrones sont calculées dans les exemples précédents en pages 136. On retrouve qu’en asynchrone ha1, b2, c0, d1i a 3 transitions globales jouables donc 3 successeurs potentiels ; Uasyn(1201) = {{a1 −→{b2} a0}, {b2−→ b{c0} 0}, {d1 −→ d{a1} 0}}. Alors qu’en synchrone, il n’a qu’une seule transition globale jouable : Usyn(1201) = {{a1 {b2}

−→ a0, b2−→ b{c0} 0, d1 −→ d{a1} 0}}. Cette unique transition globale jouable dans 1201 justifie le fait que 1201 n’a qu’un seul successeur.

Les chemins et leurs traces dans la dynamique des AN :

L’une des méthodes utilisées pour l’analyse de la dynamique d’un modèle discret, tel que le formalisme des AN, consiste à le faire évoluer à partir d’un état global initialement donné pour trouver une partie de son graphe d’états atteignable à partir de l’état global initial. En effet, chaque graphe d’états peut être vu comme un ensemble de séquences d’états globaux. Dans la dynamique des AN, nous appelons la séquence d’états globaux

138 5.2 — Dynamique généralisée des réseaux d’automates atteignables successivement par un chemin noté par H = (Hi)i∈J0;nK ∈ Sn+1 où chaque Hi est un état global.

Notons que, dans ce qui suit, lorsque nous définissons un chemin H de longueur n, nous utilisons la notation Hi pour désigner le i ème élément dans le chemin H, avec i ∈J0 ; nK. Nous utilisons aussi la notation |H| = n pour désigner la longueur de H, permettant d’écrire : H|H| pour désigner le dernier élément de H (i.e., Hn).

La définition 5.6 ci-dessous introduit formellement la notion d’un chemin qui suit la dynamique d’un AN selon une sémantique donnée. Les chemins sont essentiels non seulement pour la vérification de l’atteignabilté d’un objectif à partir d’un état global initial donné mais aussi pour l’identification des attracteurs. En effet, pour atteindre un objectif à partir d’un état initial, il faut trouver un chemin qui vérifie cette propriété. Et pour identifier les états d’un attracteur, il faut trouver le chemin (ou les chemins) qui relit ces états. Nous donnons plus de détails dans la suite.

Définition 5.6 (Chemin). Soient AN = (Σ, S, T ) un réseau d’automates, U une séman-tique donnée et n ∈ N un entier positif.

La séquence H = (Hi)i∈J0;nK ∈ Sn+1 des états globaux est un chemin de longueur n si et seulement si : ∀i ∈J0 ; n − 1K, HiU Hi+1. Le chemin H est activé depuis l’état global initial H0.

Exemple. Reprenons le modèle AN de la figure 5.1 en page 134. Soit la séquence H suivante présentant un chemin de longueur n = 3 activé depuis l’état global initial H0= ha1, b2, c0, d1i selon la sémantique asynchrone de la dynamique. Ce chemin peut être aussi visualisé dans la figure 5.4 en page 146 qui montre une partie du graphe d’états de ce modèle AN selon la sémantique asynchrone. L’état global initial de H est H0 = ha1, b2, c0, d1i et il est coloré en vert dans la figure 5.4 en page 146 et l’état global final de H est H3 = ha1, b1, c0, d0i et il est coloré en rouge.

H = (H0= ha1, b2, c0, d1i; H1= ha1, b0, c0, d1i; H2 = ha1, b0, c0, d0i; H3 = ha1, b1, c0, d0i) Et plus simplement on peut écrire H ainsi :

H = (ha1, b2, c0, d1i; ha1, b0, c0, d1i; ha1, b0, c0, d0i; ha1, b1, c0, d0i)

Nous notons qu’en général un chemin de longueur n illustre n activations successives de transitions globales. Ainsi, il comporte donc jusqu’à n + 1 états globaux. En l’occurrence pour l’exemple ci-dessus, H contient 4 états globaux car chaque état global n’est visité qu’une seule fois (sans répétition).

Par conséquent, un chemin H = (Hi)i∈J0;nK n’est qu’une séquence d’états globaux compatible avec la dynamique du AN selon une sémantique donnée.

Chaque chemin H est caractérisé par sa longueur n qui correspond au nombre d’éléments dans sa séquence qui sont différents de son état global initial H0. Autrement dit, on désigne par n le nombre de successeurs successifs de H0 qui sont trouvés par les activations successives des transitions globales du AN. On peut dire aussi que n correspond au nombre de fois où il y a eu des activations des transitions globales au cours de H. Rappelons que l’activation d’une transition globale entraine le changement de l’état global du réseau vers un autre (∀i ∈ J0 ; n − 1K, HiU Hi+1). Et un chemin de longueur 0 est un singleton

Chapitre 5 — Analyse de la dynamique des RRB 139 (H = H0) c’est-à-dire qu’il n’y a aucune transition globale qui est activée et il s’agit donc d’un état global sans successeurs.

L’existence des cycles dans les AN peut induire des visites multiples des états globaux dans les chemins qui sont parcourus selon des cycles. En effet, si H contient un cycle alors il existe un état global qui apparait au moins 2 fois dans H ; par exemple si ∃ Hj = Hk avec j, k ∈J0 ; n − 1K et j 6= k alors H parcourt un cycle entre Hj et Hk. Donc, un chemin de longueur n ∈ N, n’implique pas qu’il couvre nécessairement n + 1 états globaux différents.

Ainsi, afin de différencier un chemin qui est une séquence d’états globaux (et peut contenir des répétitions) de l’ensemble des états globaux qu’il parcourt, il est intéressant d’introduire la notion de traces de chemins. En fait, une trace d’un chemin est un ensemble (et non pas une séquence) des états globaux distincts visités tout au long du chemin (voir définition 5.7 ci-dessous).

Définition 5.7 (Trace). Soient AN = (Σ, S, T ) un réseau d’automates, U une séman-tique de la dynamique donnée et n ∈ N un entier positif. La séquence H = (Hi)i∈J0;nK ∈ Sn+1 des états globaux est un chemin de longueur n. La trace correspondante à un tel chemin H est l’ensemble des états globaux qui ont été visités :

trace(H) = {Hj ∈ S | j ∈J0 ; nK}.

Exemple. Reprenons le modèle AN de la figure 5.1 en page 134. Soit le chemin H suivant de longueur n = 6 activé depuis l’état global initial H0= ha1, b2, c1, d1iselon la sémantique asynchrone de la dynamique :

H = (H0 = ha1, b2, c1, d1i; H1 = ha0, b2, c1, d1i; H2= ha1, b2, c1, d1i; H3= ha1, b2, c1, d0i; H4 = ha0, b2, c1, d0i; H5 = ha0, b2, c1, d1i; H6= ha1, b2, c1, d1i).

Ainsi, trace(H) = {ha1, b2, c1, d1i, ha0, b2, c1, d1i, ha1, b2, c1, d0i, ha0, b2, c1, d0i}.

On a alors, |trace(H)| = 4. Ce chemin H peut être visualisé dans la figure 5.4 en page 146 dont les 4 états globaux de sa trace sont colorés en jaune.

S’il y a des visites multiples des états globaux au cours d’un chemin H (c’est-à-dire des répétitions), alors la taille de sa trace sera nécessairement strictement inférieure au nombre maximal de ses éléments. Ce dernier est égal à n+1 pour un chemin de longueur n. Autrement dit, s’il y a des cycles dans un chemin H qui est de longueur n, alors |trace(H)| < n + 1. En occurrence, pour l’exemple précédent, on a |trace(H)| = 4 < n + 1 = 7. En effet, il y a des cycles dans H qui sont déduits par les répétitions de certains états globaux au cours de H : H0= H2= H6 et H1 = H5.

D’une façon générale, on peut trouver la taille de la trace d’un chemin H en soustrayant le nombre de fois où il y a eu des répétitions des états globaux au cours de H. En effet, plus il y a des états globaux répétés dans un chemin, moins il y a d’états globaux dans sa trace. Ainsi, nous formalisons dans le lemme 5.1 ci-dessous la formule qui calcule la taille de la trace d’un chemin quelconque à partir de sa longueur et son nombre correspondant de répétitions des états globaux.

Par conséquent, il faut calculer tout d’abord, le nombre de répétitions des états globaux dans le chemin. Et la définition 5.8 ci-dessous, introduit l’ensemble sr(H) qui contient les

140 5.2 — Dynamique généralisée des réseaux d’automates indices des éléments de H auxquels il y a des répétitions des états globaux. Autrement dit, c’est le nombre de fois où les états globaux sont apparus au moins pour la deuxième fois dans H.

Définition 5.8 (Répétitions dans un chemin). Soient AN = (Σ, S, T ) un réseau d’au-tomates, n ∈ N un entier positif et H = (Hi)i∈J0;nK ∈ Sn+1 un chemin de longueur n. L’ensemble des répétitions dans H est donné par :

sr(H) = {i ∈J1 ; nK | ∃j ∈ J0 ; i − 1K, Hj = Hi}.

sr(H) qui est l’ensemble de répétitions dans un chemin H compte les indices d’états globaux qui existent ailleurs dans H avec un indice inférieur. Ainsi, la taille de sr(H) (i.e., |sr(H)|) représente le nombre total des répétitions dans H. Par conséquent, ayant la longueur de H et les indices des états globaux qui y sont répétés, il est facile de calculer le nombre exact des états globaux distincts visités tout au long de ce chemin. Autrement dit, il s’agit de trouver la taille de sa trace.

Lemme 5.1 (Taille de la trace d’un chemin). Soit H un chemin de longueur n. Le nombre des éléments (i.e., des états globaux) de sa trace est donné par :

|trace(H)| = n + 1 − |sr(H)|.

Démonstration. Soit H un chemin de longueur n, donc trace(H) contient au plus n + 1 états globaux. Soit |sr(H)| le nombre de répétitions dans H. Alors le nombre des états globaux distincts visités au cours de H est égal au résultat de la soustraction du nombre des indices des états globaux répétés dans H (i.e., |sr(H)|) du nombre total de tous les indices des états globaux visités au cours de H (i.e., n + 1) : |trace(H)| = n + 1 − |sr(H)|.

Nous notons que quand il n’y a aucune répétition dans un chemin H de longueur n alors sr(H) = ∅ et donc |sr(H)| = 0. On a donc le nombre total des états globaux visités au cours de H est exactement égal à : |trace(H)| = n + 1.

Exemple. On peut vérifier le lemme 5.1 ci-dessus par le chemin H de l’exemple précédent en page 139 qui est de longueur n = 6.

On trouve que, l’état global ha1, b2, c1, d1iest visité 3 fois : à H0, H2et H6. Ainsi, selon la définition 5.8 ci-dessus, cet état global est répété 2 fois dans H : à H2 et H6 (i.e., aux éléments d’indices 2 et 6). En effet, la première apparition d’un état global dans un chemin H n’est pas comptée dans l’ensemble de répétions sr(H) (voir définition 5.8 ci-dessus).

D’autre part, l’état global ha0, b2, c1, d1i est visité 2 fois dans H : à H1 et H5. Ainsi, il est répété 1 seule fois à H5 (i.e., dans l’élément d’indice 5).

Par conséquent, on a sr(H) = {2, 6, 5} et |sr(H)| = 3. Sachant que la longueur de H est égale à n = 6, alors |trace(H)| = 6 + 1 − 2 − 1 = 4.

Ce résultat est conforme à celui trouvé dans l’exemple précédent en page 139 dans lequel nous avons calculé les 4 états globaux de trace(H).