Вы находитесь на странице: 1из 10

Théorie des Langages – TD 1 et 2

A LPHABETS , L ANGAGES ET G RAMMAIRES

Exercice 1 - On considère l’alphabet X = {a, b, c}. On rappelle que |w| représente la longueur du mot w, et ε
représente le mot vide. Soit deux mots w = ababc et q = caba.
1. Calculez w0 , w1 et w2
2. Calculez wq2 w
3. Calculez |w|ab , |(ab)4 | et |(ab)4 |aba
4. Donnez les préfixes, les préfices propres, les suffixes et les suffixes propres de q
5. Donnez le miroir du mot wq.

Exercice 2 -
1. Montrez qu’il ne peut y avoir de mot x tel que ax = xb.
2. Quels sont les deux langages dont la fermeture par l’étoile donne le langage uniquement composé du mot
vide ε ?
3. Les mots suivants sont-ils générés par le langage (ab∗ )b∗ : ε, a, aa, ba, abbb, ababb, baba ? Même question
avec le langage (ab)∗ b∗ .

Exercice 3 - On considère l’alphabet X = {a, b}. Donner les langages correspondant aux propriétés suivantes :
1. les mots qui ne contiennent aucun b ;
2. les mots qui ne contiennent pas ab ;
3. les mots qui contiennent au moins un a ;
4. les mots de longueur paire ;

Exercice 4 - On considère l’alphabet X = {a, b, c}.


1. Calculez les ensembles X 0 , X 1 et X 2
2. Pour chacun des ensembles suivants, caractérisez L1∗ , et calculez L1 ∩ L2 , L1 ∪ L2 , L1 .L2 , L2 .L1
L1 = {ab, bb} et L2 = {a, ab, bbc, ca}
L1 = {ε} et L2 = {bbc, ca}
L1 = 0/ et L2 = {bbc, ca}
L1 = {ab, bb} et L2 = X ∗
3. Soient L1 et L2 .
L1 = {w ∈ X ∗ | |w| = 3n, avec n ∈ N}
L2 = {w ∈ X ∗ | |w| = 5n, avec n ∈ N}
Caractérisez en français les langages L1 ∪ L2 , L1 ∩ L2

Exercice 5 - On considère l’alphabet X = {a, b}, et les langages L1 et L2 suivants :

L1 = {an bn |n ∈ N}
L2 = {bn an |n ∈ N}

Calculez L1 ∪ L2 , L1 ∩ L2 , L1 .L2 , L2 .L1 , L12 .

1
Exercice 6 - On considère des langages sur un alphabet quelconque.
1. Démontrez les propriétés suivantes :
L1 ⊆ L2 ⇒ L.L1 ⊆ L.L2
L.(L1 ∪ L2 ) = L.L1 ∪ L.L2
2. Montrez que L.(L1 ∩ L2 ) ⊆ L.L1 ∩ L.L2 . A l’aide d’un contre-exemple, montrez que l’égalité n’est pas
forcément atteinte.
3. Montrez que (L1 ∩ L2 )∗ ⊆ L1∗ ∩ L2∗ . A l’aide d’un contre-exemple, montrez que l’égalité n’est pas forcément
atteinte.

Exercice 7 - On considère des langages sur un alphabet X quelconque. Soient les deux langages suivants :

L p = {w| |w|est paire}


Li = {w| |w|estimpaire}

1. Montrez que L2p = L p


2. Montrez que L+ ∗
p = L p , puis que L p = L p
3. Montrez que L p .Li = Li .L p = Li
4. Montrez que Li2 = L p \ {ε}, puis que Li∗ = X ∗

Exercice 8 - Soient les langages L1 , L2 et L3 construits sur l’alphabet X = {a, b}. On rappelle que (a + b) =
{a} ∪ {b}.

L1 = {an b(a + b)n , n ∈ N}


L2 = {(a + b)n ban , n ∈ N}
L3 = {(a + b)n b(a + b)n , n ∈ N}

1. Montrez que les langages L1 , L2 et L3 ne sont pas égaux


2. Soit L4 = {(a + b)m ban , m, n ∈ N}. Montrez que L2 6= L4
3. Donnez les grammaires qui engendrent L2 et L4

