• Aucun résultat trouvé

4.2 La méthode d’inférence brute

4.3.2 Exemple d’application de la démarche de validation pratique du

Tinitial Tappris Tappris Tappris

1 2 3 1 2 3 Tappris

Figure 4.6 : Les étapes de la démarche de la validation de la méthode d’apprentissage des modèles T-AN : MoT-AN.

Nous montrons dans la suite une application de cette démarche de validation pratique du résultat de MoT-AN sur un petit exemple jouet d’un T-AN initial. Cet exemple permet aussi de montrer comment l’apprentissage avec MoT-AN est réalisé.

4.3.2 Exemple d’application de la démarche de validation pratique

du résultat de MoT-AN

Pour montrer comment la démarche de validation est faite, nous reprenons dans la figure 4.7 ci-dessous, le modèle T-AN de l’exemple jouet de la figure 3.5 en page 66 du chapitre 3. Nous considérons cet exemple de T-AN étant le T-AN initial. Nous le simulons alors sur 18 unités de temps selon la sémantique des T-AN introduite dans le chapitre 3, section 3.3.1 en page 65. Une des simulations trouvée est présentée dans la figure 4.8 ci-dessous sous forme de chronogrammes. Chaque chronogramme présente l’évolution du niveau discret d’un composant du réseau. Nous notons que ces chronogrammes correspondent au chemin présenté dans le tableau 3.1 de la section 3.3.1 en page 76 du chapitre 3 où nous donnons aussi les détails de la démarche du calcul de ce chemin.

Dans la suite, nous exécutons l’algorithme 1, Mot-AN, étape par étape dont le pseudo-code est donné en page 93. Nous prenons comme entrée les chronogrammes de la figure 4.8 et le graphe d’influences de la figure 4.3 en page 89. Ensuite, nous vérifions si les transitions locales temporisées du modèle initial — à partir duquel les chronogrammes sont

96 4.3 — Validation du résultat de MoT-AN

a

0

1

b

0

1

z

0

1

a

0

, b

1

, 3

4 z

1

, 1 a

1

, 3 b

0

, 2

Figure 4.7 : Rappel de l’exemple jouet : un réseau d’automates avec 3 automates ayant chacun 2 états locaux. Ce modèle contient 5 transitions locales temporisées.

t a 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 change(4)change(5)change(9)change(13)change(17) • 1 t b 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 change(12) • 1 t z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 change(3)change(14) • 1

Figure 4.8 : C’est le résultat de l’étape simulation de la figure 4.6 en page 95 : en effet, ces chronogrammes sont trouvés par la simulation du T-AN initial (qui est l’exemple jouet de la figure 4.7) sur 18 unités de temps. Les chronogrammes Γa, Γb et Γc correspondent respectivement aux trois composants a, b et c. Chaque point rouge indique un changement du niveau discret d’un composant à un instant donné. Par exemple, à l’instant t = 4, change(4) indique le changement de a du niveau 0 au niveau 1.

calculés et en l’occurrence ici le T-AN de la figure 4.7 — existent aussi dans l’ensemble des transitions apprises. Puis vérifier aussi si l’un des T-AN appris est égal au T-AN initial. En effet, si c’est le cas, on peut prouver la validation pratique de la complétude de la méthode MoT-AN.

Comme le montrent les chronogrammes de la figure 4.8, le premier changement se produit à tmi n = t1 = 3, noté par change(3). C’est le gène z dont le niveau discret passe de 0 à 1. En T-AN, ceci se traduit par le changement de l’état local z0 vers z1. Ainsi, la transition locale temporisée responsable de ce changement est de la forme : τ = z0

`

δ z1, où ` peut être n’importe quelle combinaison des régulateurs de z tels que ces régulateurs sont trouvés à partir du graphe d’influences associé au réseau.

On rappelle les éléments du graphe d’influences de cet exemple χ(N, E) pris de la figure 4.3 en page 89 : N = {a, b, z} et E = {(a, a), (z, a), (a, b), (a, z), (b, z)}. Ainsi, l’ensemble des régulateurs de z noté Nz est égal à Nz = {a, b}.

Ce qui implique que pour ce premier changement à t1 = 3, et pour la transition candidate d’en être responsable τ = z0

