• Aucun résultat trouvé

4.2 La méthode d’inférence brute

4.3.3 Génération des modèles T-AN appris

δ 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}.

4.3.3 Génération des modèles T-AN appris

Pour générer les T-AN appris, nous procédons comme c’est indiqué à l’étape 2 de l’algo-rithme 1 de la méthode Mot-AN, en page 93. Il s’agit de calculer toutes les combinaisons possibles des transitions locales temporisées parmi celles qui sont apprises à l’étape 1 de l’algorithme 1. Chaque combinaison de transitions représente un ensemble de transitions d’un T-AN appris donné. Nous rappelons que chacune de ces combinaisons de transitions doit être minimale ayant des transitions cohérentes entre elles.

100 4.3 — Validation du résultat de MoT-AN Minimalité des ensembles de transitions locales temporisées appris

Nous notons le kème T-AN appris ANk = (Σ, S, Tk

appr i s) avec k ∈ {0, ..., m} et m ∈ N le nombre total des T-AN appris par MoT-AN. Dans la propriété 4.2 ci-dessous, nous formalisons le fait que les T-AN appris sont minimaux en expliquant toute la dynamique du système figurée dans par les chronogrammes. En effet, pour chaque changement produit dans les chronogrammes, il existe dans le T-AN appris, exactement une transition locale temporisée qui l’explique.

Propriété 4.2. Si ANk

appr i s = (Σ, S, Tk

appr i s)est un T-AN appris à partir des chronogrammes Γ et du graphe d’influences χ entre les automates de AN , alors pour tout changement d’état local d’un composant visualisé dans Γ, ∃!τ ∈ Tk

appr i s qui réalise ce changement. Ainsi, la minimalité de l’ensemble de transitions locales temporisées Tk

appr i s est vérifiée quand pour chaque changement observé dans les chronogrammes, il y a une et une seule transition locale temporisée candidate d’en être responsable. En l’occurrence, pour l’exemple précédent (notre cas d’étude l’exemple jouet), si nous sélectionnons une et une seule transition locale temporisée de chacun des ensembles calculés Tc hange(i) avec i ∈ {3, 4, 5, 9, 12, 13, 14, 17}, alors nous aurons un Tk

appr i s. En revanche, ceci n’est pas toujours suffisant pour vérifier complètement la minimalité d’un Tk

appr i s. En effet, dans le cas où un même changement d’un même automate se produit dans les chronogrammes mais à des instants différents i et j avec i 6= j, il est possible d’apprendre des transitions identiques et donc, on a Tc hange(i)∩ Tc hange(j)6= ∅.

Comme à t = 4 et t = 9 dans les chronogrammes de notre exemple jouet (figure 4.8 en page 96) où on a le même changement qui s’est produit pour le composant a (de a0 vers a1) et on a une même transition qui est apprise pour les deux instants : Tc hange(4)∩ Tc hange(9) = {a0

4 a1}. Pour générer un Tk

appr i s d’un T-AN appris, il faut sélectionner une transition de chaque Tc hange(i). Récapitulons ci-dessous l’ensemble des transitions locales temporisées apprises pour chaque changement observé dans les chronogrammes de l’exemple jouet dans la figure 4.8 en page 96 : – Tc hange(3) = {τ1 = z0{a0} 3 z1, τ2= z0 {b1} 3 z1, τ3 = z0{a−→0,b1} 3 z1}. – Tc hange(4) = {τ1 = a0 4 a1, τ2= a0 1 a1, τ3 = a0{z1} 1 a1}. – Tc hange(5) = {τ1 = a1 1 a0, τ2= a1{z1} 1 a0}. – Tc hange(9) = {τ1 = a0 4 a1, τ2= a0{z1} 4 a1}. – Tc hange(12)= {τ1= b1 {a1} 3 b0}. – Tc hange(13)= {τ1= a1 1 a0, τ2 = a1{z1} 1 a0, τ3 = a1 4 a0, τ4= a1{z1} 4 a0}. – 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{z1} 3 a1}. Pour cet exemple, si a0

4 a1 est sélectionnée de Tc hange(4) et a0{z1}4 a1 est sélectionnée de Tc hange(9), alors on a Tk appr i s ∩ Tc hange(9) = {a0{z1} 4 a1, a0 4 a1} et donc

