Lycée La Martinière Monplaisir
Option Informatiqe 2eannée Langages rationnels et automates (exercices)
Langages rationnels et automates (exercices)
Judicaël Courant 2018-W14-1 (2 avril)
NB : Il est évidemment utile de connaître le théorème de Kleene (un langage peut être décrit par une expression ra- tionnelle si et seulement s’il est reconnu par un automate fini).
Exercice 1 On considère un alphabetΣ∗ et on s’intéresse au langageLdéfini par
L={x∈Σ∗| ∃y ∈E P(x, y)}
oùP(x, y)est une formule portant sur les variablesxety.
On suppose que pour touty ∈ E, le langageLy défini parLy ={x∈Σ∗|P(x, y)}est rationnel.
1. Montrer que siEest fini,Lest nécessairement ration- nel. Montrer que ce n’est pas nécessairement le cas siE n’est pas rationnel.
2. Mêmes questions en remplaçant le quantificateur exis- tentiel par un quantificateur universel dans la défini- tion deL.
Exercice 2 Soit(Q, q0, F, δ)un automate sur un alphabet Σ. On noteLle langage reconnu par cet automate.
1. Soitpetq deux états de cet automate. Justifier que le langage{u∈Σ∗ |δ∗(p, u) =q}, qu’on noteraLp,q, est rationnel.
2. Montrer que le langage {u∈Σ∗ |uu∈L} est ra- tionnel. Ce langage est appelé racine carrée deL et noté √
L. Écrire L à l’aide d’opérations ensemblistes sur les langagesLp,qpour(p, q)∈Q.
3. On poseL0 = {u∈Σ∗|uu∈L}. Montrer que L0 est rationnel.
4. On poseL0 ={uv|u∈Σ∗, v∈Σ∗, vu∈L}. Mon- trer queL0est rationnel.
Exercice 3 SoitΣetΣ0 deux alphabets. Soitµ: Σ → Σ0 une application.
On étend µ en une application de Σ∗ dans Σ0∗ en po- sant, pour tout entier naturel n et tout mot a1. . . an, µ(a1. . . an) =µ(a1). . . µ(an)(en particulierµ() =).
SoitL⊂Σ∗un langage. On poseL0 =µ(L)(autrement dit,L0est l’image directe deLparµ).
1. Remarquer qu’on n’a pas nécessairement l’équivalence µ(u)∈µ(L) ⇐⇒ u∈L.
2. Montrer que si Lest rationnel, µ(L) l’est également mais que la réciproque n’est pas nécessairement vraie.
Exercice 4 SoitΣ1 etΣ2 deux alphabets etL1 etL2 des langages sur ces alphabets respectifs. On poseΣ = Σ1×Σ2. L’ensembleΣest fini, donc c’est un alphabet.
On note alorsLle langage surΣdont les éléments sont les mots de la formeu= (a1, b1). . .(an, bn)deΣ∗, oùn∈N, aveca1. . . anetb1. . . bnappartenant respectivement àL1
etL2. En particulierLcontient le mot vide si et seulement siL1 etL2 le contiennent tous les deux.
1. Montrer que siL1 etL2 sont rationnels, alors Ll’est également.
2. Montrer que siLest rationnel et queL2 contient des mots de n’importe quelle longueur, alorsL1est ration- nel. Est-ce toujours le cas sans l’hypothèse surL2? Exercice 5 SoitΣun alphabet.
1. Soit L et D deux langages rationnels sur un alpha- betΣ. Montrer que le langageL : D, défini comme {u∈L| ∃v∈D|u|=|v| }, est rationnel.
2. Soit L un langage rationnel. Montrer que le lan- gage 12L est rationnel, où 12L est défini comme {u∈Σ∗| ∃v ∈Σ∗|u|=|v|etuv∈L}
Exercice 6 On noteΣl’alphabet{a, b}. On noteLa(resp.
Lb) le langage sur Σ constitué des mots contenant un nombre pair dea(resp. b). On noteLle langage constitué des mots contenant un nombre pair deaet un nombre pair deb.
1. On demande de montrer queLaest rationnel de deux façons différentes et indépendantes :
a) Donnez une expression rationnelle décrivant La1. Vous justifierez votre réponse2.
b) Donnez un automate reconnaissantLa. Vous jus- tifierez votre réponse3.
2. Il est alors clair que L est rationnel (intersection de deux langages rationnels). Donnez un automate recon- naissantL.
1. On cherche donc une expression rationnelle E telle que L(E) =La.
2. Attention à ne pas confondre égalité et inclusion.
3. Là encore, attention à ne pas confondre égalité et inclusion.
Judicaël Courant - 2018-W14-1 (2 avril) 1/1 Document sous licence Art Libre (http://artlibre.org)