Exercice 9 - Soit la grammaire G = hV , Σ, P, Si, avec V = {a, b, S}, Σ = {a, b} et P = {S → aSa; S → bSb; S → ε}.

1. Soit G′ = hV , Σ, P′ , Si, avec P′ = P ∪ {S → SS}. Montrez que aabaab ∈ L (G′ ). Montrez ensuite que G′ est
ambigüe.
2. Quel est le langage engendré par G ? Démontrez
3. Pourquoi G n’est pas ambigüe ?

Exercice 10 - Proposez une grammaire qui permet d’engendrer les formules de la logique des propositions.

Exercice 11 - Soit la grammaire G = hV , Σ, P, Si, avec V = {if,then,else,a, b, S}, Σ = {if,then,else,a, b} et P =


{S → if b then S else S ; S → if b then S ; S → a}.

1. Démontrez que cette grammaire est ambigüe


2. Proposez une solution pour lever l’ambiguïté

2
Théorie des Langages – TD 3 et 4
AUTOMATES FINIS

Exercice 1 - Soit Σ = {a, b}. Soit l’automate M suivant

b b

a b b a
1 2 3 4 5

1. Combien d’etats possède l’automate M ? Donner l’ensemble des états finaux, et l’ensemble des états ini-
tiaux
2. L’automate M est-il déterministe ?
3. Dans quel état se trouve l’automate après avoir lu le mot bbabbb ? Ce mot est-il reconnu par l’automate ?
accepté par l’automate ? Mêmes questions pour le mot babaabba.
4. L’automate M est-il complet ? Le mot baa est-il reconnu par cet automate ? accepté par cet automate ?
5. L’automate suivant M ′ est-il déterministe ?
b b

a b b a
1 2 3 4 5

6. Dans quels états peut-être l’automate M ′ après avoir lu babba ? Ce mot est-il accepté par cet automate ?
7. Même question pour le mot abbb.

Exercice 2 - Pour chacun des automates suivants, dire s’il est déterministe et s’il est complet.
Décrire ensuite le langage reconnu par cet automate en donnant une caractérisation de l’ensemble des mots
acceptés.

1. Automate M1
a,b a,b

a b b b
1 2 3 4 5

1
2. Automate M2
a b

a
1 2

3. Automate M3
a
a
1 2 3

b
4. Automate M4
a b
a

1 2

b
5. Automate M5
a a a a
1 2 3 4 5

Exercice 3 - Dans chacun des cas suivants, donner un automate déterministe et complet reconnaissant le langage
sur l’alphabet {0, 1} :
1. l’ensemble des mots se terminant par 00
2. l’ensemble des mots ayant au moins 3 zeros consécutifs
3. l’ensemble des mots dont l’avant-dernier symbole est un 1
4. l’ensemble des mots qui contiennent au plus deux 0 consécutifs et au plus deux 1 consécutifs
Exercice 4 - Soit Σ = {a, b}. Soit l’automate M suivant

b b a
b b

2 0 1
a a

1. Donner le système d’équations de l’automate M


2. Déterminiser l’automate M
3. Caractériser le langage L (M ) reconnu par M
4. Donner une grammaire linéaire à droite qui engendre L (M )
5. Construire l’automate complémentaire à M

2
Exercice 5 - Soit Σ = {a, b}. Soient L1 = {w ∈ Σ∗ | |w|a = 2n, n ∈ N} et L2 = {w ∈ Σ∗ | |w|b = 2n + 1, n ∈ N}

1. Caractérisez en français les langages L1 et L2


2. Construire les automates qui reconnaissent respectivement L1 et L2
3. Construire l’automate qui reconnaît L1 + L2

Exercice 6 - Soient les deux automates M1 et M2 . Construire le l’automate qui reconnaît le langage L (M1 ).L (M2 ).

– Automate M1
a

0 1

b
– Automate M2
b

2 3
a

Exercice 7 - Soit la grammaire G = hV , Σ, P, Si, avec V = {S, T ,U, a, b}, Σ = {a, b}, P = {S → aS, S → bT ,
S → ε, T → bT , T → aU, T → ε, U → aU, U → ε}.

Construire l’automate M tel que L (G) = L (M ).

Exercice 8 - Soit Σ = {a, b}. Soit l’automate M suivant

a a
a b

