• Aucun résultat trouvé

5.3 Vérification de l’atteignabilité

5.4.1 Les attracteurs cycliques

Nous étudions dans cette section l’attracteur cyclique (un ensemble non-singleton d’états globaux) qui est une fois atteint par la dynamique, le système ne peut plus en échapper. En effet, dans de telles structures, le système cycle indéfiniment sans en sortir. D’une façon générale, les attracteurs sont englobés par des ensembles plus larges appelés des domaines pièges (définiton 5.11 ci-dessous).

148 5.4 — Identification des attracteurs Définition 5.11 (Domaine piège). Soient AN = (Σ, S, T ) un réseau d’automates et U une sémantique de la dynamique. L’ensemble des états globaux T ⊆ S est appelé un domaine piège (selon la sémantique U) si et seulement si tout successeur d’un état global de T appartient aussi à T :

T est un domaine piège ⇔ ∀ζ1 ∈ T ∧ ∀ζ2∈ S si ∃ζ1U ζ2 alors ζ2∈ T.

Exemple. Prenons le graphe d’états de la figure 5.4 en page 146. Selon la sémantique synchrone, les ensembles des états globaux suivants sont des domaines pièges pour le modèle AN de la figure 5.1 en page 134 :

– T = {ha0, b0, c0, d0i, ha0, b1, c0, d0i, ha0, b1, c0, d2i}; – T0 = {ha0, b2, c0, d1i, ha0, b0, c0, d1i};

– T00 = {ha0, b2, c1, d0i, ha0, b2, c1, d1i, ha1, b2, c1, d1i, ha1, b2, c1, d0i}.

On peut aussi donner un contre-exemple d’un ensemble d’états globaux qui n’est pas un domaine piège : E = {ha1, b0, c0, d0i, ha1, b1, c0, d0i} (voir figure 5.4 en page 146 où ha1, b1, c0, d0i est coloré en rouge). En effet, il existe une transition globale qui fait évoluer la dynamique du réseau à partir d’un état de E vers d’autres états globaux qui n’appartiennent pas à E. C’est la transition globale : ha1, b0, c0, d0i →Uasyn ha1, b0, c1, d0i tel que ha1, b0, c1, d0i /∈ E. En plus, à partir de ha1, b0, c1, d0i le réseau continue à évoluer vers d’autres états globaux. Ainsi, la dynamique du réseau peut échapper de E. Et donc E n’est pas un domaine piège.

Remarque. Si un état global ζ ∈ T, avec T un domaine piège, alors ζ est un état absorbant. En effet, au moment où la dynamique atteint un état absorbant, il est certain qu’elle ne va plus sortir du domaine piège auquel il appartient. Ainsi, si un état global n’est pas absorbant, alors il est transitoire.

Dans ce travail, nous nous concentrons plus précisément sur les attracteurs qui sont des domaines pièges minimaux pour l’inclusion (définition 5.12 ci-dessous). Cette notion de minimalité est expliquée par le fait que si un ensemble d’états globaux est identifié comme étant un attracteur, alors aucun de ses sous-ensembles n’est un attracteur (qu’il soit singleton ou non-singleton).

Définition 5.12 (Attracteur). Soient AN = (Σ, S, T ) un réseau d’automates et U une sémantique de la dynamique. L’ensemble des états globaux A ⊂ S est appelé un attracteur (selon la sémantique U) si et seulement si A est un domaine piège minimal pour l’inclusion. Exemple. Parmi les 3 domaines pièges de l’exemple précédent en page 139, seul T00 est un attracteur. En effet, T et T0 contiennent des attracteurs dont les tailles sont inférieures à leur taille ; T contient un attracteur de taille 2 (coloré en bleu dans la figure 5.4 en page 146) : {ha0, b1, c0, d0i, ha0, b1, c0, d2i} et T0 contient un attracteur (singleton) de taille 1 : {ha0, b0, c0, d1i} (coloré en rouge).

Ainsi, une caractéristique très importante sur les attracteurs peut être déduite. On remarque qu’à partir de chaque état global, tous ses autres états globaux sont (directement ou indirectement) atteints. Ainsi, on peut dire que les attracteurs non-singletons sont nécessairement cycliques. Autrement dit, tout chemin qui parcourt tous les états globaux d’un attracteur non singleton est nécessairement un cycle. D’où leur nom "attracteurs cycliques".