Chapitre 4 — L’inférence des réseaux d’automates avec le temps 101 |Tk

appr i s∩ Tc hange(9)|= 2 6= 1. Or, pour considérer qu’un Tk

appr i s est minimal, il faut que pour tout changement t, |Tk

appr i s ∩ Tc hange(t)|= 1 (voir algorithme 1 en page 93). En effet, le Tk

appr i s n’est pas minimal dans ce cas car il existe un Tk0

appr i s ⊂ Tk

appr i s qui peut réaliser la dynamique des chronogrammes, tel que Tk0

appr i s = Tk

appr i s \ {a0{z1} 4 a1}. Ainsi, pour garantir la minimalité de ce Tk

appr i s, si c’est a0

4 a1 qui est sélectionnée de Tc hange(4) alors elle doit être aussi sélectionnée de Tc hange(9).

Par contre, si c’est a0 {z1}

1 a1 qui est sélectionnée de Tc hange(4) alors a0 {z1}

4 a1 peut être sélectionnée de Tc hange(9). Et dans ce cas, la minimalité de Tk

appr i s est vérifiée car il y a une seule transition qui est sélectionnée de chacun de Tc hange(4) et Tc hange(9).

En résumé, si une transition τ est apprise dans plusieurs Tc hange(i) et si τ est selectionnée dans un Tk

appr i s, alors pour que ce dernier soit minimal, il faut que τ soit sélectionnée dans chacun des Tc hange(i) où elle est apprise et qu’aucune autre transition ne soit sélectionnée de ces Tc hange(i) dans Tk

appr i s.

Propriété 4.3. Soit C l’ensemble des instants auxquels les composants du système changent d’un niveau discret vers un autre dans les chronogrammes.

Soient ANk

appr i s = (Σ, S, Tk

appr i s) le kèmeT-AN appris par la méthode d’apprentissage MoT-AN avec k ∈ {1, ..m}, m le nombre total des T-AN appris et ∃i, j ∈ C, i 6= j.

Soit Ti j = Tc hange(i)∩ Tc hange(j) tel que P 6= ∅. si ∃τ ∈ Ti j ∩ Tk

appr i s ⇒ Tk

appr i s ∩ Tc hange(i) = Tk

appr i s ∩ Tc hange(j) = τ.

Il est à noter que dans certains cas, la condition de minimalité peut éliminer complètement des transitions apprises telles que ces dernières n’appartiendront pas à aucun modèle appris. Ceci arrive quand il y a le même changement qui se produit à des instants différents i et j avec i 6= j tel que Tc hange(i) ⊂ Tc hange(j). Autrement dit, toutes les transitions qui sont apprises dans Tc hange(i) sont aussi apprises dans Tc hange(j). Ainsi, toutes les transitions de l’ensemble Tc hange(j)\ Tc hange(i) n’appartiendront pas à aucun modèle appris.

Pour notre exemple, c’est le cas des transitions a1

1 a0 et a1 {z1}

1 a0 dans Tc hange(13). On trouve que ces mêmes transitions sont apprises dans Tc hange(5) telles que

Tc hange(5)∩ Tc hange(13) = {a1

1 a0, a1{z1}

1 a0, }= Tc hange(5). Si dans un Tk

appr i s, il y a une transition τ1 qui est sélectionnée de Tc hange(13)\ Tc hange(5) alors il y a surement une autre τ2 qui est différente (τ1 6= τ2) et qui est sélectionnée de Tc hange(5). Or, si τ ∈ Tc hange(5), alors τ ∈ Tc hange(13). Par conséquent, on a

|Tk

appr i s ∩ Tc hange(13)| = |τ1, τ2| = 2. Puisque pour vérifier la minimalité de Tk

appr i s, il faut que Tk

appr i s ∩ Tc hange(13)= Tk

appr i s ∩ Tc hange(5), ainsi les transitions de Tc hange(13)\ Tc hange(5) sont toutes éliminées de l’ensemble des transitions apprises.

Propriété 4.4. Soit C l’ensemble des instants auxquels les composants du système changent d’un niveau discret vers un autre dans les chronogrammes.