`

δ z1, on a ` = cond(τ) qui pourrait être égal à : ` = {a?, b?}, ou ` = {a?}, ou ` = {b?}. Les points d’interrogation " ?" indiquent que les niveaux discrets des automates dans les chronogrammes ne sont pas encore déterminés.

Chapitre 4 — L’inférence des réseaux d’automates avec le temps 97 Les états locaux des régulateurs de z dans ` correspondent à leur niveau discret pendant la période d’activation de la transition locale temporisée candidate recherchée. Cette période est entre l’instant auquel le composant ciblé change effectivement (en occurrence ici à t = 3 pour z) et le dernier changement apparu de tous les composants impliqués dans la transition candidate (en occurrence ici de z et des automates appartenant à `).

Dans le cas général, si le changement de niveau d’un composant x est apparu à un instant i, il faut chercher le dernier instant j tel que j < i avec un autre changement qui s’est apparu à j tel que ce changement est celui de x ou de l’un de ses régulateurs participant à la transition locale temporisée recherchée (noté `). C’est ce que décrit l’étape 1 de l’algorithme 1, MoT-AN en page 93. Nous donnons dans la suite plus d’exemples sur le processus du calcul des délais des transitions locales temporisées apprises.

Remarque. On suppose qu’à l’instant initial t = 0, tous les composants du système sont en activité et qu’à ce moment, ils commencent tous à changer leurs niveaux.

Revenons à l’apprentissage de la transition locale temporisée qui change z du niveau 0 au niveau 1 et qui est apparue à l’instant t1= 3. Puisque ce changement est le premier changement apparu dans les chronogrammes (figure 4.8 ci-dessus) alors on considère que la transition locale temporisée qui le cause a commencé son activité à t = 0 (selon l’hypothèse de la remarque ci-dessus).

Les états locaux des régulateurs de z, c’est-à-dire des automates de Nz = {a, b}, sont trouvés comme suit à partir de leurs niveaux discrets dans les chronogrammes :

a ∈ Nz ⇒ ∀t ∈[0, 3], Γa(t) = 0 b ∈ Nz ⇒ ∀t ∈[0, 3], Γb(t) = 1. Ainsi, a0 et b1 sont les états locaux respectifs de a et b et qui sont potentiellement responsables du changement de z à t1= 3 de z0 vers z1.

Par conséquent, pour la transition locale temporisée candidate τ = z0 `

δ z1, on a trois combinaisons possibles qui sont les suivantes : `={a0, b1}ou `={a0} ou `={b1}. Donc, il y a trois transitions locales temporisées qui sont candidates et qui différent de leur condition `. Étant donné qu’il s’agit du premier changement dans les chronogrammes du système et qu’on suppose qu’à t = 0 tous les composants commencent à changer (remarque ci-dessus), alors les délais de toutes ces transitions locales temporisées sont égaux : δ = 3 − 0 = 3.

Tc hange(3), l’ensemble des transitions locales temporisées candidates d’être à l’origine de ce changement à t = 3, est alors égal à :

Tc hange(3)= {τ1= z0 {a0}

3 z1, τ2= z0 {b1}

3 z1, τ3= z0 {a−→0,b1} 3 z1}.

Le deuxième changement dans la dynamique du système illustré par les chronogrammes de la figure 4.8 en page 96, se produit à t2 = 4 et noté par "change(4)". On peut voir qu’à cet instant, c’est a qui change du niveau 0 à 1. La transition locale temporisée τ responsable de ce changement a donc cette forme : τ = a0

`

δ a1 où ` est une des combinaisons possibles des régulateurs de a et δ ∈ N le délai correspondant. Selon le graphe d’influences χ(N, E) (figure 4.3 en page 89), χa = {(a, a), (z , a)}. Donc, a peut s’auto-réguler tout seul et ainsi cond(τ) = ` = ∅ ou bien c’est z qui le régule et dans ce cas ` = {z?}. Si cond(τ) = ` = ∅, alors delai(τ) = δ = t2− t = 4 − 0 = 4, avec t = 0 est l’instant où a commence son changement et τ = a0

4 a1.

98 4.3 — Validation du résultat de MoT-AN Il existe d’autres transitions locales temporisées qui ont déjà été trouvées dans Tc hange(3), c’est-à-dire à un instant inférieur à t2= 4, et qui nécessitent que le composant a soit au niveau 0 entre t = 0 et t = 3 : z0 {a0}

3 z1 et z0 {a0,b1}

3 z1. Alors l’une de ces transitions pourrait être la cause d’un blocage de τ = a0

4 a1 pendant leur activation parce qu’elles partagent avec elle la même ressource a. En effet, elles sont considérées en conflit avec τ (définition 3.8 en page 68 du chapitre 3). Dans ce cas, la transition locale temporisée τ recherchée qui cause le changement de a à l’instant t = 4 ne sera débloquée qu’à l’instant oú celle qui la bloque se termine (i.e., à t = 3). Par la suite, delai(τ) = δ = 4 − 3 = 1 et donc τ = a0

1 a1.