Chapitre 5 — Analyse de la dynamique des RRB 149 Ainsi, afin d’étudier formellement les attracteurs cycliques d’un AN nous introduisons tout d’abord la notion de cycle dans la définition 5.13 ci-dessous. Comme mentionné informellement et brièvement précédemment, un cycle n’est qu’un chemin en boucle : le premier état global dans la séquence du chemin est identique au dernier.

Définition 5.13 (Cycle). Soient AN = (Σ, S, T ) un réseau d’automates et U une sémantique de mise à jour de la dynamique et C = (Ci)i∈J0;nK ∈ Sn+1 un chemin de longueur n ∈ N trouvé selon la sémantique U. C est appelé un cycle de longueur n si et seulement si ce chemin C retourne à son état global initial :

C0= Cn.

Exemple. Reprenons le chemin H donné dans l’exemple en page 139 et qui est de longueur n = 6 :

H = (ha1, b2, c1, d1i; ha0, b2, c1, d1i; ha1, b2, c1, d1i; ha1, b2, c1, d0i; ha0, b2, c1, d0i; ha0, b2, c1, d1i; ha1, b2, c1, d1i).

H est un cycle parce que H6 = H0. Ainsi, H peut être aussi noté C.

Nous montrons dans le lemme 5.2 ci-dessous que la trace de tout cycle (quelle que soit la sémantique de la dynamique) est une composante fortement connexe. En effet, un cycle permet de "boucler" entre tous les états globaux qu’il contient, et donc chaque état global visité par ce cycle est atteignable par tous les autres états globaux visités par ce cycle. Rappelons que si un état global est visité par un cycle (ou chemin) alors il appartient à la trace de ce cycle (définition 5.7 en page 139).

Lemme 5.2 (La trace d’un cycle est une composante fortement connexe). Les traces des cycles sont exactement des composantes fortement connexes (selon une sémantique donnée de la dynamique).

Démonstration. (⇒) À partir de n’importe quel état global d’un cycle, il est possible d’atteindre tous ses autres états globaux. Par conséquent, la trace de ce cycle est une composante fortement connexe. (⇐) Soit S = {ζi}i∈J0;nK une composante fortement connexe, donc pour tout i ∈ J0 ; nK, il existe un chemin Hi construit à partir des éléments de S, avec Hi

0= ζi et Hi

|Hi|= ζi+1 tel que ζi+1 est un successeur de ζi et avec Hn

|Hn|= ζ0 pour i = n.

Nous créons un chemin C par concaténation de tous les chemins H0, H1, . . . , Hn en fusionnant tous les chemins successifs par le remplacement du dernier élément de chacun par le premier de l’autre car ils sont identiques : ∀i ∈ J0 ; n − 1K, Hi

|Hi| = ζi+1= Hi+1 0 . Ainsi, C est un cycle, parce que C0 = H0

0 = ζ0= Hn

|Hn|= C|C|. En outre, ∀i ∈J0 ; nK, ζi = Hi

0∈ trace(C), ainsi S ⊆ trace(C). Finalement, puisque seulement les états globaux de S sont utilisés pour construire C, alors trace(C) ⊆ S. Par conséquent, trace(C) = S.

Le lemme 5.2 ci-dessus, permet de déduire qu’à partir de tout ensemble d’états globaux ayant un chemin les reliant et qui forme une composante fortement connexe, alors un cycle peut être trouvé. Donc, cette équivalence entre la trace d’un cycle et la composante fortement connexe nous permet de donner une définition alternative pour un attracteur (lemme 5.3 ci-dessous).

En effet, dans la définition 5.12 en page 148, les attracteurs sont définis d’une façon classique en étant des domaines pièges minimaux. Par contre, on propose une identification

150 5.4 — Identification des attracteurs alternative des attracteurs qui nous facilite son implémentation en programmation logique (présentée dans le chapitre 6). Le lemme 5.3 ci-dessous, présente qu’alternativement, un attracteur peut être défini en étant un domaine piège cyclique (ou juste un cycle piège). En d’autres termes, l’exigence de la minimalité est remplacée par une exigence de cyclicité. Lemme 5.3 (Attracteurs en tant que traces des cycles pièges). Les attracteurs sont exactement les traces des cycles qui sont des domaines pièges.