0 1 2
a a

1. Donner le système d’équations de l’automate M


2. Déterminiser l’automate M
3. Donner une grammaire linéaire à droite qui engendre L (M )
4. Construire l’automate complémentaire à M

Exercice 9 - Soit la grammaire G = hV , Σ, P, Si, avec V = {S, T , a, b}, Σ = {a, b}, P = {S → aS, S → bT , S → ε,
S → a, T → aS, T → bT , T → a}.

Construire l’automate M tel que L (G) = L (M ).

3
Théorie des Langages – TD 5
AUTOMATES ET EXPRESSIONS RÉGULIÈRES

Exercice 1 - Soit Σ = {a, b}. En utilisant le théorème d’Arden, donnez sous forme d’expressions régulières les
langages L (M ) et L (M ′ ) reconnus respectivement par les automates suivants :

a
a a

0 1 0 1
a b
b a b a
b
b
2 3 2 3

M b M’

Exercice 2 - Soit Σ = {a, b}. Soit l’automate M suivant

a
a

b
0 1

1. Montrez, en utilisant le théorème d’Arden, que L (M ) = (a∗ ab)∗


2. Déterminisez M. Proposez une grammaire qui engendre L (M ).
Exercice 3 - Par la méthode d’élimination des états, donnez les expressions régulières équivalentes aux auto-
mates suivants :

1. Automate M1
a b

a a b
0 1 2 3

2. Automate M2

a a,b a,b

b a b a
0 1 2 3 4

a a

5 6
b

3. Automate M3 (à gauche) et automate M4 (à droite)

b a

a b
0 1 0 1
b
a,b a b b

a a
2 3 2 3

Exercice 4 - Construire sur l’alphabet Σ = {a, b} les automates qui reconnaissent les langages :
1. L = (aa + bb∗ a + abb∗ a)∗
2. L′ = (b(aa)∗ b)∗
3. L′′ = ((a + b)b∗ a)∗
4. L′′′ = (a∗ b)∗ a

Exercice 5 - Les langages suivants sont-ils réguliers ?


1. L1 = {02n |n ≥ 1}
n
2. L2 = {02 |n ≥ 1}
3. L3 = {0n 1n |n ≥ 1}
4. L4 = {x ∈ {0, 1}∗ |x n’a pas 3 zéros consécutifs}
Théorie des Langages – TD 6
G RAMMAIRES H ORS -C ONTEXTE

Exercice 1 - Soit l’alphabet Σ = {a, b}


1. Construire la grammaire générant tous les palindromes sur Σ
2. Donner l’arbre de dérivation du mot bababab
Exercice 2 - Transformez les grammaires suivantes en grammaires réduites :
G1 = hV1 , Σ1 , P1 , Si, Σ1 = {a, c}, G2 = hV2 , Σ2 , P2 , Si, Σ2 = {a, b, c}, G3 = hV3 , Σ3 , P3 , Si, Σ3 = {a, b, c},
V1 = {a, c, S, X,Y , Z}, P1 : V2 = {a, b, c, S, X,Y }, P2 : V3 = {a, b, c, S, X,Y }, P3 :
S → aXXY |ZZ|cX S → aSY |bX S → a|X
X → aX|a X → bX X → bS|c
Z → cZ Y → cY |a Y → aY

Exercice 3 - Supprimez les ε-règles des grammaires suivantes :


G1 = hV1 , Σ1 , P1 , Si, Σ1 = {a, b}, G2 = hV2 , Σ2 , P2 , Si, Σ2 = {a, b},
V1 = {a, b, S, X,Y }, P1 : V2 = {a, b, S, X,Y }, P2 :
S → XY S → aXbXa
X → aX|ε X → aY |ε
Y → b|ε Y → b

Exercice 4 - Supprimez les règles unitaires des grammaires suivantes :


G1 = hV1 , Σ1 , P1 , Si, Σ1 = {a, b, c}, G2 = hV2 , Σ2 , P2 , Si, Σ2 = {a, b, c},
V1 = {a, b, c, S, X,Y }, P1 : V2 = {a, b, c, S, X,Y }, P2 :
S → XY b S → aSbX|X
X → Y X → XY c|Y
Y → Y |b|c Y → ab|bc|ac

