CH.1 Automtes finis 1.1 Les utomtes finis déterministes 1.2 Les utomtes finis non déterministes 1. Les utomtes vec -trnsitions 1.4 Les expressions régulières 1.5 L'équivlence des modèles Automtes ch1 1 1.1 Les utomtes finis déterministes M = (Q, Σ, δ, q 0, F) est un AFD Q ensemle fini d étts Σ lphet fini q 0 étt initil F ensemle des étts terminux δfonction de trnsition Q x Σ Q Fonction de trnsition étendue ux mots : 1 δ'(q, ) = q 2 δ'(q, w) = δ(δ'(q, w), ) Les deux coïncident sur les lettres Automtes ch1 2
Mot x ccepté ou reconnu si δ'(q 0, x) est terminl. Reconnissnce de x en temps O(n). Lngge ccepté L(M) = ensemle des mots cceptés. Lngge reconnissle = lngge ccepté pr un AFD Exemple L(M) = mots se terminnt pr 0 1 2 Automtes ch1 1.2 Les utomtes finis non déterministes A priori plus générl. Utilité théorique, mis ussi plus fcile à construire. Mis plus coûteux à utiliser. M = (Q, Σ, δ, q 0, F) est un AFN Seule différence : δfonction de trnsition Q x Σ 2 Q Fonction de trnsition étendue ux mots : 1 δ'(q, ) = {q} 2 δ'(q, w) = {p : r δ'(q, w) et p δ(r, )} Les deux coïncident sur les lettres δ'(p, w) = δ'(q, w) Automtes ch1 4
Exemple L(N) = mots se terminnt pr, 0 1 2 Mot x ccepté ou reconnu si δ'(q 0, x) contient un étt terminl = il existe un chemin de q 0 vers un étt terminl dont l suite des étiquettes vut x. Reconnissnce de x en temps O(2 n ). Lngge ccepté L(N) = ensemle des mots cceptés. Théorème : Si L est ccepté pr un AFN, lors il est ccepté pr un AFD. Automtes ch1 5 1. Les utomtes vec e-trnsitions Comme les AFN, mis il peut ussi y voir des trnsitions sur le mot vide. Exemple L(N) = mots se terminnt pr 1 2 7 5 6 8 9 10 11 4 Automtes ch1 6
Mot x ccepté ou reconnu s'il existe un chemin de q 0 vers un étt terminl dont l suite des étiquettes vut x. Le mot vide est neutre pour l concténtion, donc tous les chemins ne sont ps de longueur n. Reconnissnce de x en temps O(2 n ). Lngge ccepté L(N) = ensemle des mots cceptés. Notion importnte : l e-clôture. clot(q) = {p : il existe un chemin étiqueté de q à p} L détermintion de l -clôture se fit pr un lgorithme d'explortion du grphe otenu en ne conservnt que les trnsitions vides. Automtes ch1 7 Théorème : Si L est ccepté pr un AFN vec -trnsitions, lors il est ccepté pr un AFN sns -trnsitions. Corollire : Les lngges cceptés pr les AFD, les AFN sns -trnsitions et les AFN vec -trnsitions coïncident. Automtes ch1 8
1.4 Les expressions régulières Elles permettent de spécifier priori un lngge, lors que les utomtes permettent de tester l'pprtennce d'un mot à un lngge déjà spécifié. Opértions régulières sur les lngges : - réunion ensemliste ou + - produit de concténtion - fermeture trnsitive * Les expressions régulières sont des chînes de crctères contituées de lettres et de, de prenthèses et de symoles opértoires +,. ou <rien>, *. Cette chîne peut être vide, notée. Automtes ch1 9 Expressions régulières : i) L expression régulière représente{}; ii) Si est une lettre, lors c est une expression régulière qui représente{} ; iii) Si r et s sont des expressions régulières qui représentent L(r) et L(s), lors : r + s représente L(r) L(s) (ou r s) rs représente L(r)L(s) r* représente L(r)*. Lngge régulier = lngge représenté pr expression régulière. Tous les lngges finis sont réguliers. Automtes ch1 10
Exemples : ( + )* représente tous les mots sur {, } *(*)* représente le même lngge ( + )* représente les mots se terminnt pr. Théorème : Tout lngge régulier est reconnissle pr un AFN vec -trnsitions. Corollire : Tout lngge régulier est reconnissle. Démonstrtion : Algorithme de Thompson Décrit l'ssemlge des utomtes correspondnt ux opértions sur les expressions régulières. Exemple : on retrouve l'afn vec -trnsitions de l p.6 à prtir de r = ( + )*. Automtes ch1 11 pour : N() pour : N() pour r + s : N(r + s ) N(r) N(s) pour rs : N(rs) N(r) N(s) pour r* : N(r*) N(r) Automtes ch1 12
1.5 L'équivlence des modèles Démonstrtions des théorèmes des prgrphes 2 et. Théorème : Si L est ccepté pr un AFN, lors il est ccepté pr un AFD. Démonstrtion : Donnée : un AFN sns -trnsition N. Résultt : un AFD M cceptnt le même lngge. Les étts de M sont des ensemles d'étts de N. L'étt initil de M est [q 0 ]. Si P est un ensemle d'étts de N, on définit δ'(p, ) = p P {q : q δ(p, )}. Ceci définit récursivement un l'ensemle des étts de M. Un étt P de M est terminl s'il contient un étt terminl de N. Automtes ch1 1 Remrques : Si P =, c'est un étt "pouelle" de M. Si δ'(p, ) = Q, lors tout étt de N qui pprît dns Q peut être tteint à prtir d'un étt qui pprît dns P pr une flèche étiquetée. Cette dernière remrque permet d'étlir que δ'([q 0 ], w) est finl dns M si et seulement si il existe dns N un chemin étiqueté w de q 0 à un étt terminl de N. Ceci étlit le théorème. Exemple : utomte du prgrphe 2. Automtes ch1 14
, 0 1 2 0 0,1 0,1,2 0, On retrouve l'afd du prgrphe 1. Automtes ch1 15 Théorème : Si L est ccepté pr un AFN vec -trnsitions, lors il est ccepté pr un AFD. Démonstrtion : Donnée : un AFN vec -trnsition N. Résultt : un AFD M cceptnt le même lngge. Les étts de M sont des ensemles d'étts de N. Il fut fire ttention ux -clôtures. L'étt initil de M est Clot([q 0 ]). Si P est un ensemle d'étts de N, on définit δ'(p, ) = p P Clot({q : q δ(p, )}). Ceci définit récursivement un l'ensemle des étts de M. Un étt P de M est terminl s'il contient un étt terminl de N. Automtes ch1 16
Remrques : Si δ'(p, ) = Q, lors tout étt de N qui pprît dns Q peut être tteint à prtir d'un étt qui pprît dns P pr une flèche étiquetée ou pr un chemin étiqueté Cette dernière remrque permet d'étlir que δ'(clot([q 0 ]), w) est finl dns M si et seulement si il existe dns N un chemin étiqueté w de q 0 à un étt terminl de N. Ceci étlit le théorème. Exemple : utomte du prgrphe, construit pr l'lgorithme de Thompson à prtir de l'expression ( + )*. Automtes ch1 17 1 2 7 5 6 8 9 10 11 4 Les étts sont constitués des étts de N tteints et de leur -clôture. L'AFD insi otenu est un peu plus compliqué que précédemment. 7 5 8 1 2 9 4 6 5 8 1 6 5 8 1 6 2 5 9 8 10 1 4 11 6 5 8 1 Automtes ch1 18
On insi étli que pour tout lngge représenté pr une expression régulière on peut trouver un AFD qui le reconnît. On v mintennt montrer l réciproque. On ur insi étli le Théorème de Kleene : Les lngges réguliers coïncident vec les lngges reconnissles. Démonstrtion : Il reste à montrer que tout lngge reconnissle pr un utomte fini peut être décrit pr une expression régulière. Ceci est étli pr un lgorithme. Donnée : Un utomte fini M. Résultt : Une expression régulière décrivnt L(M). L'lgorithme ne suppose ps que l'utomte soit déterministe. Automtes ch1 19 On définit un utomte générlisé comme un grphe vec un seul étt initil α et un seul étt terminl ω, dont les flèches sont étiquetées pr des expressions régulières. Un mot w est reconnu pr un utomte générlisé s'il existe un chemin llnt de α à ω tel que w pprtient u lngge décrit pr le produit des expressions régulières pprissnt comme étiquettes de ce chemin. Le lngge reconnu est l'ensemle des mots reconnus. Deux utomtes sont équivlents lorsqu'ils reconnissent le même lngge. On peut fcilement trnsformer un utomte M ordinire en utomte générlisé : il suffit d'jouter les étts α et ω et des -trnsitions de α vers l'étt initl de M et des étts terminux de M vers ω. Le lngge reconnu est ien le même selon les deux définitions. Automtes ch1 20
Etnt donné un utomte générlisé, on v trouver un utomte équivlent ynt moins de flèches ou d'étts, en ppliqunt les trnsformtions ci-dessous. Réduction des flèches : Avnt Après r s r + s Réduction des étts : on enlève k ; pour chque couple d'un prédécesseur de k et d'un successeur de k, fire : Avnt s Après r t i k j i rs*t j Automtes ch1 21 Le lngge reconnu n'est ps modifié. En prtnt d'un utomte ordinire, les étts joutés α et ω restent toujours respectivement sns prédécesseur ni sns successeur. A l fin on otient donc un utomte vec deux étts α et ω et une seule flèche. Cette flèche est constituée d'une expression régulière. Comme l'utomte est équivlent à M, c'est une expression régulière décrivnt le lngge L(M). Ceci termine l démonstrtion du théorème de Kleene. Remrques : L'expression régulière otenue dépend du choix des étts à réduire. Les expressions otenues à prtir d'afn sont souvent plus simples surtout s'il y moins de flèches. Automtes ch1 22
Exemple : L(M) = nomre impir de 0 1 Adjonction de α et ω α 0 1 ω + * Suppression 0 de l'étt 1 α * ω Suppression de l'étt 0 α ( +*)** ω Donc L(M) peut être représenté pr ( + *)**. Automtes ch1 2