Vous êtes sur la page 1sur 3

Licence ST Informatique S4 2008/2009

Automates et langages
avril 2009

R esum e du cours 5 : Automates nis de mots 1 Automates et langages reconnaissables


X alphabet Q ensemble ni d etats I Q ensemble d etats initiaux F Q ensemble d etats naux fonction de transition, de Q X dans 2Q .

D enition 1 : Un automate ni de mots est un quintuplet (X, Q, I, F, ), avec

Exemple 1 a a a b q2 b

q0

q1 b

Q = {q0 , q1 , q2 } I = {q0 } F = {q0 , q2 } (q0 , a) = {q1 , q2 } (q0 , b) = {} (q1 , a) = {q2 } (q1 , b) = {q1 } (q2 , a) = {} (q2 , b) = {q0 , q2 }

On etend la fonction au domaine 2Q X : (S, x) =


sS

(s, x)

D enition 2 : Si m est un mot sur X et S un ensemble d etats, on note (S, m) lensemble des etats atteints en lisant m ` a partir des etats de S . Si m = , (S, m) = S Sinon, m = a.m pour a lettre de X , et (S, m) = ( (S, a), m )

Licence ST Informatique S4 2008/2009 : Automates et langages

Exemple 2 Sur lautomate donn e pr ec edemment, ({q0 }, aba) = {q1 , q2 } D enition 3 : Un mot m sur lalphabet X est reconnu par un automate M = (X, Q, I, F, ) si (I, m) F =

Exemple 3 aba est reconnu par lautomate pr ec edent car on peut atteindre l etat nal q2 ` a partir de lensemble I : ({q0 }, aba) F = {q2 }. D enition 4 : Le langage L(M ) reconnu par un automate M est lensemble des mots reconnus par M . D enition 5 : Deux automates sont equivalents sils reconnaissent le m eme langage D enition 6 : Un langage est reconnaissable sil existe un automate qui le reconna t.

Propri et es des automates

D enition 7 : Soit M = (X, Q, I, F, ) un automate et soit q un etat de Q. q est dit accessible sil existe un mot u sur lalphabet X tel que q (I, u), et q est dit coaccessible sil existe un mot u tel que ({q }, u) F = . Proposition 1 : Pour tout automate M , il existe un algorithme permettant de calculer lensemble des ses etats accessibles, not e acc(M ) et lensemble des ses etats coaccessibles, not e coacc(M ). D enition 8 : Un automate est dit emond e si tous ses etats sont accessibles et coaccessibles. Proposition 2 : Pour tout automate M , il existe un automate emond e equivalent. D enition 9 : Un automate M = (X, Q, I, F, ) est complet si pour tout etat q et pour toute lettre x, || ({q }, x)|| 1. Proposition 3 : Pour tout automate M , il existe un automate complet equivalent. Construction : On ajoute a ` M un nouvel etat appel e puits. ` a chaque fois que (q, x) = dans M , on ajoute la transition (q, x) = {puits}. Pour toute lettre x de X , on ajoute (puits, x) = {puits} D enition 10 : Un automate M = (X, Q, I, F, ) est d eterministe si ||I || = 1 et si pour tout etat q et pour toute lettre x, || ({q }, x)|| 1. Proposition 4 : Pour tout automate M , il existe un automate d eterministe equivalent. eterministe equivalent a ` M , en En eet, on peut construire Md = (X, Qd , Id , Fd , d ) automate d d enissant Qd le plus petit ensemble des parties de Q tel que u X , (I, u) Qd . Id = {I }

R esum e du cours 5 : Automates nis de mots


Fd = {s Qd | s F = } x X, s Qd d (s, x) = { (s, x)} Algorithme de d eterminisation : Soit M = (X, Q, I, F, ) un automate non d eterministe Q1 {I } ; Q2 {} TantQue Q1 = Q2 Faire Q3 Q1 Q2 Q2 Q1 Pour s Q3 Faire Pour x X Faire Q1 Q1 { (s, x)} FinPour FinPour FinTantQue des exemples ont et e trait es en cours