Exercice 5 - Transformez la grammaire G = hV , Σ, P, Si, avec Σ = {a, b, c, d}, V = {S, X,Y , Z, T , M, a, b, c, d}, et
l’ensemble de règles P suivant en une grammaire équivalente propre et réduite.

S → XY |ZX Z → M|ε
X → a|b|ε T → a|d
Y → Y Z|TY M → aY |c|d|ε

Exercice 6 - Soit la grammaire G = hV , Σ, P, Si, avec Σ = {n, (, ), +, ∗}, V = {S, T , F, n, (, ), +, ∗}, et l’ensemble
de règles P suivant, qui génère les expressions arithmétiques bien formées,et où n désigne par commodité tout
entier positif (traité ici comme un terminal). Mettre cette grammaire sous forme normale de Chomsky.

S → T + S|S + T |T
T → F ∗ T |T ∗ F|F
F → n|(S)
Théorie des Langages - TD 7
AUTOMATES À PILE

Exercice 1 - Donnez deux automates à pile (acceptation par pile vide ; par état final) qui reconnaissent chacun
des langages suivants :

1. L1 = {an bm |n, m ≥ 0 et n ≤ m} 3. L3 = {an bm |n, m ≥ 0 et n ≤ m ≤ 2n}


2. L2 = {an bm c2(n+m) |n, m ≥ 0} 4. L4 = {w ∈ (a + b)∗ ||w|a = |w|b }

Exercice 2 - Soient L1 = {ab2p+1 c|p ≥ 0} et L2 = {an bm cm d n |m, n ≥ 0}


1. L1 est-il régulier ? Construire l’automate qui reconnaît L1
2. L2 est-il hors-contexte ? Construire l’automate qui reconnaît L2

Exercice 3 - Soit l’automate à pile suivant reconnaissant le langage L par état final :

a, A/AA b, A/ε

a, Z0 /AZ0 b, A/ε
0 1 2

ε, A/ε ε, A/ε

1. Cet automate est-il déterministe ?


2. Donner les différentes étapes de reconnaissance du mot aaab
3. Quel langage est généré par cet automate ?
4. Modifier l’automate de façon à avoir une reconnaissance par pile vide

Exercice 4 - Soit l’automate à pile suivant reconnaissant le langage L par état final :

a, T /T T c, ε/ε b, T /ε

ε, T /T b, T /ε ε, Z0 /Z0
0 1 2 3

a, Z0 /T Z0

1. Cet automate est-il déterministe ?


2. Donner les différentes étapes de reconnaissance des mot aacbb et ab
3. Quel langage est généré par cet automate ?
4. Modifier l’automate de façon à avoir une reconnaissance par pile vide

Exercice 5 - Donnez l’automate à pile correspondant à chacune des grammaires sous forme normale de Greibach
suivantes :

G1 = hV1 , Σ1 , P1 , S1 i G2 = hV2 , Σ2 , P2 , S2 i G3 = hV3 , Σ3 , P3 , S3 i


V1 = {a, b, S1 , B,C} V2 = {a, b, c, S2 , D, E} V3 = {a, b, c, d, S3 , F, G, H}
Σ1 = {a, b} Σ2 = {a, b, c} Σ3 = {a, b, c, d}
S1 → a|aS1 |aBC S2 → cD S3 → c|dFS3 |aGH
B → aB|bC D → aS2 |bE F → bGH|cF
C→b E → aD|cS2 |b G → bH|c
H → aG|d

Exercice 6 - Soient les deux automates à pile suivants. Donnez les grammaires algébriques correspondantes.

a, Z0 /A
a, A/AA b, A/ε a, A/AA c, B/ε

b, A/ε c, B/ε
0 1 0 1

a, Z0 /A b, B/BB d, A/ε
b, A/BA

Exercice 7 - Trouvez une grammaire algébrique pour chacun des langages suivants :

1. L1 = {ak b j cl |k ≤ j ou j ≤ l}
2. L2 = {w||w|a = |w|b ou |w|a = |w|c }
3. L3 = {w1 .w2 ||w1 |a = |w1 |b et |w2 |b = |w2 |c }
4. L4 = {an bm |n > 0, m = n ou m = 2n}
5. L5 = {an br as bt |n = s ou r = t}

Вам также может понравиться