Soient ANk

appr i s = (Σ, S, Tk

appr i s) le kèmeT-AN appris par la méthode d’apprentissage MoT-AN avec k ∈ {1, ..m}, m le nombre total des T-AN appris et ∃i, j ∈ C, i 6= j.

Tc hange(i) ⊂ Tc hange(j) ⇒ ∀ANk

appr i s,(Tc hange(j)\ Tc hange(i)) ∩ Tk

102 4.3 — Validation du résultat de MoT-AN Cohérence entre les transitions locales temporisées du même T-AN

Toutes les transitions apprises appartenant à un même Tk

appr i s doivent être cohérentes entre elles. Ce que nous voulons dire par cohérentes entre elles c’est que, s’il existe une transition locale temporisée ayant un délai calculé selon un blocage dû à un conflit avec une autre transition locale temporisée alors ces deux transitions doivent appartenir au même Tk

appr i s. Ainsi, une fois simulées, elles doivent pouvoir re-réaliser les chronogrammes à partir desquels elles sont apprises et selon la même sémantique de la dynamique des T-AN.

Par exemple, les transitions locales temporisées z0 {a0,b1}3 z1 et z0 {a0}3 z1 dans Tc hange(3) sont en conflit avec a0

1 a1 dans Tc hange(4) car elles partagent la même ressource a. Principalement ce conflit est visualisé par le fait que le délai qui est égal à 1 dans a0

1 a1 est calculé en considérant ce conflit. Ainsi, il est possible d’avoir par exemple, dans un même Tk appr i s la transition z0 {a0,b1}3 z1 (ou z0 {a0}3 z1) de Tc hange(3) et a0 1 a1 de Tc hange(4). Et dans un autre même Tp

appr i s, z0 {b1}

3 z1 de Tc hange(3) et a0

4 a1 de Tc hange(4). En revanche, les transitions z0

{b1}

3 z1 de Tc hange(3) et a0

1 a1 de Tc hange(4) ne peuvent pas appartenir au même modèle. En effet, le délai de la deuxième transition est égal à 1 car nous avons tenu compte du fait qu’il existe dans le même modèle une autre transition locale temporisée qui est en conflit avec elle. Sinon, son délai devrait être égal à 4.

Nous avons aussi les transitions a1

1 a0 et a1 {z1}

1 a0 de Tc hange(13) dont le délai est calculé parce qu’il y a un conflit avec la transition b1{a1}

3 b0 de Tc hange(12). Ainsi, dans un même modèle, on pourrait avoir a1

1 a0 (ou a1 {z1}1 a0) et b1 {a1}3 b0. Résultat de MoT-AN

Même avec les contraintes de minimalité et de cohérence introduite ci-dessous sur les ensembles des transitions locales temporisées apprises par modèle, plusieurs combinaisons sont possibles des transitions et donc plusieurs modèles T-AN peuvent être appris. Le nombre total de ces modèles appris m ∈ N est borné par le produit des nombres des transitions apprises pour chaque changement observé dans les chronogrammes (voir définition 4.5 ci-dessous). En effet, quand nous générons un modèle T-AN, nous sélectionnons pour chaque changement observé à un instant t au plus une transition pour l’expliquer à partir des transitions apprises dans Tc hange(t).

Propriété 4.5 (Nombre total des modèles T-AN appris). Soit C l’ensemble des instants auxquels les composants du système changent d’un niveau discret vers un autre dans les chronogrammes illustrant la dynamique du système modélisé. Le nombre total des changements est alors égal à |C|.

Soit m ∈ N le nombre total des modèles T-AN appris par l’algorithme 1, Mot-AN, on a donc, m ≤ |C| Y i=1 |Tc hange(i)|

Chapitre 4 — L’inférence des réseaux d’automates avec le temps 103 et si ∃i, j ∈ C, i 6= j tel que Tc hange(i)∩ Tc hange(j) 6= ∅ alors,