En revanche, si ` = {z?}, alors il faut voir le niveau de z entre t = 4 et l’instant ayant la valeur maximale entre les instants des derniers changements de a et de z avant d’atteindre t = 4 ; c’est-à-dire c’est égal à max(Πa

4, Πz

4) = max(0, 3) = 3. On a alors selon les chronogrammes, ∀t ∈ [3, 4], Γz(t) = 1. Donc, delai(τ) = δ = 4 − 3 = 1 : τ = a0

{z1}

1 a1. Par conséquent, il y a trois transitions locales temporisées qui sont candidates pour être responsables de ce changement à t = 4 :

Tc hange(4)= {τ1= a0

4 a1, τ2 = a0

1 a1, τ3= a0 {z1} 1 a1}.

Nous répétons ainsi les mêmes étapes pour chaque changement produit dans les chronogrammes pour trouver les transitions locales temporisées qui sont candidates à en être responsables.

- À t = 5, c’est aussi a qui change de niveau mais cette fois-ci de a1 vers a0 avec Na = {a, z }. Les transitions locales temporisées candidates sont alors : τ1= a1

δ1 a0 et τ2= a1 z?

δ2 a0. Le dernier changement de a avant d’atteindre t = 5 est égal à Πa

5= 4et celui de z est égal à Πz 5 = 3. On a alors, max(Πa 5, Πz 5) = max(4, 3) = 4donc δ1 = δ2 = 4−3 = 1. Et puisque ∀t ∈ [4, 5], Γz(t) = 1 on a alors : Tc hange(5) = {τ1 = a1 1 a0, τ2= a1{z1} 1 a0}.

- À t = 9, a change encore son niveau discret pour passer de 0 à 1. Les transitions locales temporisées candidates sont alors de la forme : τ = a0

`

δ a1. Selon les chronogrammes, entre les deux changements successifs de a, il n’existe aucun changement ni de composants régulés par a (en occurrence ici c’est b) ni de composants régulateurs de a (en occurrence ici c’est z). Donc pour toutes les transitions locales temporisées candidates, le délai ne dépend que de a : δ = 9 − 5 = 4. On a alors :

Tc hange(9) = {τ1 = a0

4 a1, τ2= a0{z1} 4 a1}.

On peut remarquer ici que les ensembles des transitions locales temporisées candidates Tc hange(9) et Tc hange(4), qui correspondent au même changement de a (de a0 vers a1) ont une transition commune qui est τ1 = a0

4 a1. On peut en déduire alors qu’il est plus probable que cette transition soit correcte puisqu’elle est retrouvée plusieurs fois pour le même changement et à des instants différents. C’est en effet l’un des filtres que nous

Chapitre 4 — L’inférence des réseaux d’automates avec le temps 99 proposons dans la section 4.4 suivante (définition 4.5 en page 113) et qui garantit de ne garder que les transitions trouvées plus fréquemment.

- À t = 12, b change son état local et passe de b1 vers b0. On a Nb = a, donc a est le seul régulateur de b. Le délai δ de la transition b1

`

δ b0 recherchée est égal à la différence entre 12 et max(Πb

12, Πb

12) = max(0, 9) = 9. Ainsi, δ = 12 − 9 = 3 et on a une seule transition locale temporisée qui est candidate :

Tc hange(12)= {τ1= b1{a1} 3 b0}.

- Le changement suivant est à t = 13 et c’est a qui change de a1 vers a0. b est un composant régulé par a et son dernier changement s’est produit à l’instant Πb

13 = 12. z est un régulateur de a et son dernier changement s’est produit à l’instant Πz

13 = 3 < 12. Et on a pour a, Πa

13 = 9 < 12. Ainsi, la valeur maximale entre les instants des derniers changements des régulateurs de a et des composants régulés par a est égal à : max(Πa

13, Πz 13, Πb

13) = 12. Alors il est possible que la transition recherchée responsable du changement de a à t = 13 était bloquée en cours de l’activation de la transition responsable du changement de b par a à t = 12. En effet, elles sont en conflit parce qu’elles partagent une même ressource qui est le composant a. Par conséquent, la transition locale temporisée recherchée n’aurait pu commencer son activité qu’après son déblocage à t = 12. Ainsi, son délai serait égal à 13 − 12 = 1.

Les transitions locales temporisées candidates pour être responsables du changement à t = 13 sont présentées ci-dessous dans Tc hange(13). On note que les délais de τ1 et de τ2 sont calculés en prenant en considération le fait qu’il pourrait exister un blocage entre elles et b1{a1}

3 b0 de Tc hange(12). Mais pour les autres transitions le délai est calculé selon le dernier changement de a ou le dernier changement de z et de a si z y participe aussi.

Tc hange(13)= {τ1= a1

1 a0, τ2 = a1{z1}

1 a0, τ3 = a1

4 a0, τ4= a1{z1} 4 a0}. La même démarche est suivie pour les derniers changements à t = 14 et à t = 17 :

Tc hange(14) = {τ1 = z1{a0} 1 z0, τ2= z1 {b0} 2 z0, τ3 = z1{a0,b0} 1 z0}. Tc hange(17)= {τ1 = a0 4 a1, τ2= a0 {z0} 3 a1}.