Automates finis Automates et Logiques Cédric Lhoussaine University of Lille, France Printemps 2012
1 Introduction 2 Automates finis déterministes (AFD) 3 Automates finis non déterministes (AFN) Définitions Équivalence entre AFD et AFN 4 Automates finis non-déterministes avec ɛ-transitions (ɛ-afn) Définition Équivalence entre AFD et ɛ-afn
1 Introduction 2 Automates finis déterministes (AFD) 3 Automates finis non déterministes (AFN) Définitions Équivalence entre AFD et AFN 4 Automates finis non-déterministes avec ɛ-transitions (ɛ-afn) Définition Équivalence entre AFD et ɛ-afn
Automate fini déterministe Un automate fini déterministe (AFD) A est une quintuplet A = (Q, Σ, δ, q 0, F ) où Q est un ensemble fini d états; Σ est un alphabet; δ : Q Σ Q est la fonction de transition; q 0 Q est l état initial; F Q est l ensemble des états acceptants ou finaux.
Langage reconnu ˆδ est l extension de la fonction de transition δ aux mots définie par: ˆδ : Q Σ Q (q, ɛ) q (q, xw) ˆδ(δ(q, x), w) Soit A = (Q, Σ, δ, q 0, F) un AFD, le langage reconnu par A, noté (A), est défini par (A) = {w ˆδ(q 0, w) F}
Langage reconnaissable On dit qu un langage L est reconnaissable s il existe un AFD A tel que (A) = L.
Définitions 1 Introduction 2 Automates finis déterministes (AFD) 3 Automates finis non déterministes (AFN) Définitions Équivalence entre AFD et AFN 4 Automates finis non-déterministes avec ɛ-transitions (ɛ-afn) Définition Équivalence entre AFD et ɛ-afn
Définitions Automate fini non-déterministe Un automate fini non-déterministe (AFN) A est un quintuplet A = (Q, Σ, δ 0, q 0, F) où Q est un ensemble fini d états; Σ est un alphabet; q 0 Q est l état initial; F Q est l ensemble des états acceptants (ou finaux); δ : Q Σ 2 Q est la fonction de transition qui à un état et un symbol associe un ensemble d états.
Définitions Langage reconnu ˆδ est l extension de la fonction de transition δ aux mots définie par: ˆδ : Q Σ 2 Q (q, ɛ) {q} (q, xw) q δ(q,x) ˆδ(q, w) Soit A = (Q, Σ, δ, q 0, F) un AFN, le langage reconnu par A, noté (A), est défini par (A) = {w ˆδ(q 0, w) F }
Équivalence entre AFD et AFN Équivalence AFD/AFN Théorème Soient A N = (Q N, Σ, δ N, q 0, F N ) un AFN, et et A D = (Q D, Σ, δ D, {q 0 }, F D ) l AFD où Q D = 2 Q N F D = {S S Q N et F N Q N } δ D (S, a) = p S δ N(p, a) alors, (A N ) = (A D ).
Équivalence entre AFD et AFN Théorème Un langage est reconnu par un AFN si et seulement s il est reconnu par un AFD.
Définition 1 Introduction 2 Automates finis déterministes (AFD) 3 Automates finis non déterministes (AFN) Définitions Équivalence entre AFD et AFN 4 Automates finis non-déterministes avec ɛ-transitions (ɛ-afn) Définition Équivalence entre AFD et ɛ-afn
Définition Automate non-déterministe avec ɛ-transitions Un automate non-déterministe avec ɛ-transitions (ɛ-afn) est un quintuplet A = (Q, Σ, δ, q 0, F) dont les éléments ont la même interprétation qu un AFN à l exception de δ qui est une fonction de Q (Σ {ɛ}) 2 Q.
Définition ɛ-close(q) On définit ɛ-close(q) comme l ensemble des états atteignables à partir de q par une séquence, éventuellement vide, d ɛ-transitions. En d autres termes, c est le plus petit ensemble satisfaisant: q ɛ close(q); si p δ(ɛ, p ) et p ɛ close(q) alors p ɛ close(q).
Définition Langage reconnu ˆδ est l extension de la fonction de transition δ aux mots pour les ɛ-afn, définie par: ˆδ(q, ɛ) = ɛ close(q); soit {p 1,..., p k } = ˆδ(q, v) et {r 1,..., r m } = k i=1 δ(p i, a) alors ˆδ(q, va) = m i=1 ɛ-close(r i).
Équivalence entre AFD et ɛ-afn Équivalence ɛ-afn/afd Théorème Soient A E = (Q E, Σ, δ E, q 0, F E ) un ɛ-afn, et A D = (Q D, Σ, δ D, q D, F D ) un AFD où Q D = 2 Q E q D = ɛ close F D = {S S Q D ets F E } δ D (S, a) = m j=1 ɛ close(r j) dès que S = {p 1,..., p k } et {r 1,..., r m } = k i=1 δ E(p i, a). alors (A E ) = (A D ).
Équivalence entre AFD et ɛ-afn Équivalence ɛ-afn/afd Théorème Un langage est reconnu par un ɛ-afn si et seulement s il est reconnu par un AFD.