automates_finis.pdf
DESCRIPTION
'y-TRANSCRIPT
-
Theorie des langages
Automates finis
Elise Bonzonhttp://web.mi.parisdescartes.fr/vbonzon/
1 / 51Theorie des langages
N
-
Automates finis
Automates finis
IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages
2 / 51Theorie des langages
N
-
Automates finis
Automates finis
IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages
3 / 51Theorie des langages
N
-
Automates finis
Introduction
Automate fini : machine abstraite qui effectue des calculs en utilisant unememoire de taille bornee.
Il nest pas possible daugmenter la taille de la memoire au dela` de cetteborne
Les tailles des donnees et des resultats peuvent etre superieurs a` cetteborne puisque les donnees sont lues et les resultats produitsprogressivement au cours du calcul
La longueur dun calcul peut aussi etre superieure a` la taille de la memoirede lautomate
Celui-ci passe alors necessairement plusieurs fois par un meme etat de samemoire
4 / 51Theorie des langages
N
-
Automates finis
Introduction
Les automates finis ont des applications importantes :
Definition de certains aspects des langages naturels ou artificielsDescription de machines physiques (circuits electroniques, machines a`calculer, distributeur dobjets, etc.)Definition de protocoles de communication dans des reseauxDescription de syste`mes de commandes (comme le syste`me de commandesdun ascenseur), etc.
Les automates finis peuvent etre utilises pour calculer des fonctions, oupour reconnatre des langages.
5 / 51Theorie des langages
N
-
Automates finis
Automates finis
IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages
6 / 51Theorie des langages
N
-
Automates finis
Automate fini deterministe
Automate fini deterministe
Un automate fini deterministe est un quintuplet M = Q,, , q0,F ou`
Q est un ensemble fini detats
est un ensemble fini de symboles (un alphabet)
: Q Q est une fonction de transitionsq0 Q est letat initialF Q est lensemble (fini) des etats finaux
Une paire (q,w), ou` q Q est un etat, et w est un alphabet estappele une configuration.
7 / 51Theorie des langages
N
-
Automates finis
Automate fini deterministe
Automate fini deterministe
Un automate fini deterministe est un quintuplet M = Q,, , q0,F ou`
Q est un ensemble fini detats
est un ensemble fini de symboles (un alphabet)
: Q Q est une fonction de transitionsq0 Q est letat initialF Q est lensemble (fini) des etats finaux
Une paire (q,w), ou` q Q est un etat, et w est un alphabet estappele une configuration.
7 / 51Theorie des langages
N
-
Automates finis
Derivation
Configuration derivable en une etape
Soit M un automate, q, q Q deux etats, w ,w deux mots et(q,w), (q,w ) les deux configurations correspondantes.On dit que la configuration (q,w ) est derivable en une etape de laconfiguration (q,w) par M, note (q,w) 7 (q,w ), si
w = xw , avec x M est dans letat q
q = (q, x)
On dit alors quon lit la lettre x .
8 / 51Theorie des langages
N
-
Automates finis
Derivation
Configuration derivable
Soit M un automate, q, q Q deux etats, w ,w deux mots et(q,w), (q,w ) les deux configurations correspondantes.On dit que la configuration (q,w ) est derivable de la configuration(q,w) par M, note (q,w)
7 (q,w ), si k 0 et k configurations(qi ,wi ), 1 i k telles que
(q,w) = (q1,w1)
(q,w ) = (qk ,wk)
i , 1 i k, (qi ,wi ) 7 (qi+1,wi+1)
9 / 51Theorie des langages
N
-
Automates finis
Reconnaissance dun mot
Reconnaissance dun mot par un automate
La reconnaissance dun mot w par un automate M (appelee aussiexecution dun automate M sur un mot w) est la suite des configura-tions :
(q0,w) 7 (q1,w1) 7 (q2,w2) 7 . . . 7 (qn, )
10 / 51Theorie des langages
N
-
Automates finis
Langage reconnu par un automate
Mot accepte par un automate
Un mot w est accepte par un automate si et seulement si
(q0,w)7 (q, ) avec q F
Langage accepte par un automate
Le langage accepte par un automate M, note L(M), est defini par
L(M) = {w |(q0,w) 7 (q, ) avec q F}
11 / 51Theorie des langages
N
-
Automates finis
Langage reconnu par un automate
Mot accepte par un automate
Un mot w est accepte par un automate si et seulement si
(q0,w)7 (q, ) avec q F
Langage accepte par un automate
Le langage accepte par un automate M, note L(M), est defini par
L(M) = {w |(q0,w) 7 (q, ) avec q F}
11 / 51Theorie des langages
N
-
Automates finis
Langage reconnu par un automate
ATTENTION
Plutot que langage accepte par un automate M, on parle souventde langage reconnu par lautomate M. Il sagit pourtant toujours delensemble des mots acceptes par lautomate, et non pas les mots re-connus par lautomate.
12 / 51Theorie des langages
N
-
Automates finis
Automates finis
IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages
13 / 51Theorie des langages
N
-
Automates finis
Notations
Etat initial
q0
Etat final (2 notations possible)
q q
Transition entre letat p et q : (p, a) = q
p qa
14 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M1
q0 q1
ba
a
15 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M1
q0 q1
ba
a
Est-ce que M1 reconnait aaba ? accepte aaba ?
15 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M1
q0 q1
ba
a
Est-ce que M1 reconnait aaba ? accepte aaba ?
Est-ce que M1 reconnait abba ? accepte abba ?
15 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M1
q0 q1
ba
a
Est-ce que M1 reconnait aaba ? accepte aaba ?
Est-ce que M1 reconnait abba ? accepte abba ?
Est-ce que M1 reconnait baab ? accepte baab ?
15 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M1
q0 q1
ba
a
Est-ce que M1 reconnait aaba ? accepte aaba ?
Est-ce que M1 reconnait abba ? accepte abba ?
Est-ce que M1 reconnait baab ? accepte baab ?
L(M1) = {w {a, b}|w ne contient pas deux b consecutifs}
15 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M2
q0 q1 q2
ba
a
b
a,b
16 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M2
q0 q1 q2
ba
a
b
a,b
Est-ce que M2 reconnait abba ? accepte abba ?
16 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M2
q0 q1 q2
ba
a
b
a,b
Est-ce que M2 reconnait abba ? accepte abba ?
Est-ce que M2 reconnait aaba ? accepte aaba ?
16 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M2
q0 q1 q2
ba
a
b
a,b
Est-ce que M2 reconnait abba ? accepte abba ?
Est-ce que M2 reconnait aaba ? accepte aaba ?
L(M2) = {w {a, b}|w contient deux b consecutifs}
16 / 51Theorie des langages
N
-
Automates finis
Automates finis
IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages
17 / 51Theorie des langages
N
-
Automates finis
Automate complet
Automate complet
Un automate est complet si pour tout etat q Q il existe unetransition pour chaque lettre de lalphabet .
q Q, x , (q, x) est defini
18 / 51Theorie des langages
N
-
Automates finis
Exemple
= {a, b}Lautomate M1 est-il complet?
q0 q1
ba
a
Lautomate M2 est-il complet?
q0 q1 q2
ba
a
b
a,b
19 / 51Theorie des langages
N
-
Automates finis
Etats puits et poubelles
Etat puit
Un etat puits est un etat q Q pour lequel toutes les transitions sontde la forme (q, x) = q.
Etat puits de M2?
Etat poubelle
Un etat poubelle est un etat puits non final.
Pour = {a, b}
q0
a,b
20 / 51Theorie des langages
N
-
Automates finis
Etats puits et poubelles
Etat puit
Un etat puits est un etat q Q pour lequel toutes les transitions sontde la forme (q, x) = q.
Etat puits de M2?
Etat poubelle
Un etat poubelle est un etat puits non final.
Pour = {a, b}
q0
a,b
20 / 51Theorie des langages
N
-
Automates finis
Etats puits et poubelles
Etat puit
Un etat puits est un etat q Q pour lequel toutes les transitions sontde la forme (q, x) = q.
Etat puits de M2?
Etat poubelle
Un etat poubelle est un etat puits non final.
Pour = {a, b}
q0
a,b
20 / 51Theorie des langages
N
-
Automates finis
Etats puits et poubelles
Etat puit
Un etat puits est un etat q Q pour lequel toutes les transitions sontde la forme (q, x) = q.
Etat puits de M2?
Etat poubelle
Un etat poubelle est un etat puits non final.
Pour = {a, b}
q0
a,b
20 / 51Theorie des langages
N
-
Automates finis
Automates equivalents
Automates equivalents
Deux automates M et M sont equivalents si et seulement si L(M) =L(M ).
Propriete
Pour tout automate fini, il existe un automate fini complet equivalent
Si lautomate nest pas complet, on le comple`te en ajoutant un etatpoubelle
21 / 51Theorie des langages
N
-
Automates finis
Automates equivalents
Automates equivalents
Deux automates M et M sont equivalents si et seulement si L(M) =L(M ).
Propriete
Pour tout automate fini, il existe un automate fini complet equivalent
Si lautomate nest pas complet, on le comple`te en ajoutant un etatpoubelle
21 / 51Theorie des langages
N
-
Automates finis
Automates equivalents
Automates equivalents
Deux automates M et M sont equivalents si et seulement si L(M) =L(M ).
Propriete
Pour tout automate fini, il existe un automate fini complet equivalent
Si lautomate nest pas complet, on le comple`te en ajoutant un etatpoubelle
21 / 51Theorie des langages
N
-
Automates finis
Exemple
Lautomate M1.
q0 q1
ba
a
22 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M1.
q0 q1
ba
a
Automate M1 complete
q0 q1 q2
ba
a
b
a,b
22 / 51Theorie des langages
N
-
Automates finis
Automates complets
Propriete
Pour un automate complet, la reconnaissance dun mot ne bloquejamais.
(q0,w) 7 (q1,w1) 7 (q2,w2) 7 . . . 7 (qn, )On a deux possibilites
Soit qn F , et w est un mot accepteSoit qn 6 F , et w nest pas un mot accepte
23 / 51Theorie des langages
N
-
Automates finis
Automates finis
IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages
24 / 51Theorie des langages
N
-
Automates finis
Langage genere par un automateUn automate peut etre vu comme un mecanisme decrivant, ougenerant, un langage
Langage genere a` partir dun etat par un automate
Le langage genere a` partir dun etat q par un automate M, noteL(q) est lensemble des mots acceptes a` partir de cet etat.
L(q) = Lq = {w |(q,w) 7 (q, ) et q F}
Langage genere par un automate
Le langage genere par un automate M est defini par
L(M) = L(q0)
Remarque : Soit q un etat poubelle. L(q) = .
25 / 51Theorie des langages
N
-
Automates finis
Langage genere par un automateUn automate peut etre vu comme un mecanisme decrivant, ougenerant, un langage
Langage genere a` partir dun etat par un automate
Le langage genere a` partir dun etat q par un automate M, noteL(q) est lensemble des mots acceptes a` partir de cet etat.
L(q) = Lq = {w |(q,w) 7 (q, ) et q F}
Langage genere par un automate
Le langage genere par un automate M est defini par
L(M) = L(q0)
Remarque : Soit q un etat poubelle. L(q) = .
25 / 51Theorie des langages
N
-
Automates finis
Langage genere par un automateUn automate peut etre vu comme un mecanisme decrivant, ougenerant, un langage
Langage genere a` partir dun etat par un automate
Le langage genere a` partir dun etat q par un automate M, noteL(q) est lensemble des mots acceptes a` partir de cet etat.
L(q) = Lq = {w |(q,w) 7 (q, ) et q F}
Langage genere par un automate
Le langage genere par un automate M est defini par
L(M) = L(q0)
Remarque : Soit q un etat poubelle. L(q) = .
25 / 51Theorie des langages
N
-
Automates finis
Langage genere par un automateUn automate peut etre vu comme un mecanisme decrivant, ougenerant, un langage
Langage genere a` partir dun etat par un automate
Le langage genere a` partir dun etat q par un automate M, noteL(q) est lensemble des mots acceptes a` partir de cet etat.
L(q) = Lq = {w |(q,w) 7 (q, ) et q F}
Langage genere par un automate
Le langage genere par un automate M est defini par
L(M) = L(q0)
Remarque : Soit q un etat poubelle. L(q) = .25 / 51
Theorie des langages
N
-
Automates finis
Syste`me dequations definissant un lan-gage
Equation definissant un langage genere a` partir dun etat
Le langage genere a` partir dun etat q par un automate M est definipar une equation de la forme :
L(q) = Lq = (x
x .L((q, x))) + d(L(q))
ou` d(A) =
{ si 6 A si A
Exemple : Pour M1 complete L(q0) = aL(q0) + bL(q1) + L(q1) = aL(q0) + bL(q2) + = aL(q0) + car L(q2) = L(q2) = aL(q2) + bL(q2) + = car q2 est un etat poubelle
26 / 51Theorie des langages
N
-
Automates finis
Syste`me dequations definissant un lan-gage
Equation definissant un langage genere a` partir dun etat
Le langage genere a` partir dun etat q par un automate M est definipar une equation de la forme :
L(q) = Lq = (x
x .L((q, x))) + d(L(q))
ou` d(A) =
{ si 6 A si A
Exemple : Pour M1 complete L(q0) = aL(q0) + bL(q1) + L(q1) = aL(q0) + bL(q2) + = aL(q0) + car L(q2) = L(q2) = aL(q2) + bL(q2) + = car q2 est un etat poubelle
26 / 51Theorie des langages
N
-
Automates finis
Automates finis
IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages
27 / 51Theorie des langages
N
-
Automates finis
Automate fini non deterministe
Automate fini non deterministe
Un automate fini non deterministe est un quintuplet M =Q,,,S ,F ou`
Q est un ensemble fini detats
est un ensemble fini de symboles (un alphabet)
(Q Q) est une relation de transitionsS Q est lensemble (fini) des etat initiauxF Q est lensemble (fini) des etats finaux
Differences avec un automate fini deterministe :
Plusieurs etats de depart possible
Ce nest plus une fonction de transition, mais une relation de transition.
28 / 51Theorie des langages
N
-
Automates finis
Automate fini non deterministe
Automate fini non deterministe
Un automate fini non deterministe est un quintuplet M =Q,,,S ,F ou`
Q est un ensemble fini detats
est un ensemble fini de symboles (un alphabet)
(Q Q) est une relation de transitionsS Q est lensemble (fini) des etat initiauxF Q est lensemble (fini) des etats finaux
Differences avec un automate fini deterministe :
Plusieurs etats de depart possible
Ce nest plus une fonction de transition, mais une relation de transition.
28 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M3
q0
q1
q2
q3
b
a
a,bb
a
a,b
abb L(M3)
29 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M3
q0
q1
q2
q3
b
a
a,bb
a
a,b
abb L(M3)
29 / 51Theorie des langages
N
-
Automates finis
Automate fini non deterministe
Propriete
Pour tout automate fini non deterministe M, il existe un automate finideterministe M equivalent.
L(M) = L(M )
30 / 51Theorie des langages
N
-
Automates finis
Exemple : automate M3
q0
q1
q2
q3
b
a
a,bb
a
a,b
Determinisons M3 L0 = aL0 + bL0 + aL2 + bL1L1 = bL3L2 = aL3L3 = aL3 + bL3 +
31 / 51Theorie des langages
N
-
Automates finis
Exemple : automate M3
Determinisons M3 L0 = aL0 + bL0 + aL2 + bL1L1 = bL3L2 = aL3L3 = aL3 + bL3 +
On sait que L(M3) = L0. On a donc
L0 = a(L0 + L2) + b(L0 + L1)L0 + L2 = a(L0 + L2 + L3) + b(L0 + L1)L0 + L1 = a(L0 + L2) + b(L0 + L1 + L3)L0 + L2 + L3 = a(L0 + L2 + L3) + b(L0 + L1 + L3) + L0 + L1 + L3 = a(L0 + L2 + L3) + b(L0 + L1 + L3) + L0 + L1 + L3 = L0 + L2 + L3
32 / 51Theorie des langages
N
-
Automates finis
Exemple : automate M3L0 = a(L0 + L2) + b(L0 + L1)L0 + L2 = a(L0 + L2 + L3) + b(L0 + L1)L0 + L1 = a(L0 + L2) + b(L0 + L2 + L3)L0 + L2 + L3 = a(L0 + L2 + L3) + b(L0 + L2 + L3) +
On obtient lautomate suivant :
0
01
02
023
b
a
b
a
a
b
a,b
33 / 51Theorie des langages
N
-
Automates finis
Automates finis
IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages
34 / 51Theorie des langages
N
-
Automates finis
Complementation
Complementation
Pour tout automate fini M, il existe un automate fini M tel queL(M ) = L(M)
Interet : pour tout automate complet et deterministe M, et pour toutmot w X , il existe une derivation (s,w) 7 (q, ) telle que
soit q F et w L(M)soit q 6 F et w 6 L(M)
Permet de pouvoir reconnaitre tous les mots de X qui ne sont pasreconnus par M.Methode :
1. Determiniser et completer lautomate
2. Transformer tous les etats finaux en etats non finaux, et vice-versa
35 / 51Theorie des langages
N
-
Automates finis
Complementation
Complementation
Pour tout automate fini M, il existe un automate fini M tel queL(M ) = L(M)
Interet : pour tout automate complet et deterministe M, et pour toutmot w X , il existe une derivation (s,w) 7 (q, ) telle que
soit q F et w L(M)soit q 6 F et w 6 L(M)
Permet de pouvoir reconnaitre tous les mots de X qui ne sont pasreconnus par M.
Methode :
1. Determiniser et completer lautomate
2. Transformer tous les etats finaux en etats non finaux, et vice-versa
35 / 51Theorie des langages
N
-
Automates finis
Complementation
Complementation
Pour tout automate fini M, il existe un automate fini M tel queL(M ) = L(M)
Interet : pour tout automate complet et deterministe M, et pour toutmot w X , il existe une derivation (s,w) 7 (q, ) telle que
soit q F et w L(M)soit q 6 F et w 6 L(M)
Permet de pouvoir reconnaitre tous les mots de X qui ne sont pasreconnus par M.Methode :
1. Determiniser et completer lautomate
2. Transformer tous les etats finaux en etats non finaux, et vice-versa
35 / 51Theorie des langages
N
-
Automates finis
Exemple : Complementation
Automate M1 complete
q0 q1 q2
ba
a
b
a,b
36 / 51Theorie des langages
N
-
Automates finis
Exemple : Complementation
Automate M1 complete
q0 q1 q2
ba
a
b
a,b
Automate complementaire a` M1 complete
q0 q1 q2
ba
a
b
a,b
36 / 51Theorie des langages
N
-
Automates finis
Automate avec transition instantanee
Automate avec transition instantanee
Une transition instantanee ou -transition permet de passer dunetat a` un autre sans lire de symbole sur le ruban dentree.
Une -transition permet dajouter a` un etat les comportements de letatcible (transition et eventuellement etat final).
37 / 51Theorie des langages
N
-
Automates finis
Automate avec transition instantanee
Automate avec transition instantanee
Une transition instantanee ou -transition permet de passer dunetat a` un autre sans lire de symbole sur le ruban dentree.
Une -transition permet dajouter a` un etat les comportements de letatcible (transition et eventuellement etat final).
37 / 51Theorie des langages
N
-
Automates finis
Exemple : transition instantanee
q0 q2
q1
q3
q4
q5
a
a
a
b
38 / 51Theorie des langages
N
-
Automates finis
Union de deux automates
Union
Soit deux automates finis A1 et A2. Il existe un automate fini quireconnait L(A1) L(A2).
Pour calculer lunion de deux automates, il faut calculer lequation quicorrespond a` chacun des langages.
39 / 51Theorie des langages
N
-
Automates finis
Union de deux automates
Union
Soit deux automates finis A1 et A2. Il existe un automate fini quireconnait L(A1) L(A2).
Pour calculer lunion de deux automates, il faut calculer lequation quicorrespond a` chacun des langages.
39 / 51Theorie des langages
N
-
Automates finis
Exemple : Union
M4 M5
0 1a
a,b
2 3
ba
a
b
40 / 51Theorie des langages
N
-
Automates finis
Exemple : Union
M4 M5
0 1a
a,b
2 3
ba
a
b
L(M4){
L0 = aL1L1 = aL1 + bL1 +
L(M5){
L2 = aL2 + bL3L3 = aL2 + bL3 +
40 / 51Theorie des langages
N
-
Automates finis
Exemple : Union
0 1a
a,b
2 3
ba
a
b
L(M4){
L0 = aL1L1 = aL1 + bL1 +
L(M5){
L2 = aL2 + bL3L3 = aL2 + bL3 +
L(M4)L(M5) = L0 + L2
L0 + L2 = a(L1 + L2) + bL3L1 + L2 = a(L1 + L2) + b(L1 + L3) + L1 + L3 = a(L1 + L2) + b(L1 + L3) +
= L1 + L2L3 = aL2 + bL3 + L2 = aL2 + bL3
40 / 51Theorie des langages
N
-
Automates finis
Exemple : Union
L(M4) L(M5)
L0 + L2 = a(L1 + L2) + bL3L1 + L2 = a(L1 + L2) + b(L1 + L3) + L3 = aL2 + bL3 + L2 = aL2 + bL3
41 / 51Theorie des langages
N
-
Automates finis
Exemple : Union
L(M4) L(M5)
L0 + L2 = a(L1 + L2) + bL3L1 + L2 = a(L1 + L2) + b(L1 + L3) + L3 = aL2 + bL3 + L2 = aL2 + bL3
0+2
3 2
1+2
b
a
b
a
a
b
a,b
41 / 51Theorie des langages
N
-
Automates finis
Intersection de deux automates
Intersection
Soit deux automates finis A1 et A2 qui reconnaissent L(A1) et L(A2).Alors, il existe un automate fini qui reconnait L(A1) L(A2).
L(A1) L(A2) = L(A1) L(A2)
42 / 51Theorie des langages
N
-
Automates finis
Intersection de deux automates
Intersection
Soit deux automates finis A1 et A2 qui reconnaissent L(A1) et L(A2).Alors, il existe un automate fini qui reconnait L(A1) L(A2).
L(A1) L(A2) = L(A1) L(A2)
42 / 51Theorie des langages
N
-
Automates finis
Produit de deux automates
Produit
Soit deux automates finis A1 et A2 qui reconnaissent L(A1) et L(A2).Alors, il existe un automate fini qui reconnait L(A1).L(A2).
43 / 51Theorie des langages
N
-
Automates finis
Exemple : Produit
0 1a
a,b
2 3
ba
a
b
L(M4){
L0 = aL1L1 = aL1 + bL1 +
L(M5){
L2 = aL2 + bL3L3 = aL2 + bL3 +
44 / 51Theorie des langages
N
-
Automates finis
Exemple : Produit
0 1a
a,b
2 3
ba
a
b
L(M4){
L0 = aL1L1 = aL1 + bL1 +
L(M5){
L2 = aL2 + bL3L3 = aL2 + bL3 +
L(M4).L(M5) = L0L2
L0L2 = aL1L2L1L2 = aL1L2 + bL1L2 + L2
= aL1L2 + bL1L2 + aL2 + bL3= a(L1L2 + L2) + b(L1.L2 + L3)
L1L2 + L2 = a(L1L2 + L2 + L2) + b(L1L2 + L3 + L3)L1L2 + L3 = a(L1L2 + L2) + b(L1L2 + L3) +
44 / 51Theorie des langages
N
-
Automates finis
Exemple : Produit
L(M4).L(M5) L0.L2 = aL1.L2L1.L2 = a(L1.L2) + b(L1.L2 + L3)
L1L2 + L3 = a(L1.L2) + b(L1.L2 + L3) +
45 / 51Theorie des langages
N
-
Automates finis
Exemple : Produit
L(M4).L(M5) L0.L2 = aL1.L2L1.L2 = a(L1.L2) + b(L1.L2 + L3)
L1L2 + L3 = a(L1.L2) + b(L1.L2 + L3) +
0.2 1.2
1.2+3
aa
b
b
a
45 / 51Theorie des langages
N
-
Automates finis
Automates finis
IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages
46 / 51Theorie des langages
N
-
Automates finis
Transformation dun automate fini engrammaire
Grammaire associee a` un automate fini
Pour tout automate M = Q,,, q0,F , il existe une grammairelineaire a` droite qui gene`re L(M).G = VG ,G ,PG ,SG , avec
G = lensemble des symboles terminaux
VG = Q lalphabet. Il y a donc un symbole non terminal pourchaque etat de lautomate
SG = S , ou` S est le symbole non terminal associe a` q0
PG = {A wB|(A,w ,B) } {A |A F}
47 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M1.
q0 q1
ba
a
L(M1) : L0 = aL0 + bL1 + ; L1 = aL0 +
48 / 51Theorie des langages
N
-
Automates finis
Exemple
Automate M1.
q0 q1
ba
a
L(M1) : L0 = aL0 + bL1 + ; L1 = aL0 + GM1 = VG ,G ,PG , SG , avec VG = {a, b,S ,U}; G = {a, b}; SG = S ;
PG =
S aSS bUS U aSU
48 / 51Theorie des langages
N
-
Automates finis
Transformation dune grammairelineaire a` droite en automate
Automate associe a` une grammaire lineaire a` droite
Pour toute grammaire lineaire a` droite G = VG ,G ,PG ,SG , il existeun automate M = Q,,,S ,F qui reconnat L(G ).
Q : Un etat pour chaque symbole non terminal. Letat initial estletat correspondant a` laxiome SG
F : Les etats finaux sont les etats dont les non terminaux associes ontune re`gle du type A Il est ensuite possible de construire le syste`me dequationcorrespondant a` lautomate
49 / 51Theorie des langages
N
-
Automates finis
Exemple
G = VG ,G ,PG , SG , avec VG = {a, b, S ,U}; G = {a, b}; SG = S ;
PG =
S bSS aUS bU aSU bU
50 / 51Theorie des langages
N
-
Automates finis
Exemple
G = VG ,G ,PG , SG , avec VG = {a, b, S ,U}; G = {a, b}; SG = S ;
PG =
S bSS aUS bU aSU bU
50 / 51Theorie des langages
N
-
Automates finis
Exemple
G = VG ,G ,PG , SG , avec VG = {a, b, S ,U}; G = {a, b}; SG = S ;
PG =
S bSS aUS bU aSU bU
G = V G ,G ,P G , S G , avec V G = {a, b, S ,U,V }; G = {a, b}; S G = S ;
PG =
S bSS aUS bVV U aSU bU
50 / 51Theorie des langages
N
-
Automates finis
Exemple
G = V G ,G ,P G , S G , avec V G = {a, b, S ,U,V }; G = {a, b}; S G = S ;
PG =
S bSS aUS bVV U aSU bU
51 / 51Theorie des langages
N
-
Automates finis
Exemple
G = V G ,G ,P G , S G , avec V G = {a, b, S ,U,V }; G = {a, b}; S G = S ;
PG =
S bSS aUS bVV U aSU bU
Automate M.
S UV
a
b
b
a
b
51 / 51Theorie des langages
N
Automates finisIntroductionFormalisationReprsentation et exemplesAutomates completsLangage gnr par un automateAutomate fini non dterministeOprations sur les automatesAutomates finis et langages