Démonstration. (⇒) Par définition 5.12, un attracteur est un domaine piège. Il est aussi une composante fortement connexe, et donc, selon le lemme 5.2 ci-dessus, un attracteur est la trace d’un cycle. (⇐) Soit C à la fois un cycle et un domaine piège. Selon le lemme 5.2, C est aussi une composante fortement connexe. Prouvons par contradiction que C est un domaine piège minimal, en supposant que C n’est pas minimal. Ce qui signifie qu’il existe un domaine piège plus petit D ( C. Considérant x ∈ D et y ∈ C \ D. Puisque D est un domaine piège, il n’existe alors pas de chemin entre x et y ; ce qui est contradictoire avec le fait que C soit une composante fortement connexe. En effet x et y appartiennent à C alors il existe forcément un chemin entre x et y. Par conséquent, C est un domaine piège minimal, et ainsi sa trace est un attracteur.

Exemple. Les graphes d’états des figures 5.4 et 5.5 en pages 146-147 présentent différents attracteurs :

– {ha0, b1, c0, d0i, ha0, b1, c0, d2i} est coloré en bleu et apparaît sur les deux figures. C’est un attracteur cyclique : le cycle qui visite tous ses états globaux est de longueur minimale n = 2.

– {ha0, b2, c1, d0i, ha0, b2, c1, d1i, ha1, b2, c1, d1i, ha1, b2, c1, d0i} ne se trouve que pour la sémantique asynchrone et est coloré en jaune sur la figure 5.4. C’est un attracteur cyclique : le cycle qui visite tous ses états globaux est de longueur minimale n = 4. – {ha1, b2, c1, d1i, ha0, b2, c1, d0i} est, au contraire, présent uniquement pour la

séman-tique synchrone et est coloré en gris sur la figure 5.5. C’est aussi un attracteur cyclique : le cycle qui visite tous ses états globaux est de longueur minimale n = 2. En l’occurrence, on donne un exemple de cycle de longueur n = 4 qui visite tous les états globaux du deuxième attracteur :

C= (ha0, b2, c1, d0i; ha0, b2, c1, d1i; ha1, b2, c1, d1i; ha1, b2, c1, d0i; ha0, b2, c1, d0i). L’absence de flèches sortantes à partir de tous les états globaux de trace(C) (qui sont colorés en jaunes dans la figure 5.4 en page 146) vers des états globaux en dehors de trace(C), confirme le fait que ce dernier présente un domaine piège. Il s’agit donc d’un cycle piège.

Propriété 5.1. La trace d’un cycle de longueur n ∈ N qui est un domaine piège et qui ne contient pas de cycles de longueur strictement inférieure à n est un attracteur de taille n. Démonstration. Soit C un cycle piège de longueur n ∈ N. Si un cycle C ne contient pas d’autres cycles de longueur strictement inférieure à sa longueur n, alors il n’y a pas d’états globaux répétés, c’est-à-dire visités plus qu’une fois par C (sauf le premier et le dernier éléments sont identiques). C étant aussi un chemin, on a alors, selon la définition

Chapitre 5 — Analyse de la dynamique des RRB 151 5.8 en page 140, sr(C) = {n}, donc |sr(C)| = 1. Dans le lemme 5.1 en page 140, nous avons montré que la taille de la trace d’un chemin H de longueur n est égale à |trace(H)| = n + 1 − |sr(H)|, ainsi en appliquant cette formule pour le cycle C, on trouve que |trace(C)| = n + 1 − |sr(C)| = n.

Comme expliqué précédemment, le lemme 5.3 ci-dessus est utilisé pour la recherche des attracteurs dans la section 6.5 en page 200 du chapitre 6. En effet, la recherche directe de domaines pièges minimaux serait trop lente et consomme beaucoup de mémoire. Dans le but d’éviter ces problèmes, nous énumérons des cycles de longueur n ∈ N selon une sémantique donnée, et puis nous filtrons ceux qui ne sont pas des domaines pièges. Les traces des cycles restants sont ainsi des attracteurs formés de cycles de longueur n. Puisque le lemme 5.3 précédent prouve que les traces des cycles pièges sont des attracteurs, alors il assure la complétude et l’exhaustivité d’une telle méthode de recherche d’attracteurs. Nous introduisons plus de détails cette méthode et son algorithme dans la section 5.4.4 en page 156. Mais avant, nous continuons à étudier les propriétés formelles des attracteurs et qui nous facilitent la compréhension de la démarche de la méthode de la recherche des attracteurs.

5.4.2 Étude des caractéristiques dynamiques des attracteurs cycliques