Vous êtes sur la page 1sur 3

Réponses aux questions de cours

1. Un langage est dit reconnaissable s’il s’agit de mots lus par un automate fini.
2. Un langage est dit rationnel s’il est défini par une expression rationnelle.
3. Parce que l’algorithme de Thompson permet d’aller de l’expression rationnelle à l’automate
fini qui reconnaît les mots définis par cette expression rationnelle.
4. Si les mots lus par l’automate n’atteignent jamais l’état final, c’est-à-dire que ne sont pas
reconnues.
5. Il s’agit de (D) acbac car abcabcabc.
6. Il s’agit de (A) abaabab car a-ba-ab-ab et (C) aabba car a-ab-ba.
7. Donnons l’expression rationnelle : L1 = a (a + b) *
8. Donnons l’expression rationnelle : L2 = (a + b) * a
9. Donnons l’expression rationnelle : L3 = L1 + L2
10. Donnons l’expression rationnelle : L4 = ab* + b * ab* + b * a

Exercice 1
1. Expression rationnelle du langage L :
• Expression rationnelle de L1

𝑋0 = 1 + 𝑎𝑋0 + 𝑏𝑋0 = 1 + 𝑋0 (𝑎 + 𝑏) = (𝑎 + 𝑏) ∗ 1 = (𝑎 + 𝑏) ∗
D’où 𝐿1 = (𝑎 + 𝑏) ∗

• Expression rationnelle de L2
𝑋1 = 1 + 𝑎𝑋1 = 𝑎 ∗
D’où 𝐿2 = 𝑎 ∗

• Expression rationnelle de L3
𝑋2 = 𝑏𝑋2 + 𝑎𝑋3 et 𝑋3 = 1

𝑋2 = 𝑏 ∗ 𝑎𝑋3 = 𝑏 ∗ 𝑎
𝐿3 = 𝑏 ∗ 𝑎

• Expression rationnelle de L
𝐿 = (𝑎 + 𝑏) ∗ 𝑎 ∗ 𝑏 ∗ 𝑎
2. Automate qui reconnaît L :
On reliera les automates précédents par des transitions avec le mot vide.

3. Automate déterministe :
Cela se fera à travers l’élimination des transitions spontanées qui vont transformer l’automate en un
automate fini qu’on rendra déterministe. On devra d’abord déterminer les ε-fermeture.
ε − fermeture(0) = {0, 1, 2} - A

ε − fermeture(1) = {1, 2} - B

ε − fermeture(2) = {2} - C

ε − fermeture(3) = {3} - D

Après ça, on devra déterminer les transitions pour chaque état


𝛿 ′ (0, 𝑎 ) = {0, 1, 3} 𝛿 ′ (0, 𝑏) = {0, 2}

𝛿 ′ (1, 𝑎 ) = {1, 3} 𝛿 ′ (1, 𝑏) = {2}


𝛿 ′ (2, 𝑎 ) = {3} 𝛿 ′ (2, 𝑏) = {2}

𝛿 ′ (3, 𝑎 ) = ∅ 𝛿 ′ (3, 𝑏) = ∅
On a un automate fini non déterministe

On a enfin comme automate déterministe :

Avec 𝐼 = {0, 1, 2} et 𝐼𝐼 = {0, 1, 2, 3}.

4. Expression rationnelle de L plus simple :


Pour ce faire, on va utiliser la méthode du système d’équations caractéristiques sur l’automate
déterministe obtenu plus haut.
𝑋1 = 𝑏𝑋1 + 𝑎𝑋2
{
𝑋2 = 1 + 𝑎𝑋2 + 𝑏𝑋1

Dans la seconde équation on obtient 𝑋2 = 𝑎 ∗ (1 + 𝑏𝑋1 ) qu’on remplace dans la première équation
𝑋1 = 𝑏𝑋1 + 𝑎𝑎 ∗ (1 + 𝑏𝑋1 ) = 𝑏𝑋1 + 𝑎𝑎 ∗ + 𝑎𝑎 ∗ 𝑏𝑋1 = 𝑋1 (𝑏 + 𝑎𝑎 ∗ 𝑏) + 𝑎𝑎 ∗
𝑋1 = (𝑏 + 𝑎𝑎 ∗ 𝑏) ∗ 𝑎𝑎 ∗

Donc 𝐿 = (𝑏 + 𝑎𝑎 ∗ 𝑏) ∗ 𝑎𝑎 ∗.

Exercice 2
1. Calcul puis construction de l’automate minimal :
On procèdera avec le calcul de Brzozowski
On pose 𝑒 = 𝑎 ∗ 𝑏(𝑏𝑎 ∗ 𝑏 + 𝑎) ∗
𝑒 = (1 + 𝑎𝑎 ∗)𝑏(𝑏𝑎 ∗ 𝑏 + 𝑎) ∗ car 𝑎 = 1 + 𝑎𝑎 ∗

𝑒 = 𝑏(𝑏𝑎 ∗ 𝑏 + 𝑎) ∗ +𝑎𝑎 ∗ 𝑏(𝑏𝑎 ∗ 𝑏 + 𝑎)

𝑒 = 𝑏𝑒1 + 𝑎𝑒
Avec 𝑒1 = (𝑏𝑎 ∗ 𝑏 + 𝑎) ∗
𝑒1 = 1 + (𝑏𝑎 ∗ 𝑏 + 𝑎)(𝑏𝑎 ∗ 𝑏 + 𝑎) ∗
𝑒1 = 1 + 𝑏𝑎 ∗ 𝑏(𝑏𝑎 ∗ 𝑏 + 𝑎) ∗ + 𝑎(𝑏𝑎 ∗ 𝑏 + 𝑎 ) ∗
𝑒1 = 1 + 𝑏𝑒 + 𝑎𝑒1

2. Déduisons-en les expressions rationnelles :


𝜀 −1 𝐿 = 𝑎 ∗ 𝑏(𝑏𝑎 ∗ 𝑏 + 𝑎) ∗

(𝑎 ∗)−1 𝐿 = 𝑏(𝑏𝑎 ∗ 𝑏 + 𝑎) ∗

(𝑎 ∗ 𝑏)−1 𝐿 = (𝑏𝑎 ∗ 𝑏 + 𝑎) ∗

Vous aimerez peut-être aussi