Cours : Automates, langages et logique
Fiche de Cours : Automates, langages et logique
Section titled “Fiche de Cours : Automates, langages et logique”Niveau: ** Deuxième année (CPGE MPI)
Matière : Informatique
1. Introduction aux langages et automates finis
Section titled “1. Introduction aux langages et automates finis”1.1. Vocabulaire des langages formels
Section titled “1.1. Vocabulaire des langages formels”- Alphabet () : Ensemble fini et non vide de symboles (ou lettres).
- Mot () : Suite finie de symboles d’un alphabet . La longueur d’un mot , notée , est le nombre de symboles qui le composent. Le mot vide est noté (avec ).
- Langage () : Sous-ensemble de l’ensemble de tous les mots possibles sur l’alphabet , noté . Ainsi, .
- Opérations sur les langages :
- Concaténation : .
- Étoile de Kleene : avec et .
1.2. Automates finis déterministes (AFD)
Section titled “1.2. Automates finis déterministes (AFD)”Un automate fini déterministe est un quintuplé où :
- est un ensemble fini d’états.
- est l’alphabet d’entrée.
- est la fonction de transition (totale).
- est l’état initial.
- est l’ensemble des états acceptants (ou finaux).
La fonction de transition s’étend naturellement aux mots par :
Un mot est reconnu (ou accepté) par si . Le langage reconnu par , noté , est l’ensemble des mots reconnus par .
2. Automates non déterministes et théorème de Kleene
Section titled “2. Automates non déterministes et théorème de Kleene”2.1. Automates finis non déterministes (AFN)
Section titled “2.1. Automates finis non déterministes (AFN)”Un automate fini non déterministe est un quintuplé où :
- ont la même signification que pour un AFD.
- est l’ensemble des états initiaux.
- est la fonction de transition (permettant des transitions spontanées et plusieurs choix possibles).
Théorème (Déterminisation par construction des sous-ensembles) : Pour tout AFN , il existe un AFD tel que .
Démonstration (Esquisse) : On pose , , , et pour tout et :
2.2. Langages rationnels et Théorème de Kleene
Section titled “2.2. Langages rationnels et Théorème de Kleene”- Langages rationnels (ou réguliers) : Ce sont les langages définis inductivement par :
- L’ensemble vide , les singletons et pour .
- Formés par union, concaténation et étoile de Kleene à partir de langages rationnels.
Théorème de Kleene : Un langage est reconnu par un automate fini si et seulement s’il est rationnel.
3. Minimisation des automates déterministes
Section titled “3. Minimisation des automates déterministes”Pour tout langage régulier, il existe un AFD unique à un isomorphisme près ayant un nombre minimal d’états.
3.1. Équivalence de Nerode
Section titled “3.1. Équivalence de Nerode”Soit . On définit la relation de Myhill-Nerode sur par :
- est une congruence à droite.
- Théorème de Myhill-Nerode : est reconnaissable par un automate fini si et seulement si est d’indice fini (possède un nombre fini de classes d’équivalence). De plus, l’indice de est le nombre minimal d’états de tout AFD reconnaissant .
3.2. Algorithme de Moore (Raffinement de partitions)
Section titled “3.2. Algorithme de Moore (Raffinement de partitions)”L’algorithme de minimisation procède par calculs successifs de relations d’indiscernabilité à étapes :
- Initialisation () : Séparer en deux blocs : et .
- Étape inductive () : Deux états et d’un même bloc de sont séparés si pour un symbole , leurs successeurs and appartiennent à des blocs différents dans .
- Arrêt : Lorsque . Les blocs obtenus forment les états de l’automate minimal.
4. Logique du premier ordre et relations avec les automates
Section titled “4. Logique du premier ordre et relations avec les automates”4.1. Logique monadique du second ordre (MSO) et
Section titled “4.1. Logique monadique du second ordre (MSO) et FO[<]\text{FO}[<]FO[<]”Les mots sur un alphabet peuvent être vus comme des structures logiques finies : un domaine représentant les positions des lettres, une relation d’ordre , et des relations unaires vraies si la lettre à la position est .
- Logique du premier ordre sur les mots () : Permet de quantifier sur les positions (variables ). Exprimable : “il existe une position telle que…”.
- Théorème de Büchi-Elgot-Trakhtenbrot : Un langage de mots est reconnaissable par un automate fini si et seulement s’il est définissable en MSO (Logique Monadique du Second Ordre).
- Pour la logique du premier ordre seule, le théorème de Schützenberger caractérise les langages reconnaissables par des automates sans cycle (compteurs) : ce sont exactement les langages sans étoiles (star-free languages), reconnaissables par des monoïdes apériodiques.