Polytech Paris Sud - ET4 Année 2018-2019
Informatique Théorique : Automates
TD n
◦2
Semaine du 24 septembre
Les exercices avec un trèe (♣) doivent être faits dans la séance de TD. Les exercices avec un pique (♠) sont plus diciles et ne seront pas traités en priorité dans la séance.
Construction d'automates déterministes
Exercice 1. (♣) On considère dans cet exercice l'alphabetA={0,1}. Pour chacune des questions de1 à4, donner un automate déterministe accessible complet qui reconnaît le langage décrivant :
1. l'ensemble des mots de A∗ dans lesquels tout0 est toujours immédiatement suivi d'un1;
2. l'ensemble des mots de A∗ avec au moins une occurrence du mot0101; 3. l'ensemble des mots de A∗ qui se terminent par0101;
4. l'ensemble des mots de A∗ dans lesquels toute occurrence de0 est immédiatement suivie d'un 1et qui n'ont aucune occurrence de 0101.
Exercice 2 (Division par3). (♠)
1. Construisez un automate déterministe ni qui reconnaît l'ensemble des représen- tations binaires des entiers positifs divisibles par 3, en lisant de la gauche vers la droite.
2. Construisez un automate déterministe ni qui reconnaît l'ensemble des représenta- tions décimales (lues de la gauche vers la droite ou droite vers gauche) des entiers positifs divisibles par3.
1
Déterminisation d'automates asynchrones
Exercice 3. (♣) Déterminiser et compléter l'automate asynchrone hA, Q, q0, F, δi sui- vant :
A={a, b}
Q={0,1,2,3,4,5}
q0 = 0 F ={4}
δ={(0, ε,1); (0, ε,5); (1, a,2); (1, b,1); (2, b,3); (3, a,4); (5, b,3)}
Exercice 4. Déterminiser l'automate asynchronehA, Q, q0, F, δi suivant : A={a, b}
Q={0,1,2,3,4,5,6,7,8,9,10}
q0 = 0 F ={10}
δ={(0, ε,1); (1, ε,2); (2, a,3); (3, ε,6); (1, ε,4); (4, b,5); (5, ε,6); (0, ε,6); (6, ε,1);
(6, ε,7); (7, a,8); (8, b,9); (9, b,10)}
Expression rationnelle associée à un automate
Exercice 5. (♣) Pour chacun des automates déterministes sur l'alphabet{a, b}suivants, déterminer le système d'équations linéaires droites associé, le résoudre par élimination et utilisation du lemme d'Arden et en déduire une expression rationnelle du langage qu'il reconnaît :
1.
start 1 2
a b
a, b
2.
1
start 2
a
b
b
a
Exercice 6. Pour chacun des automates sur l'alphabet{a, b} ci-dessous construits dans l'exercice6du TD1, dériver, par la même méthode, une expression rationnelle du langage qu'il reconnaît.
1.
start 1 2 3
a b a
b a, b
2
2.
1
start 2 3
a b a
b a, b
3.
1
start 2 3
4
5 a
b a
b
b a b
a, b
a
4.
start 1 2
a, b
a, b
Constructions abstraites d'automates
Exercice 7 (Shue). (♠) Pour toute paire de mots(u, v), on appelle mélange de uetv le langageuv déni comme suit :
uv ={u1v1u2v2. . . unvn | n∈N, u=u1. . . un etv=v1. . . vn} où lesui et les vi sont des mots éventuellement vides. Par exemple,
abcd={abcd, acbd, cabd, acdb, cadb, cdab}.
Pour deux langagesL etK leur mélange est le langageLK suivant : LK :={w|w=uv, u∈L, v ∈K}.
1. Donner une expression rationnelle du langage(ab)∗{c}.
2. Montrer que si L, K sont reconnus par deux automates, alors on peut aussi construire un automate qui reconnaît le langage LK.
Indice:
fairedes pairesd'états,
etun automatenon
déterministe
Exercice 8 (Racine). (♠) PourL un langage on dénit :
√
L:={w|w·w∈L}.
Montrer que si L est reconnu par un automate déterministe complet, alors on peut construire un automate qui reconnaît le langage √
L.
Indice:
ilfaut essayer desuiv re simultanémen tl'action
dec haquegénérateur surc
haqueé tat
3