• Aucun résultat trouvé

Les Automates 0/1

Dans le document Les automates temporisés avec mises à jour (Page 106-110)

Nothing is more sad than the death of an illusion. — Arthur Koestler

Les r´esultats obtenus sur la d´ecidabilit´e du probl`eme du vide pour les automates tem-poris´es avec mises `a jour nous ont encourag´e `a regarder un peu plus loin. `A l’occasion d’un s´eminaire de Franck Cassez qui venait pr´esenter les r´esultats d’un article ´ecrit en collabora-tion avec Kim G. Larsen [CL00b], nous avons eu l’occasion de nous pencher sur le probl`eme des mod`eles avec une extension hybride des automates temporis´es avec mises `a jour. Comme nous ´etions particuli`erement sensibilis´es au probl`eme des gardes diagonales (x− y ∼ c), nous avons assez rapidement remarqu´e que la preuve de l’´equivalence entre les automates hybrides et les automates temporis´e 0/1 (stopwatches automata) pr´esent´ee dans [CL00b] comportait un grand nombre de gardes diagonales.

Catherine Dufourd et moi avons travaill´e sur cette question en esp´erant que le fait de retirer les gardes diagonales nous permettrait de garder la d´ecidabilit´e du test du vide. Comme cela avait ´et´e le cas pour les automates temporis´es avec mises `a jour non d´eterministes. Mais la fronti`ere entre d´ecidable et ind´ecidable semble ˆetre plus proche que nous l’avions envisag´e au d´ebut.

Nous allons commencer par d´efinir les automates 0/1, puis nous exposerons les r´esultats et les preuves de ceux-ci.

6.1 Les automates hybrides

Le mod`ele des syst`emes hybrides englobe strictement celui des automates temporis´es. On y retrouve des ´evolutions discr`etes qui correspondent aux actions et des ´evolutions continues qui correspondent `a l’´ecoulement du temps. La diff´erence majeure entre les deux mod`eles est que l’on assigne `a chaque ´etat des contraintes sur l’´evolution du temps de chaque horloge (i.e. la d´eriv´ee de x par rapport au temps, on la note ˙x). Le mod`ele des automates temporis´es peut ˆetre vu comme un cas particulier o`u pour tous les ´etats de l’automate et pour toutes les horloges x∈ X, on a ˙x = 1.

Un automate hybride est un 8-uplet H = (Σ, Q, T, δ, I, F, R, X) avec Σ un alphabet fini d’actions, Q un ensemble fini d’´etats, X un ensemble fini d’horloges, I ⊆ Q l’ensemble des ´etats initiaux, F ⊆ Q l’ensemble des ´etats finaux, R ⊆ Q l’ensemble des ´etats r´ep´et´es, δ :

Q× X → R la fonction donnant les taux de croissance des horloges en fonction des ´etats, et T ⊆ Q × [C(X) × Σ × U(X)] × Q un ensemble fini de transitions. Ainsi, une transition est un 5-uplet (q, g, a, u, q), avec :

– q, q ∈ Q, deux ´etats, – g∈ C(X), une garde, – a∈ Σ, une action,

– u∈ U(X), une mise `a jour.

Un chemin (path) p dans H = (Σ, Q, T, δ, I, F, R, X) est une suite finie ou infinie de la forme :

p = q0 g1,σ1,up1

−−−−−−→ q1−−−−−−→ qg22,up2 2−−−−−−→ qg33,up3 3. . . ,

avec q0∈ I, et ∀i > 0, (qi−1, gi, σi, upi, qi)∈ T (6.1) On note inf (p)⊂ Q l’ensemble des ´etats qui sont infiniment souvent r´ep´et´es sur le chemin p. Le chemin fini (resp. infini) p est acceptant si l’´etat final est dans F (resp. si inf (p)∩R 6= ∅, condition de B¨uchi ).

Une ex´ecution (run) r sur le chemin p est une suite de la forme : r =hq0, v0i g1,σ1,up1

−−−−−−→

t1 hq1, v1i g2,σ2,up2

−−−−−−→

t2 hq2, v2i . . . , avec ∀i≥0, vi ∈ TX (6.2) avec (ti)i>0 une s´equence temporis´ee et (vi)i≥0 des valuations d’horloges telles que : – v0(x) = 0, ∀x ∈ X,

– ∀i > 0, vi−1+ δ(qi−1)(ti− ti−1)|= gi, – ∀i > 0, vi ∈ upi(vi−1+ δ(qi−1)(ti− ti−1)).

avec v + δ(q)t = (xi+ δ(q, xi)t)i. Et on appelle les couples hqi, vii, des ´etats ´etendus. L’´etiquette de r est le mot temporis´e (σ1, t1)(σ2, t2) . . . , qui est dit accept´e par l’automate hybrideH. L’ensemble des mots qui sont l’´etiquette d’une ex´ecution acceptante de H forment le langage accept´e (ou reconnu) par H et on le note L(H, T) ou plus simplement L(H).

On note Hyb(C(X), U (X)) l’ensemble des automates hybrides avec mises `a jour construits avec l’ensemble des contraintes sur les horloges contenues dans C(X) et l’ensemble des mises `

a jour dans U (X). Nous ´ecrirons simplement Hyb(U, C) lorsqu’il n’y aura pas d’ambigu¨ıt´e. Les automates 0/1 sont des automates hybrides tels que δ : Q× X → {0, 1}. On note Hyb0/1(U, C) l’ensemble des automates temporis´es 0/1 avec mises `a jour construits avec l’en-semble des contraintes sur les horloges contenu dans C et l’enl’en-semble des mises `a jour dans U .

