Automate Avancé Olivier Carton Étudiant : Colin González
Table des matières 1 Introduction 2 1.1 Définitions............................... 2 1.2 Opérations sur les langages..................... 3 1.3 Langages rationnels.......................... 3 2 Automates 4 2.1 Représentation des automates.................... 4 2.2 Passage d une expression rationnelle à un automate........ 5 2.3 Automate deterministe........................ 5 2.4 Minimisation d automate...................... 6 2.5 Lemme de l étoile........................... 6 2.6 Grammaire.............................. 6 2.6.1 Arbre de dérivation..................... 6 2.6.2 Grammaire réduites..................... 7 2.7 Automate à pile............................ 7 2.8 Mots infinis.............................. 7 2.8.1 Examples........................... 8 2.8.2 Opérations.......................... 8 1
Chapitre 1 Introduction 19 janvier 2016 Plan Automate sur les mots finis Grammaires Automates sur les mots infinis Bibliographie Livre du prof. Evaluation Partiel 1/2 + Examen 1/2 1.1 Définitions Aplhabet : ensemble fini de symboles. Exemple : {0, 1}, lettres de l alphabet, {a, b} Mots : suite finie de symboles. Exemple : A = {a, b, c} ; w = a, b, c abc; aaabb; abbc, ε de taille 0 Longueur : pour un mot w w Notations : ensemble de los mots finis sur A : A Exemple : sur A = {a, b}, A = {ε, a, b, aa, ab, ba, bb} Concaténation : Soient deux mots u, v u.v uv de plus u.v = u + v et (u.v).w = u.(v.w) L élément neutre est ε, c est une fonction associative. Le monoïde libre (A,., ε) Exemple : u = aab, v = ba uv = aabba; ε.u = u.ε = u Ensembles de mots : un langage 2
Exemples :, {a, aba}, A, aa, B = { w = 0 mod 2 w} 1.2 Opérations sur les langages union K L = K + L concaténation K ensemble de mots paires, L ensemble de mots impaires K.L = KL = {uv u K, v L} KL = { mots de longueur impaire} LK = { mots de longueur impaire} KK = { mots de longueur paire} LL = { mots de longueur impaire}\ε étoile itération convention pour n = 0 ε L L n L n = {u 1, u 2,..., u n u i n L} L = {u u L} L 2 = {u 1, u 2 u 1, u 2 L} L 3 = {u 1, u 2, u 3 u 1, u 2, u 3 L} 1.3 Langages rationnels Tous les langages qu on peut obtenir à partir des langages, {ε}, {a} pour a A et pour les opérations +,., Exemple : Pour A = {a, b}, le langes des mots paire = (ab, ba, aa, bb), les mots de longueur impaire (A 2 ).A 3
Chapitre 2 Automates 2.1 Représentation des automates Par un graphe ou une table de transition. Table de transition Etats initiaux I = {2}, états finaux F = {1} Etats Transitions 1 (a,2) 2 (b,1) ;(a,2) Chemin Une suite de transitions consécutives, la longueur d un chemin est le nombre de transitions. 1 a 2 b 1 a 2 un chemin de longueur 3. Convention q Q q est une chemin de longuer 0. Un chemin acceptant est acceptant si le premier état est initiale et le dernier est final. Étiquette d un chemin : mot. 4
2.2 Passage d une expression rationnelle à un automate 26 janvier 2016 automate normalisé méthode de Glushkov def A_normalise : 1 un s e u l e t a t i n i t i a l e i 1 un s e u l e t a t f i n a l e f pas de t r a n s i t i o n revenant sur i pas de t r a n s i t i o n partant de f Remarque : Si A normalisé alors ε L(A) Construction : par induction sur l expression : ε A L L\{ε} 2.3 Automate deterministe 2 février 2016 Définition : un automate (Q, A, E, I, F ) est deterministe si I = 1 et que qu en partant d un état q 0 il n existe qu un seul chemin en lisant x A. ie q n a q n+1 et q 0 a q n+2 n est pas possible. Tout automate déterministe peut être déterminisé par la méthode suivante. Pour obtenir l automate déterministe A d d un automate A représenté par Q d = 2 Q tout les ensembles d états I d = {I} l ensemble des état initiaux F d = {P Q : P F } ensemble contenant au moins un état final E d = p a p ; p = {q : p P p a q} Passage au complément A L = L(A) ensemble des mots acceptés A ensemble des mots non-acceptés 5
2.4 Minimisation d automate Il s agit de fusionner des états équivalents d un automate. Futur d un état : l ensemble des mots acceptés en prenant cet état comme état initiale. 2.5 Lemme de l étoile 9 février 2016 Propriété : soir L A Si L est rationnel, alors il existe un entier n tel que f A on a, Si f L et f n alors f = u.v.w u, v, w A, v ε et uv w L = {u.v k.w k 0} Utilisation : L = {a k b k k 0} = {ε, ab, aabb, aaabbb,...} L n est pas rationnel, on va vérifier que ce langage L ne vérifie pas la propriété du lemme de l étoile. On veut donc vérifier que pour tous les entiers n il existe un mot f tel que f, f L et f ne peut pas pas être factorisé f = u.v.w, v ε et u.v.w L Propriété du lemme de l étoile fort : Si L et rationnel, alors il existe un entier n tel que : f A Si f = u.v 1.v 2 v n.w alors i < τ u.v 1...v i (v i+1...v j ) v j+1...v n w L où v, w A, v i A + et f L. 2.6 Grammaire 16 février 2016 Définition : Une grammaire est une uplet (A, V, B) où A est un alphabet terminal A, V un alphabet de variable et P un ensemble de règles. Chaque règle a la forme X w où X V et w (V +A) 2.6.1 Arbre de dérivation C est une arbre dont les noeuds sont étiquetés : un noeud interne variable (V ) feuille un lettre de l alphabet (A) pour chaque noeud interne tous les fils sont obtenu par l application d un règle. 6
Notation : L G (X) ensemble des mots de feuille des arbres de dérivation de G ayant X à la racine. 2.6.2 Grammaire réduites Définition : G = (A, V, P ) est réduite par rapport à une variable S (un axiome). X V L G (X) X V ne donnent pas X. 2.7 Automate à pile 1er mars 2016 Automates expression rationnelles = langages rationnels. Automates à pile grammaires = langages algébriques. idée générale Q = {q 1,..., q n } avec une pile. Certaines transitions ajoutent des symboles dans la pile d autres dépilent les symboles. Définition Un automate à pile est constitué de : un ensemble fini d états Q avec un état initiale q 0 un alphabet d entrée A un alphabet de pile Z avec un symbole initial z 0 un ensemble de transitions p, z y q, h avec p, q Q, z Z, y A {ε}, h Z Configuration : Une paire (q, w) ou q Q et w Z Étape de calcul : C y C où C, C une configuration. C = (p, zw) et C = (q, hw) et p, z y q, h une transition. Un calcul est donc une suite d étape de calcul. Calcul acceptant (plusieurs conventions) États finaux F Q C n si q n F ou si la pile est vide et C = (q n, w n ) et si w n = ε ou encore état finale + pile vide, z 0 Z C n = (q n, w n ) si w n Z 0 Z 2.8 Mots infinis 15 mars 2016 Soit un alphabet A, un mot infini x est une suite (non finie) de lettres (symboles) de A : a 0, a 1, a 2... On note A ω l ensemble des mots infinis sur A. 7
Mots périodiques x = uuu... où u A = u ω Mots ultimement périodiques : x = uvvv = uv ω 2.8.1 Examples A = {a} x = aaa = a ω A = {a, b} x = aaa = a ω x = bbb = b ω x = ababab = ab ω x = baabaabaa = baa ω x = aaabababa = aaa(ba ω ) x = ababbabbbab 4 a = abab 2 ab 3 ab 4 = a = non-périodiques. 2.8.2 Opérations Concaténations d un mot fini et d un mot infini. u A x A ω on a ux A ω 8