Automates avanc´ es – Master 1 Informatique TD 2 : Langages rationnels et automates finis (suite)
Exercice 1 :
D´eterminiser les automatesA1 etA2.
1 b
a 2
3
b ε b
a 4 b
Figure1 – AutomateA1
1 b
a 2
ε 3 ε
b 4 ε
a 5
Figure2 – AutomateA2
Exercice 2 :
Le but de cet excice est de montrer qu’il existe des automates qui n´ecessitent un nombre exponentiel d’´etats par rapport `a leur version non-d´eterministe.
1. ´Etant donn´e un entier n ≥1, construisez un automate non-d´eterministe Bn sur l’alphabet Σ = {a, b} avec au plus n+ 1 ´etats et reconnaissant les mots de longueur sup´erieure `a n tels que la n-i`eme lettre en partant de la fin est una.
2. D´eterminiser B4. Combien d’´etats l’automate d´eterministe poss`ede-t-il ? Qu’en est-il dans le cas B5?
3. Pour n ≥1, on suppose que l’automate d´eterministe reconnaissant le mˆeme langage que Bn est Cn = (Q,Σ, E,{i}, F). On veut montrer qu’il poss`ede 2n ´etats. Pour tout mot u∈ A∗, on note E∗(i, u) l’´etat o`u l’on arrive en lisant le motu. Soientuet v deux mots distincts de longueurn.
Montrez queE∗(i, u)6=E∗(i, v) (Indication : trouvez un motwtel queuwsoit reconnu et pasvw).
4. Combien y-a-t il de mots de longueursnsur l’alphabet Σ ? 5. Vous pouvez alors conclure.
Exercice 3 : Montrer queS
n≥0(a+c)n(b+c)n+ (a+b+c)∗cc(a+b+c)∗satisfait la condition du lemme de l’´etoile.
Est-ce que le langage est r´egulier pour autant ? Exercice 4 :
Les langages suivant sont-ils r´eguliers ?
1. L1={baba2ba3. . . ban|n≥0}
2. L2={u∈ {a, b}∗| |u|a=|u|b} \A∗{aa, bb}A∗ avecA={a, b}
3. L3={an|nest un entier premier}
4. L4={u∈ {a, b}∗| |u|a<|u|b}(o`u|u|a repr´esente le nombre deadans le motuet|u|brepr´esente le nombre deb dans le motu)
Exercice5 :
On dit qu’un mot contient un carr´e si on peut l’´ecrire uvvw avec v 6= . Montrez que le lan- gage K={udv|u, v ∈ {a, b, c}∗ and ( soitu6=v, soituouv contient un carr´e)} sur l’alphabet {a, b, c, d}satisfait le crit`ere du lemme de l’´etoile fort mais n’est pas r´egulier.
Indication : On pourra montrer que K satisfait le crit`ere avec n= 3. Pour montrer queK n’est pas r´egulier, on pourra admettre l’existence de mots sans carr´e arbitrairement longs sur l’alphabet {a, b, c}.
Exercice6 :
(a) Montrer que le carr´e d’un langage r´egulier n’est pas n´ecessairement un langage r´egulier. Le carr´e du langageL´etant d´efini par
L2={uu|u∈L}.
(b) Montrer que la racine carr´ee d’un langage r´egulier est un langage r´egulier. La racine carr´ee du langageL´etant d´efinie par √
L={u|uu∈L}.
On pourra exprimer √
L comme combinaison r´eguli`eres de langages obtenus `a partir d’un automate reconnaissantL.