Automtes Automtes à étts fnis
Automtes à étts fnis Pln Représenttion des utomtes (FSA) Défnition formelle (DFA) Équivlence DFA / NFA / ε-nfa Licence Informtique L1 Automtes 2 / 30
Automtes à étts fnis Pln Représenttion des utomtes (FSA) Défnition formelle (DFA) Équivlence DFA / NFA / ε-nfa Licence Informtique L1 Automtes 3 / 30
Automtes à étts fnis Représenttion des utomtes (FSA) Automte à étts fnis Finite Stte Automton (FSA) Mchine strite, issue des trvux de A. Turing Éléments de l'utomte Une ensemle fni d'étts possiles Un ensemle fni de symoles en entrées Une fonction de trnsition entre étts Représenttions Digrmmes de trnsition Tles de trnsition Nottions formelles Licence Informtique L1 Automtes 4 / 30
Automtes à étts fnis Représenttion des utomtes (FSA) Digrmmes de trnsition Représenttion «grphique» Grphe orienté étiqueté : Nœuds : étts de l'utomte Étiqueté pr les noms des étts (générlement q x : q 1, q 2, q 3,...) Étt fnl : doule cercle Arcs orientés : trnsitions de l'utomte Étiqueté pr les symoles (,, c, d,...) Étt initil : mrqué pr un rc sns nœud d'origine q 1 q 2 q 3 c d q 4 Licence Informtique L1 Automtes 5 / 30
Automtes à étts fnis Représenttion des utomtes (FSA) Digrmmes de trnsition (suite) Pour l lisiilité, lorsque deux rcs de même orienttion sont possiles entre deux nœuds, ils sont fusionnés (disjonction) :, Un rc peut «oucler» un étt sur lui-même : Des trnsitions peuvent prtir de l'étt fnl : Licence Informtique L1 Automtes 6 / 30
Automtes à étts fnis Représenttion des utomtes (FSA) Digrmmes de trnsition (suite) Les trnsitions correspondent à l concténtion On «suit» les rcs pour voir quel lngge est ccepté : q 1 q 2 c,e d q 4 L = {c, e, d, d q 3 Le lngge n'est ps forcément fni : q 1 q 2 q 3 d c,e q 4 L = {c, e, d, c, e, d, c, e, d... Licence Informtique L1 Automtes 7 / 30
Automtes à étts fnis Représenttion des utomtes (FSA) Digrmmes de trnsition (suite) Peuvent être mis intuitivement (formellement ussi) en correspondnce vec des expressions régulières R =, R = + c d R = +cd c R = * c Licence Informtique L1 Automtes 8 / 30
Automtes à étts fnis Représenttion des utomtes (FSA) Tle de trnsitions Équivlente à l représenttion pr digrmme de trnsitions Étts en lignes, symoles en colonnes Ligne de l'étt initil mrqué pr une fèche Ligne de l'étt fnl mrqué pr une étoile * Contenu décrit les trnsitions depuis un étt / symole c d q 2 c q 1 q 2 Ø Ø Ø q 2 q 3 q 2 q 4 Ø q 1 q 4 d q 3 q 3 Ø q 1 Ø q 4 * q 4 Ø Ø Ø Ø Licence Informtique L1 Automtes 9 / 30
Automtes à étts fnis Pln Représenttion des utomtes (FSA) Défnition formelle (DFA) Équivlence DFA / NFA / ε-nfa Licence Informtique L1 Automtes 10 / 30
Automtes à étts fnis Défnition formelle (DFA) Nottions pour un utomte «déterministe» (DFA) Un ensemle fni d'étts Nottion : Q = {q 1, q 2, q 3... Un ensemle fni de symoles (lphet) Nottion : Σ = {,, c, d... Une fonction de trnsition qui prend en prmètre un étt et un symole et qui renvoie un étt Nottion : δ(q i, ) = q j («signture» δ : Q Σ Q) Un étt initil Nottion : q 0 Q Un ensemle d'étts fnux Nottion : F Q Licence Informtique L1 Automtes 11 / 30
Automtes à étts fnis Défnition formelle (DFA) Automte à étts fnis Défni comme le quintuplet : A = (Q, Σ, δ, q 0, F) Défnition équivlente ux digrmmes et tles de trnsition Repose sur l défnition de l fonction de trnsition δ, souvent défnie pr extension (en listnt les cs possiles) L fonction peut renvoyer Ø (pr ex. δ(q 1, d) = Ø) Défnition de l fonction de trnsition «étendue» Fonction qui prend un mot en entrée et utilise δ de l'utomte Nottion (α Σ * ) : δ(q i, α) = q j («signture» δ : Q Σ * Q) Défnie récursivement pr décomposition du mot w : Si w = ε lors δ(q i, ε) = { q i Si w = x. tels que et x Σ * et Σ lors δ(q i, w) = δ( δ(q i, x), ) Licence Informtique L1 Automtes 12 / 30
Automtes à étts fnis Défnition formelle (DFA) Lngge reconnu pr un utomte déterministe Ensemle des mots tels que l fonction de trnsition étendue ppliquée à l 'étt initil et u mot conduit à un étt fnl : L(A) = { w Σ * δ(q 0, w) F Théorème de Kleene : pr défnition, le lngge reconnu pr un utomte à étts fnis (NFA) est régulier (ou rtionnel) Avntges et limites des utomtes à étts fnis (FSA) Algorithmes rpides pour implémenter les FSA Impossile de «compter» dns le cs générl Ps d'utomte qui décrive un mot ynt utnt de que de Ps d'utomte pour reconnître une expression rithmétique ien formée (nécessité de recourir à des grmmires) Licence Informtique L1 Automtes 13 / 30
Automtes à étts fnis Pln Représenttion des utomtes (FSA) Défnition formelle (DFA) Équivlence DFA / NFA / ε-nfa Licence Informtique L1 Automtes 14 / 30
Automtes à étts fnis Types d'utomtes Automtes à étts fnis FSA : Finite Stte Automt Automtes à étts fnis déterministes DFA : Determinist Finite stte Automt Automtes à étts fnis non-déterministes NFA : Non-determinist Finite stte Automt Automtes à étts fnis non-déterministes vec possilité de trnsitions ε (mot vide) ε-nfa : Non-determinist Finite stte Automt with ε trnsitions Tous peuvent être représentés à l'ide des digrmmes de trnsition, tles de trnsition, nottions formelles Licence Informtique L1 Automtes 15 / 30
Automtes à étts fnis Déterminisme : requiert que l'utomte soit dns un étt unique («déterminé») près voir lu n symoles Automtes non-déterministes (NFA) Non-déterminisme : l'utomte peut-être dns plusieurs étts, «simultnément» près voir lu n symoles Attention : un utomte non-déterministe n'implique ps que l'on ne «sche» ps dns quels étts il est (u contrire) Prticulièrement utile lorsque l'on ne sit ps «à l'vnce» quel étt fnl l'utomte tteindr (hypothèses) Fcilité de représenttion / progrmmtion GPS : une voiture se dirige vers Pris, mis on ne connît ps l destintion fnle (Orléns, Strsourg) Prédiction SMS : un utilisteur tpe le déut d'un mot, mis plusieurs hypothèses sont possiles pour le mot qu'il veut écrire Licence Informtique L1 Automtes 16 / 30
Automtes à étts fnis Fonction de trnsition d'un NFA A prtir d'un étt et d'un symole : plusieurs étts possiles Nottion : δ(q i, ) = R Q («signture» δ : Q Σ Q * ) Pr ex. δ(q i, ) = { q j, q k, q l Peut ussi être l'ensemle vide : δ(q i, ) = Ø Diférence de représenttions DFA / NFA Digrmme de trnsitions Tle de trnsitions Nottion formelle DFA Pour chque pire (étt, symole), u mximum un rc sortnt Les cses de l tle contiennent un étt ou Ø L fonction de trnsition renvoie u mximum un étt NFA Possiilité de plusieurs rcs sortnt pr pire (étt, symoles) Les cses de l tle contiennent un ensemle d'étts L fonction de trnsition peut renvoyer plusieurs étts Licence Informtique L1 Automtes 17 / 30
Automtes à étts fnis Diférence de représenttions DFA / NFA (suite) Soit Σ = {,, comment représenter un utomte qui reconnît tous les mots se terminnt pr? DFA q 1 q 0 q 1 q 0 q 1 q 1 q 2 q 0 q 2 * q 2 q 1 q 0, NFA q 0 q 1 q 2 q 0 { q 0, q 1 { q 0 q 1 { { q 2 * q 2 Ø Ø Licence Informtique L1 Automtes 18 / 30
Automtes à étts fnis Fonction de trnsition étendue d'un NFA A prtir d'un étt et d'un mot, plusieurs étts possiles Fonction qui prend un mot en entrée et utilise δ du NFA Nottion (α Σ * ) : δ(q i, α) = R Q («signture» δ : Q Σ * Q * ) De même, défnition récursive pr décomposition du mot w : Si w = ε lors δ(q i, ε) = { q i Si w = x. tels que x Σ *, Σ et R = δ(q i, x) lors δ(q i, w) = r R δ(r, ) ou (équivlent) : δ(q i, w) = qj δ(qi, x) δ(q j, ) Lngge reconnu pr un NFA Mots w tels que δ(q 0, w) contienne u moins un étt fnl L(A) = { w Σ * δ(q 0, w) F Ø Licence Informtique L1 Automtes 19 / 30
Automtes à étts fnis Pr ex. soit l'utomte ci-dessous et w =, q 0 q 1 q 2 q 0 { q 0, q 1 { q 0 q 1 Ø { q 2 δ(q 0, ) = {q 0 * q 2 Ø Ø δ(q 0, ) = p {q0 δ(p, ) = δ(q 0, ) = {q 0, q 1 δ(q 0, ) = p {q0, q1 δ(p, ) = δ(q 0, ) δ(q 1, ) = {q 0, q 1 δ(q 0, ) = p {q0, q1 δ(p, ) = δ(q 0, ) δ(q 1, ) = {q 0, q 2 δ(q 0, ) = p {q0, q2 δ(p, ) = δ(q 0, ) δ(q 2, ) = {q 0, q 1... δ(q 0, ) = {q 0, q 2 donc δ(q 0, ) F = {q 2 Ø et w L(A) Licence Informtique L1 Automtes 20 / 30
Automtes à étts fnis Automtes vec trnsitions ε (ε-nfa) Trnsition ε : trnsitions sur le mot vide ucun symole L trnsition se rélise systémtiquement Fcilité supplémentire de représenttion / progrmmtion Lorsque des prties sont «optionnelles» Tout utomte qui comporte une trnsition ε est nondéterministe (peut-être dns plusieurs étts simultnément) Pr ex., les mots c ou c : q 1 q 2 q 1 c q 0 c q 3 q 0 ε q 2 c q 3 NFA ε-nfa Licence Informtique L1 Automtes 21 / 30
Automtes à étts fnis Fonction de trnsition d'un ε-nfa Identique à celle du NFA, mis en tennt compte des trnsitions ε comme élément pour réliser une trnsition Le mot-vide ε n'est ps nécessirement un élément de l'lphet Σ Nottion : δ(q i, ) = R Q («signture» δ : Q Σ {ε Q * ) Fermeture (trnsitive) pr trnsition ε Fermeture trnsitive (clôture, lgère) éléments que l'on peut tteindre en utilisnt un opérteur donné récursivement Défnition d'une fonction récursive «epsclos» : Pour tout q i Q, q i epsclos(q i ) Pour tout q i Q, si δ(q i, ε) = R Q lors R epsclos(q i ) On «suit» toutes les trnsitions ε possiles, récursivement Licence Informtique L1 Automtes 22 / 30
Automtes à étts fnis Pr ex. : q 2 ε q 4 ε q 0 q ε q 1 3 q 5 epsilonclosure(q 0 ) = {q 0 epsilonclosure(q 1 ) = {q 1, q 3 epsilonclosure(q 2 ) = {q 2, q 1, q 3 epsilonclosure(q 3 ) = {q 3 epsilonclosure(q 4 ) = {q 4, q 2, q 1, q 3 epsilonclosure(q 5 ) = {q 5 Licence Informtique L1 Automtes 23 / 30
Automtes à étts fnis Fonction de trnsition étendue d'un ε-nfa Même pproche que pour un NFA Fonction qui prend un mot en entrée et utilise δ du ε-nfa Nottion (α Σ * ) : δ(q i, α) = R Q («signture» δ : Q Σ * Q * ) Trnsitions tiennent compte des trnsitions ε vec epsclos De même, défnition récursive pr décomposition du mot w : Si w = ε lors δ(q i, w) = epsclos(q i ) Si w = x. tels que x Σ *, Σ et R = δ(q i, x) lors δ(q i, w) = r R s δ(r, ) epsclos(s) ou (équivlent) : δ(q i, w) = qj δ(qi, x) qk δ(qj, ) epsclos(q k ) Lngge reconnu pr un ε-nfa (comme pour NFA) L(A) = { w Σ * δ(q 0, w) F Ø Licence Informtique L1 Automtes 24 / 30
Automtes à étts fnis Pr ex. : q 2 ε q 4 ε q 0 q ε q 1 3 q 5 δ(q 0, ) = {q 2, q 1, q 3 δ(q 0, ) = {q 1, q 3 δ(q 0, ) = {q 5, q 4, q 2, q 1, q 3 = δ(q 0, ) = δ(q 0, ) δ(q 0, ) = Ø δ(q 0, ) = {q 5 = δ(q 0, ) = δ(q 0, ) = δ(q 0, ) Licence Informtique L1 Automtes 25 / 30
Automtes à étts fnis Pln Représenttion des utomtes (FSA) Défnition formelle (DFA) Équivlence DFA / NFA / ε-nfa Licence Informtique L1 Automtes 26 / 30
Automtes à étts fnis Équivlence DFA / NFA / ε-nfa Les utomtes reconnissent des lngges Représenttion de l'utomte plus ou moins «dense» Distinction entre DFA, NFA et NFA Fonctions de trnsitions Nomre d'étts tteints depuis un étt en consommnt un symole Le lngge reconnu pr un utomte ne dépend ps des étts de l'utomte Plusieurs utomtes possiles pour un même lngge Équivlence des utomtes (lngges reconnus) Automtes DFA et NFA Automtes NFA et ε-nfa Licence Informtique L1 Automtes 27 / 30
Automtes à étts fnis Équivlence DFA / NFA / ε-nfa Équivlence DFA / NFA Tout DFA peut-être considéré comme un NFA Soit un NFA, N = (Q N, Σ N, δ N, q N0, F N ) Il existe un DFA, D = (Q D, Σ D, δ D, q D0, F D ) tel que L(D) = L(N) Même lphet (Σ D = Σ N ), même étt initil (q D0 = q N0 ) On construit Q D comme l'ensemle des sous-ensemle de Q N Pr ex. si Q N = {q 0, q 1 lors Q D = {{q 0, {q 1, {q 0 q 1 Étts fnux F D : ceux qui sont construits vec un étt fnl de F N F D = {q Di Q D {q Ni q Di F N Ø Fonction de trnsition δ D de D qui, à prtir d'un étt de Q D comme construction de Q N renvoie vers une utre construction de Q N : δ D (q Di, ) = { qnj qdi δ N (q Nj, ) Licence Informtique L1 Automtes 28 / 30
Automtes à étts fnis Équivlence DFA / NFA / ε-nfa Équivlence DFA / NFA (suite) Preuve sur l longueur du mot w = x. Supposons que : δ D (q D0, x) = δ N (q N0, x) = Q Pr défnition du NFA : Licence Informtique L1 δ N (q N0, x.) = qnj δ(qn0, x) δ(q Nj, ) = qnj Q δ N (q Nj, ) Et pr construction du DFA : δ D (q Di, ) = { qnj qdi δ N (q Nj, ) δ D (q D0, x.) = δ D (δ D (q D0, x), ) = δ D (Q, ) = { qnj Q δ N (q Nj, ) Alors δ N (q N0, x.) = qnj Q δ N (q Nj, ) = δ D (q D0, x.) Récursivité : le DFA et le NFA outissent ux mêmes étts, mis dns le cs du DFA c'est «pr construction» Pour tout NFA, il est possile de construire un DFA qui reconnîtr le même lngge. Automtes 29 / 30
Automtes à étts fnis Équivlence DFA / NFA / ε-nfa Équivlence NFA / ε-nfa Tout NFA peut-être considéré comme un ε-nfa Soit un ε-nfa, E = (Q E, Σ E, δ E, q E0, F E ) Il existe un NFA, N = (Q N, Σ N, δ N, q N0, F N ) tel que L(N) = L(E) Même lphet (Σ N = Σ E ) On construit Q N comme l'ensemle des sous-ensemle de Q E Étt initil construit q N0 = {epsclos(q E0 ) Étts fnux F N : construits vec un étt fnl de F E F N = {q Ni Q N {q Ei q Ni F E Ø Fonction de trnsition δ N de N qui, à prtir d'un étt de Q N comme construction de Q E renvoie vers une utre construction de Q E : δ N (q Ni, ) = { qej qni qnk δe(qni, ) epsclos(q Nk ) Licence Informtique L1 Automtes 30 / 30