Exemple 16. L’automate de la figure 6.1 est un exemple d’automate 0/1 avec mises `a jour.

˙x = 0 ˙y = 0 ˙x = 1 ˙y = 0 ˙x = 1 ˙y = 1 start x = 10, x := 0 start x > 1 ∧ y > 5, x := 0 ∧ y := 0

6.2. IND ´ECIDABILIT ´E 107

6.2 Ind´ecidabilit´e

Nous allons `a pr´esent montrer que le probl`eme du vide est ind´ecidable pour les automates 0/1 qui ne consid`ere que des gardes non diagonales (x∼ c).

Th´eor`eme 19. Le probl`eme du vide est ind´ecidable sur la classe des automates 0/1 avec gardes diagonales (x− y ∼ c) et ayant au moins trois horloges.

D´emonstration. Comme dans les preuves du chapitre 3 page 55, nous allons simuler une machine `a deux compteurs (incr´ementation et d´ecr´ementation sur les horloges). Cette preuve est assez naturelle, on utilise l’horloge z pour stocker la valeur actuelle de l’horloge que l’on veut incr´ementer/d´ecr´ementer et on v´erifie ensuite que la diff´erence entre z et l’horloge vis´ee est bien de +1/− 1. p ˙x = 0˙y = 0 ˙z = 1 ˙x = 1 ˙y = 0 ˙z = 0 q p x := x+1 q

z := 0 x = z x−z = 1

Fig. 6.2 – Simulation d’une mise `a jour ”x := x + 1”.

p ˙x = 0˙y = 0 ˙z = 1 ˙x = 1 ˙y = 0 ˙z = 0 q p q

z := 0 x−z = 1, x := 0 x = z x := x−1

Fig. 6.3 – Simulation d’une mise `a jour ”x := x− 1”.

Ce premier th´eor`eme n’est pas une nouveaut´e, il ´etait facile de voir l’ind´ecidabilit´e du probl`eme du vide comem un corollaire de [CL00b]. Le r´esultat suivant est moins ´evident car la preuve de [CL00b] repose en grande partie sur l’utilisation de gardes diagonales x−y ∼ c. Or, comme nous l’avons vu dans les chapitres pr´ec´edents, l’utilisation ou non de gardes diagonales peut changer la d´ecidabilit´e du probl`eme du vide. La question que nous nous sommes pos´es ´etait d’´etablir la d´ecidabilit´e du probl`eme du vide lorsqu’on se restreint `a n’utiliser que des gardes simples (x∼ c).

Th´eor`eme 20. Le probl`eme du vide est ind´ecidable sur la classe des automates 0/1 avec gardes non diagonales (x∼ c) et ayant au moins quatre horloges.

D´emonstration. Cette preuve repose sur une tout autre id´ee que les pr´ec´edentes. Nous allons donc abandonner la machine `a deux compteurs pour nous int´eresser `a un r´esultat publi´e par Catherine Dufourd et B´eatrice B´erard.

Proposition 5 ([BD00]). Le probl`eme du vide est ind´ecidable sur les automates temporis´es qui autorisent des gardes du type x + y = 1.

Nous allons donc simuler une garde x + y = 1 sans utiliser de garde diagonale avec des automates 0/1. L’horloge z sert `a additionner les horloges x et y et l’horloge w sert `a permettre de ne pas perdre l’information de la valeur de x et y.

p ˙ w = 1 ˙x = 1 ˙y = 0 ˙z = 1 ˙ w = 1 ˙x = 1 ˙y = 0 ˙z = 0 ˙ w = 1 ˙x = 0 ˙y = 1 ˙z = 1 ˙ w = 1 ˙x = 0 ˙y = 1 ˙z = 0 ˙ w = 0 ˙x = 0 ˙y = 0 ˙z = 0 false true x < 1∧y < 1 x = 1, {x} w = 1, {w} y = 1, {y} w = 1 z 6= 1 z = 1 w′= 1−x x′= 0 y= y z= 1−x w′= 0 x′= x y= y z= 1−x w′= 1−y x′= x y= 0 z= 2−(x+y) w′= 1 x′= x y= y z= 2−(x+y)

Fig. 6.4 – Simulation d’une garde ”x + y = 1”.

La deuxi`eme transition permet de mettre la valeur 1−x dans w et z. La transition suivante permet de positionner x `a sa valeur de d´epart en utilisant w. La transition suivante permet de rajouter 1− y `a z et d’obtenir la valeur 2 − (x + y). Comme pour x, on m´emorise 1 − y dans w afin de remettre l’horloge y `a sa valeur initiale `a la transition suivante. Au final, nous avons l’horloge z qui contient la valeur 2− (x + y). Si x + y = 1, alors z = 1, sinon z 6= 1.

Conclusion

Comme nous venons de le voir, lorsqu’on consid`ere un mod`ele, mˆeme restreint, d’auto-mates hybrides, on perd la d´ecidabilit´e du probl`eme du vide. L’espoir que nous avions ´etait que les mises `a jour non d´eterministes introduisent des diff´erences dans l’´evolution des diff´erentes horloges en permettant des ’sauts’. Mais visiblement, le fait de contrˆoler ces sauts dans le temps est trop expressif pour conserver la d´ecidabilit´e du probl`eme du vide.

Chapitre 7

Dans le document Les automates temporisés avec mises à jour (Page 106-110)