Automates à réels - Département informatique de l`ENS Cachan

Automates à réels
Dénitions & notations.
Soit Aun ensemble ni. On note Al'ensemble des mots nis (ou suites nies) sur Aet εle
mot vide. Soient u, v A: on note uv le mot obtenu en concaténant uet v. Étant donné un mot
uet un entier non note unle mot obtenu en concaténant ncopies de u(avec la convention que
u0=ε).
Un automate à réels est un automate comme un autre, mais disposant d'un compteur, au départ
initialisé à 0. Chaque transition de l'automate peut décider de changer la valeur du compteur, en
lui ajoutant une valeur λ. L'automate ne connaît à aucun moment la valeur du compteur mais peut
seulement la modier.
Formellement, un automate à réels est un quintuplet A= (Q, Σ, q0, QF, T )
Qest un ensemble ni, dit ensemble d'états ; q0Qest appelé état initial ; QFQest
l'ensemble d'états naux ;
Σest l'alphabet ni ;
TQ×∪ {ε})×Q×Rest un ensemble ni appelé ensemble des transitions (notez
que l'on s'autorise des transitions silencieuses étiquetées par ε).
Un premier exemple d'automate à réels est représenté ci-dessous. L'état initial q0est repéré par
une èche entrante et les états naux sont doublement entourés.
.....
a, π
.
b, 17
.c, 0
.
a, π
Une conguration est un élément de Q×R. La conguration initiale de l'automate Aest (q0,0).
Les congurations nales sont celles de la forme (q, 0) avec qQF.
On dit que (q, x)a
(q, x)s'il existe dans Tune transition de la forme (q, a, q, λ)avec
x=x+λ.
On dit que (q, x)w
(q, x)si l'on peut écrire w=w1. . . wkavec wiΣ∪ {ε}et s'il
existe q1. . . qk+1 et x1. . . xk+1 tels que q1=q, x1=x, qk+1 =q, xk+1 =xet pour tout i,
(qi, xi)wi
(qi+1, xi+1).
Enn, le langage reconnu par Aest déni par
L(A) = {w| ∃qQF,(q0,0) w
(q, 0)}
On dit que Lest R-reconnaissable s'il existe un automate à réels tel que L(A) = L.
Question 1.
(a) Vériez sur l'exemple que aacaa L(A)mais que aacab ̸∈ L(A)et abcaa ̸∈ L(A).
(b) Décrire L(A).
Si west un mot on note |w|ale nombre d'occurrences de adans w.
Question 2. Construire pour chacun des langages suivants un automate qui le reconnaît :
L1={w∈ {a, b}:|w|a=|w|b}
L2={w∈ {a, b, c}:|w|a=|w|b=|w|c}
L3={a, b}\L1={w∈ {a, b}:|w|a̸=|w|b}
Question 3. Montrer que les langages R-reconnaissables sont stables par union.
Un automate Aest dit déterministe s'il ne contient aucune transition étiquetée par εet que pour
toute lettre aet tout état q, il existe au plus un qet un λtel que (q, a, q, λ)T.
Question 4. Montrer que le langage L4ci-dessous est R-reconnaissable, mais pas par un automate
déterministe. On pourra raisonner par l'absurde et raisonner sur le mot anbncnnest plus grand
que le nombre d'états d'un automate déterministe reconnaissant L4.
L4={w∈ {a, b, c}:|w|a=|w|bou |w|b=|w|c}
Question 5. Montrer que le complémentaire de L1est R-reconnaissable mais qu'il n'est pas re-
connaissable par un automate déterministe.
Si Aest un automate, on appelle dim Ala dimension du Q-espace vectoriel engendré par tous les
coefficients λapparaissant dans T. Dans l'exemple, on a donc dim A= 2.
Question 6. Montrer que tout automate déterministe Areconnaissant L2et qui a un seul état
vérie dim A ≥ 2.
Question 7. Montrer que les langages R-reconnaissables sont stables par intersection.
Question 8. Montrer que si Let son complémentaire sont reconnus par un automate déterministe,
alors Lest rationnel.
Correction
Question 1. L(A) = {ancan|n0}.
Question 2. Le deuxième automate utilise le fait que πet 1sont linéairement indépendants. Dans
le troisième automate, l'état du milieu est initial. .
Indication. Pour L3, commencer par faire le langage des mots qui ont plus de aque de b
....
a, π
.
b, π
....
a, π + 1
.b, π
.
c, 1
...... ε, 1
.
ε, 1.
a, 1
.b, 1
.
b, 0
.
b, 1
.
a, 1.
a, 0
Question 3. Utiliser la construction classique avec ε-transitions
Question 4. Il est Rreconnaissable par la question précédente. Prenons un automate déterministe
qui le reconnaît.
.
Indication. Partir du mot anbncnnest plus grand que le nombre d'états de l'automate
Ce mot est accepté. Comme nest grand, on boucle dans les b, il existe donc iet jdifférents
(avec i < j < n) tels que anbiet anbjconduisent au même état. On ajoute pour passer de anbi
àanbjune certaine quantité λb. Comme les mot anbicnet anbjcnsont tous les deux acceptés on a
nécessairement λb= 0 (c'est là qu'on utilise vraiment le déterminisme). De même, lors de l'exécu-
tion, on boucle aussi dans les c, donc il existe iet jdifférents (avec i< j< n) tels que la lecture
de anbnciet anbncjnous conduisent dans le même état. Pour la même raison on a λc= 0. Mais
alors le mot anbn(ji)cn+(ji)est aussi accepté ce qui conduit à une contradiction.
Question 5. Le complémentaire de L1est L3.
On raisonne par l'absurde et on considère le mot anb2nn= (k+ 5)! (par exemple) où k
dénote le nombre d'états d'un automate déterministe reconnaissant le complémentaire de L1. Et
on utilise le même raisonnement qu'à la question précédente on montre l'existence de deux entiers
p, q < k tel que an+pib2n+qj L3pour tous couples (i, j).
Mais en prenant iet jtels que pi =n+qj, on a une contradiction. (prendre j=pet voir que
le terme de droite est bien divisible par p, donc qu'on peut dénir i).
Question 6. Comme il n'y a qu'un seul état, la preuve est simple. Quand on lit anbkcl, le réel
obtenu à la n est a+kλb+cet il doit vérier :
Pour tout n,a+b+c= 0
Pour tout triplet i, j, k non simultanément égaux, a+jλb+kλc̸= 0
En particulier, λa+λb+λc= 0 et aucun des trois λin'est nul. Sans perte de généralités disons
que λa>0et λb<0. Mais comme dim A<2,λaet λbsont liés, par exemple par a=qλb
avec p, q positifs distincts. Mais alors a+qλb+ 0λc= 0 donc apbqaccepté, une contradiction.
Question 7. Faire le produit cartésien des deux automates. La difficulté est qu'il faut commencer
par supposer qu'ils travaillent sur des ensembles de coefficients linéairement indépendants, donc
Se rendre compte qu'en remplaçant les coefficients λdans un automate par d'autres coeffi-
cients βmais qui vérient les mêmes relations sur Q, alors on ne change pas le fonctionne-
ment de l'automate.
Utiliser ensuite le fait que Rest un Qespace vectoriel de dimension innie.
Question 8. Soient A1et A2deux automates déterministes qui reconnaissent Let son complé-
mentaire, sur des ensembles d'états respectifs Q1et Q2.
On construit un automate sur Q1×Q2× {1,2}. L'idée est que l'on est dans l'état (q1, q2, i)
après avoir lu un mot usi et seulement si l'automate A1est dans l'état q1après avoir lu u, idem pour
A2, et que le mot uest accepté par l'automate Ai
L'état initial est (qA1
0, qA2
0, i)i= 1 si qA1
0est nal dans A1, et i= 2 sinon.
Ensuite, il y a une transition de (q1, q2, i)à(q
1, q
2, j)si :
Il y a une transition de qpàq
pdans l'automate Ap:
Si i= 1 : Si q
1est acceptant et que la transition de q1àq
1porte la valeur λ= 0, alors j= 1.
Sinon j= 2
Même raisonnement si i= 2.
En prenant comme états acceptants les états où i= 1 on obtient un automate pour L.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !