Théorie des Langages – TD 1 et 2

publicité
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éfixes 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 ∗
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 .
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 G0 = hV , Σ, P0 , Si, avec P0 = P ∪ {S → SS}. Montrez que aabaab ∈ L (G0 ). Montrez ensuite que G0
est ambigüe.
2. 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}.
Démontrez que cette grammaire est ambigüe
Téléchargement