Académique Documents
Professionnel Documents
Culture Documents
AUTOMATES FINIS
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
2
Exercice 5 - Soit Σ = {a, b}. Soient L1 = {w ∈ Σ∗ | |w|a = 2n, n ∈ N} et L2 = {w ∈ Σ∗ | |w|b = 2n + 1, n ∈ N}
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 → ε}.
a a
a b
0 1 2
a a
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}.
3
Théorie des Langages – TD 3 et 4
AUTOMATES FINIS
b b b
a b b a
1 2 3 4 5
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.
Corrigé :
1. Les états de l’automate M, Q= {1, 2, 3, 4, 5}. l’automate M possède 5 états.
Rappel : Un automate est déterministe si, pour chacun de ses états, il y a au plus
une transition pour chaque étiquette possible.
On a δ(1,a)= {2}, δ(1,b)= {1}, δ(2,a)= ∅, δ(2,b)= {3}, δ(3,a)= {1}, δ(3,b)= {4}, δ(4,a)=
{5}, δ(4,b)= {2}, δ(5,a)= δ(5,b)= ∅.
a b
1 {2} {1}
2 ∅ {3}
3 {1} {4}
4 {5} {2}
5 ∅ ∅
Comme il n’y a pas plus d’un état dans chacune des cases de la matrices de
transition, l‘automate M est déterministe.
Rappel :
Un mot w est accepté par un automate si et seulement si
(q0, w)⇒ (q1, w1)⇒ (q2, w2)⇒…⇒ (qn, wn) avec qn ∈ F
Ou bien
(q0, w) *⇒ (q, ε) avec q ∈ F
(1, bbabbb) ⇒ (1, babbb) ⇒ (1, abbb) ⇒ (2, bbb) ⇒ (3, bb) ⇒ (4, b) ⇒ (2, )
Après lecture du mot bbabbb, l’automate M est à l’état 2. Comme on est pas en un
état final, ce mot n’est pas reconnu ( n’est pas accepté).
Rappel : Un automate est complet si pour tout état q ∈ Q il existe une transition
pour chaque lettre de l'alphabet Σ.
6. Il y a deux possibilités :
(1, babba) ⇒ (1, abba) ⇒ (2, bba) ⇒ (3, ba) ⇒ (1, a) ⇒ (2, )
(1, babba) ⇒ (1, abba) ⇒ (2, bba) ⇒ (3, ba) ⇒ (4, a) ⇒ (5, )
Pour la deuxième, le mot babba est accepté par l’automate.
1. Automate M1
a, b a, b
a b b b
1 2 3 4 5
2. Automate M2
a b
a
1 2
3. Automate M3
a
a
1 2 3
4. Automate M4
a b
a
1 2
b
5. Automate M5
a a a a
1 2 3 4 5
a
Corrigé :
1.
a, b a, b
a b b b
1 2 3 4 5
Cet automate n’est pas déterministe car on a δ (1, a)= {1, 2}. Il n’est pas complet car δ
(2, a), δ (3, a) et δ (4, a) ne sont pas définis.
Cet automate reconnait tous les mots ayant abbb, soit (a+b)*abbb(a+b)*
Exercice 3 - Dans chacun des cas suivants, donner un automate déterministe et complet
reconnaissant le langage sur l’alphabet {0, 1} :
Corrigé :
1. L’automate qui reconnait l’ensemble des mots se terminant par 00
4. L’automate qui reconnait l’ensemble des mots qui contiennent au plus deux 0
consécutifs et au plus deux 1 consécutifs
b b a
b b
2 0 1
a a
2
Corrigé:
L0 = b L012+ε
L012= b L012+ a L01+ ε
L01 = b L012+ a L01+ ε
b a
b a
0 012 01
b
3. ε/b+/b+a+/b+a+b+/b+a+b+a+/…
C’est une chaine composée d’alternation de séquence de b et de séquence de a
Elle peut être une chaine vide ou une séquence de b.
a, b
3
a b a
a
0 b 1 2
b
Ensuite, en transformant tous les états finaux en états non finaux, et vice-versa, on
obtient l’automate complémentaire à M.
a,b
3
a b a
a
b
0 1 2
Corrigé :
1.
L1 est le Langage reconnaissant les mots contenant un nombre pair de lettres
a.
L2 est le Langage reconnaissant les mots contenant un nombre impair de
lettres b.
2. Automate reconnaissant les mots contenant un nombre pair de lettres a.
M1
b b
a
0 1
a
2 3
b
3. Il s’agit de calculer l’union L(M1) U L(M2). Pour calculer l'union de deux automates, il
faut calculer l'équation qui correspond à chacun des langages. (voir page 39 du
cours).
L(M1) L(M2)
L0=bL0+aL1+ε L2=aL2+bL3
L1=bL1+aL0 L3=aL3+bL2 +ε
L(M1) U L(M2)
02
a b
a b
12 03
a
b a
13
b
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 = (V, Σ, P, S), avec V = {S, T, U, a, b}, Σ = {a, b},
P = {S → aS, S → bT , S → ε, T → bT , T → aU , T → ε, U → aU , U → ε}.
Corrigé :
Rappel
Grammaire associée à un automate fini
Pour tout automate M = (Q, Σ, Δ, q0, F), il existe une grammaire linéaire à droite qui génère
L(M).
G = (VG, ΣG, PG, SG), avec
• ΣG : l'ensemble des symboles terminaux
• VG = QUΣ : l’alphabet. Il y a donc un symbole non terminal pour chaque état de
l'automate
• SG = S, ou S est le symbole non terminal associé à q0
• PG = { A →wB | (A, w, B) ∈ Δ } U{ A→ε | A∈ F }
a b c
0 1 2
b a
Exercice 8 - Soit Σ = {a, b}. Soit l’automate M suivant
a
a b
2
0 1 12
a a
Corrigé :
L0=aL0+aL1
L1=aL0+bL2
L2=aL1+aL2+ε
2. Déterminisons l’automate M
Le système d’équation du système de l’automate M déterminisé est :
L0=a(L0+L1)
L0+L1=a(L0+L1)+bL2
L2=a(L1+L2)+ε
L1+L2=a(L0+L1+L2)+bL2+ε
L0+L1+L2=a(L0+L1+L2)+bL2+ε
L0=a(L0+L1)
L0+L1=a(L0+L1)+bL2
L2=a(L1+L2)+ε
L1+L2=a(L1+L2)+bL2+ε
L’automate M déterminisé
a
b
0 01 2 12
a a a
4. L’automate complémentaire à M
Pour trouver l’automate complémentaire à M, il faut suivre la méthode suivante (p.
35 du cours) :
a) Déterminiser et compléter l'automate
b) Transformer tous les états finaux en états non finaux, et vice-versa
Complétons l’automate ci-dessous :
a,b
b
b a
b
01 2
a a
0 b b
12 a 012
a
Transformons tous les états finaux en états non finaux, et vice-versa
a,b
b b
a
b
01 2
a a
0 b b
12 a 012
Exercice 9 - Soit la grammaire G = (V, Σ, P, S), 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).
Corrigé :
Rappel
Une production de la forme A → a peut être transformée en { A → aU, U → ε }
S → aS, S → aS,
S → bT, S → bT,
S → ε, S → ε,
P S → a, P S → aU,
T → aS, U → ε,
T → bT, T → aS,
T →a T → bT,
T → aV,
V →ε
L’automate M tel que L (G) = L (M) est celui-ci
a
a b
b
S T
a