m ≤ |C| Y i=1 |Tc hange(i)\[ j <i Tc hange(j)|

En effet, m est aussi borné par le cardinal du produit cartésien des |C| ensembles Tc hange(i) privés des éléments existants en commun dans les autres ensembles, c’est-à-dire privés deS j <i

Tc hange(j). Autrement dit, l’élément en commun sera pris seulement du premier ensemble où il est apparu. En effet, puisqu’on exige que de chaque Tc hange(j) nous sélectionnons une unique transition et il ne faut pas tenir compte de ces répétitions dans le calcul du nombre des combinaisons possibles.

Pour notre exemple jouet étudié et dont les chronogrammes sont présentés dans la figure 4.8 en page 96, l’ensemble des instants auxquels produisent les changements dans les chronogrammes, C, est alors égal à :

C = { ca 1 = 4, ca 2 = 5, ca 3 = 9, ca 4 = 13, ca 5 = 17, cb 1 = 12, cz 1 = 3, cz 2 = 14} avec cx j est le changement d’indice j du composant x. Il y a donc |C| = 8 changements au total dans les chronogrammes.

En prenant le récapitulatif en page 100 des transitions locales temporisée apprises pour chaque changement apparu dans les chronogrammes, nous pouvons déduire que :

– Tc hange(3)∩ S j <3 Tc hange(j) = Tc hange(4)∩ S j <4 Tc hange(j) = Tc hange(5)∩ S j <5 Tc hange(j)= ∅, – Tc hange(9)∩ S j <9

Tc hange(j) = Tc hange(9)∩ Tc hange(4)= {a0 4 a1}, – Tc hange(12)∩ S j <12 Tc hange(j) = ∅, – Tc hange(13)∩ S j <13

Tc hange(j) = Tc hange(13)∩ Tc hange(5)= {a1

1 a0, a1{z1} 1 a0}, – Tc hange(14)∩ S j <14 Tc hange(j) = ∅, – Tc hange(17)∩ S j <17

Tc hange(j) = Tc hange(17)∩(Tc hange(4)∪ Tc hange(9)) = {a0 4 a1}. On a alors : – |Tc hange(3)\ S j <3 Tc hange(j)|= |Tc hange(3)|= 3 – |Tc hange(4)\ S j <4 Tc hange(j)|= |Tc hange(4)|= 3 – |Tc hange(5)\ S j <5 Tc hange(j)|= |Tc hange(5)|= 2 – |Tc hange(9)\ S j <9 Tc hange(j)|= |{a0 {z1} 4 a1}|= 1 – |Tc hange(12)\ S j <12 Tc hange(j)|= |Tc hange(12)|= 1 – |Tc hange(13)\ S j <13 Tc hange(j)|= |{a1 4 a0, a1{z1} 4 a0}|= 2 – |Tc hange(14)\ S j <14 Tc hange(j)|= |Tc hange(14)|= 3 – |Tc hange(17)\ S j <17 Tc hange(j)|= |{a0{z1} 3 a1}|= 1

104 4.3 — Validation du résultat de MoT-AN Ainsi, m ∈ N le nombre total des modèles T-AN appris par MoT-AN est borné par : m ≤Q

i∈C|Tc hange(i)\ S j <i

Tc hange(j)|= 3 × 3 × 2 × 1 × 1 × 2 × 3 × 1 = 108 modèles. Nous notons que ce nombre est souvent non atteint. En effet, il y a des transitions locales temporisées qui ne peuvent pas appartenir à un même modèle T-AN appris ; quand il s’agit d’un ensemble de transitions qui ne vérifie pas la condition de minimalité. Comme il a été évoqué précédemment, les transitions a1

4 a0 et a1{z1}

4 a0 apprises dans Tc hange(13) ne pourront appartenir à aucun T-AN appris car elles appartiennent à Tc hange(13)\ Tc hange(5) sachant que Tc hange(5)⊂ Tc hange(13)(voir la propriété 4.4 en page 101). Ainsi, quelle que soit la transition choisie de Tc hange(5), elle est suffisante pour expliquer le changement produit à t = 5 et aussi au changement produit à t = 13.

Ceci réduit alors le nombre des T-AN appris car il n’y a aucune transition supplémentaire à prendre en considération de Tc hange(13) lors de la génération des combinaisons possibles. Autrement dit, celle de Tc hange(5) sont suffisantes.

Quand nous enlevons alors |Tc hange(13)\ S j <13

Tc hange(j)| = 2 du produit qui calcule la borne maximale du nombre total des T-AN appris et nous avons :

m ≤3 × 3 × 2 × 1 × 1 × 3 × 1 = 54 modèles. On remarque que l’élimination de seulement 2 transitions parmi celles qui sont apprises pourrait diviser le nombre des modèles appris par deux.

D’autre part, la condition de la cohérence entre les transitions dans un même modèle T-AN appris réduit considérablement le nombre des T-AN appris. Rappelons que cette cohérence consiste à vérifier que des transitions locales temporisées dont les délais sont calculés en se basant sur le fait qu’elles sont en conflit doivent appartenir au même modèle.

Pour notre exemple, il y a les transitions z0 {a0,b1}

3 z1 et z0 {a0}

3 z1 dans Tc hange(3) qui sont en conflit avec a0

1 a1 dans Tc hange(4). Donc, si a0

1 a1 est sélectionnée dans un modèle alors z0 {a0}

3 z1 ou z0 {a0,b1}

3 z1 doit y être aussi. Ainsi, aucune autre transition de Tc hange(3) ne pourrait être dans le même modèle avec a0

1 a1.

Par conséquent, il est possible de soustraire les combinaisons en trop des T-AN qui incluent a0

1 a1 de Tc hange(4) et l’autre transition de Tc hange(3), c’est-à-dire Tc hange(3) \ {z0 {a0,b1}

3 z1, z0 {a0}

3 z1} = {z0 {b1}

3 z1}. Le nombre de combinaison à enlever me ∈ N est alors égal à : me = |{z0 {b1} 3 z1}| ×|{a0 1 a1}| ×Q i∈C\{3,4}|Tc hange(i)\ S j <i Tc hange(j)| me = 1 × 1 × 2 × 1 × 1 × 1 × 3 × 1 = 6.

Le nombre des modèles T-AN appris pour cet exemple jouet à partir des chronogrammes de la figure 4.8, en page 96 devient ainsi borné par 54 − 6 = 48 modèles (m ≤ 48).

Il est à noter aussi qu’il y a d’autres critères possibles pour réduire encore plus ce nombre de modèles appris et pour raffiner les modèles appris. Nous les présentons comme des filtres dans la section 4.4 en page 110.

Nous donnons ci-dessous quelques exemples des ensembles de transitions locales tem-porisées des modèles T-AN appris à partir des chronogrammes de la figure 4.8 en page 96 par la méthode MoT-AN dont l’algorithme est donné en page 93 et son implémentation

Chapitre 4 — L’inférence des réseaux d’automates avec le temps 105 en Answer Set Programming est présentée dans le chapitre 6. Le nombre des modèles retournés est égal à 48 qui est en effet égal à la borne maximale trouvée ci-dessus.

– T1 appr i s = { τ1 = a0 −→{z1} 4 a1, τ2 = a0 −→{z0} 3 a1, τ3 = a1 1 a0, τ4 = a0 1 a1, τ5 = b1−→{a1} 3 b0, τ6= z0 {a−→0,b1} 3 z1, τ7= z1 −→{a0} 1 z0, }. – T2 appr i s = { τ1 = a0 −→{z1} 1 a1, τ2 = a1 −→{z1} 4 a0, τ3 = a0 −→{z0} 3 a1, τ4 = a0 1 a1, τ5 = b1−→{a1} 3 b0, τ6= z0 −→{a0} 3 z1, τ7 = z1{a−→0,b0} 1 z0 }. – T3 appr i s = { τ1 = a0 4 a1, τ2 = a1 −→{z1} 1 a0, τ3 = b1−→{a1} 3 b0, τ4 = z0{a−→0,b1} 3 z1, τ5= z1−→{b0} 2 z0 }. – T4 appr i s = { τ1 = a0 1 a1, τ2 = a1 1 a0, τ3 = a0 −→{z1} 4 a1, τ4 = a0 −→{z0} 3 a1, τ5 = b1−→{a1} 3 b0, τ6= z0 −→{a0} 3 z1, τ7 = z1{a−→0,b0} 1 z0 }...